parser: fix `extension static inline` in bits/byteswap.h
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.1. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015, 2018 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.1"
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__ && ! defined __ICC && 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 161
311 /* YYLAST -- Last index in YYTABLE. */
312 #define YYLAST 7687
313
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
317 #define YYNNTS 142
318 /* YYNRULES -- Number of rules. */
319 #define YYNRULES 630
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 935
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) (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 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, 1158, 1159, 1160,
427 1161, 1162, 1163, 1167, 1171, 1172, 1176, 1177, 1181, 1182,
428 1189, 1190, 1194, 1201, 1212, 1219, 1227, 1251, 1279, 1286,
429 1297, 1343, 1384, 1399, 1402, 1405, 1411, 1414, 1420, 1435,
430 1438, 1467, 1475, 1503, 1508, 1516, 1526, 1536, 1539, 1543,
431 1549, 1563, 1580, 1583, 1589, 1596, 1606, 1613, 1616, 1622,
432 1627, 1635, 1639, 1643, 1647, 1651, 1655, 1662, 1666, 1670,
433 1674, 1678, 1682, 1688, 1692, 1699, 1702, 1714, 1718, 1722,
434 1729, 1742, 1755, 1768, 1771, 1778, 1779, 1783, 1786, 1789,
435 1792, 1798, 1802, 1809, 1812, 1815, 1830, 1831, 1832, 1833,
436 1837, 1840, 1846, 1847, 1853, 1856, 1862, 1863, 1867, 1868,
437 1878, 1881, 1888, 1893, 1898, 1908, 1911, 1917, 1920, 1926,
438 1933, 1940, 1947, 1948, 1952, 1953, 1954, 1955, 1959, 1960,
439 1961, 1962, 1963, 1967, 1970, 1976, 1979, 1982, 1985, 1988,
440 1994, 1998, 2006, 2007, 2011, 2018, 2021, 2024, 2027, 2031,
441 2034, 2040, 2044, 2052, 2059, 2064, 2072, 2080, 2081, 2082,
442 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2093, 2096, 2102,
443 2105, 2111, 2112, 2116, 2119, 2125, 2128, 2134, 2141, 2145,
444 2152, 2155, 2158, 2164, 2171, 2174, 2177, 2184, 2189, 2197,
445 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2208, 2211, 2217,
446 2220, 2226, 2233, 2234, 2238, 2245, 2248, 2254, 2262, 2265,
447 2271
448 };
449 #endif
450
451 #if YYDEBUG || YYERROR_VERBOSE || 1
452 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
453 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
454 static const char *const yytname[] =
455 {
456 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
457 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
458 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
459 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
460 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
461 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
462 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
463 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
464 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
465 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
466 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
467 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
468 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
469 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
470 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
471 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
472 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
473 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
474 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
475 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
476 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
477 "$accept", "binary_op_token", "unary_op_token", "name_token",
478 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
479 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
480 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
481 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
482 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
483 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
484 "cpp_macro_call_arg_list", "constant", "impl_def_val",
485 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
486 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
487 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
488 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
489 "decl_int_type", "int_signed_types", "signed_short_types",
490 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
491 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
492 "ignored_decl", "ignored_decl_qualifiers", "ignored_decl_body",
493 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
494 "decl_func_body", "decl_functor_body", "decl_anon_functor_body",
495 "decl_functor", "decl_anon_functor", "decl_func", "decl_args",
496 "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var", "decl_union",
497 "decl_struct", "decl_struct_args", "struct_args_block", "struct_args",
498 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
499 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
500 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
501 "struct_name", "optional_name", "optional_comma", "decl_layout",
502 "align_and_size", "array_size", "array_qualifier_token", "indirection",
503 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
504 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
505 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
506 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
507 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
508 "let_callback", "let_func", "let_func_token", "let_func_exps",
509 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
510 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
511 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
512 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
513 "byref", YY_NULLPTR
514 };
515 #endif
516
517 #define YYPACT_NINF -714
518 #define YYTABLE_NINF -629
519
520 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
521 STATE-NUM. */
522 static const short yypact[] =
523 {
524 494, -714, -714, -714, -714, -714, 99, -714, -714, -714,
525 541, -714, -714, -714, 742, 1371, 7421, 7421, 7421, 149,
526 50, -34, 112, -714, 237, -714, 188, 494, -714, -714,
527 -714, -714, -714, 6679, 597, -714, -714, -714, -714, 129,
528 219, -714, -714, -714, -714, 1629, 45, -714, -714, 75,
529 196, 204, -714, -714, -714, -714, 161, -714, 166, -714,
530 -714, -714, 7421, 7421, 7421, -714, -714, -714, 179, -714,
531 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
532 -714, 846, -714, -714, -714, -714, 209, 972, 972, 27,
533 -714, 972, 6453, 7421, 7421, 1742, 218, -714, -714, -714,
534 220, 7421, 215, 215, -714, -714, -714, 5436, -714, -714,
535 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
536 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
537 -714, -714, -714, -714, -714, -714, -714, -714, 59, -714,
538 -714, 59, 221, -714, -714, -714, -714, -714, 232, -714,
539 229, -714, 226, -714, 240, -714, 1855, 1371, 141, -714,
540 45, -714, -714, 42, 235, -714, -714, 242, 7421, 7,
541 -714, -714, -714, 269, -714, 136, -714, -714, -714, 135,
542 -714, 249, 258, 260, 1968, 1968, 7421, 85, -714, -714,
543 -714, 6905, 262, -714, 1481, -714, -714, -714, -714, -714,
544 -714, -714, -714, 1594, -714, -714, -714, -714, 1707, 1820,
545 -714, -714, -714, 1933, -714, -714, -714, -714, -714, -714,
546 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
547 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
548 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
549 -714, -714, -714, -714, -714, -714, 2046, 2159, 2272, 2385,
550 2498, -714, -714, -714, -714, -714, -714, -714, -714, -714,
551 -714, -714, -714, -714, -714, -714, 2611, -714, 2724, 2837,
552 2950, 3063, 3176, 3289, -714, 3402, -714, -714, 3515, 3628,
553 3741, 3854, 3967, 4080, 4193, 4306, 4419, 4532, 4645, 4758,
554 4871, 4984, 5097, 5210, -714, -714, -714, -714, -714, -714,
555 -714, 5323, 972, -714, -714, -714, -714, -714, -714, -714,
556 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
557 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
558 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
559 -714, 972, -714, -714, -714, -714, -714, -714, -714, 142,
560 6453, -714, -714, -714, -714, 7018, 6453, 267, 7550, -714,
561 61, -714, 89, -714, -714, -714, -714, 259, 266, 266,
562 68, 68, 272, -714, 85, 281, 283, -714, 285, -714,
563 -714, -714, 1338, -714, 268, 235, -714, -714, -714, -714,
564 -714, 312, -714, -714, 1224, -714, 301, -714, 103, 6679,
565 -714, 299, 115, 298, -714, -714, 131, 293, 300, -714,
566 6905, 6114, 6905, 7421, 6905, -714, -714, 23, -714, -714,
567 -714, -714, -714, 6340, -714, 302, -714, 7421, -714, -714,
568 303, 7550, 311, -714, -714, -714, -714, 6599, 316, -714,
569 6784, 7421, -714, -714, 6453, -714, -714, -714, -714, -714,
570 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
571 -714, -714, -714, 6453, 6453, 308, 1459, 6905, 6905, -714,
572 -714, -714, -714, 5662, 263, 255, -714, -714, -714, -714,
573 -714, -714, -714, 5549, -714, -714, 6340, -714, 7526, -714,
574 -714, 304, 7131, -714, -714, -714, -714, -714, -714, -714,
575 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
576 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
577 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
578 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
579 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
580 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
581 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
582 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
583 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
584 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
585 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
586 -714, -714, -714, -714, 1098, -714, 39, 309, 1968, 235,
587 278, 1629, 235, 284, 6340, 7421, 310, 305, 318, 7574,
588 313, 319, -714, 322, 339, 324, 333, 170, -714, 334,
589 336, -714, -714, -714, 6667, 6905, 7190, -714, 268, 335,
590 -714, -714, -714, 338, 7550, 340, 343, 7284, -714, 344,
591 1742, 337, -714, -714, 6566, 719, 7421, 215, 215, -714,
592 -714, 30, -714, -714, 347, -714, 311, 7574, -714, -714,
593 -714, -714, -714, -714, 346, 182, -714, 112, -714, -714,
594 -714, 33, 40, 41, 6886, -714, -714, 6340, 6340, -714,
595 268, 143, -714, -714, -714, 268, 185, -714, 349, -714,
596 -714, 351, 7574, -714, -714, 5775, -714, 6114, -714, 6905,
597 -714, 112, 6905, -714, 7421, 7303, -714, -714, -714, -714,
598 -714, 353, 345, -714, -714, -714, -714, 6453, 6453, 354,
599 -714, 63, 356, -714, 337, 266, 266, -714, 747, 360,
600 747, 358, 6340, -714, 7502, -714, 7421, 1968, -714, 6792,
601 235, 341, 235, 235, 165, 292, 203, 372, 7574, -714,
602 -714, -714, -714, 374, 6227, -714, 376, 6905, 189, -714,
603 378, 302, 379, 972, 7362, 7550, 7598, 388, 380, 382,
604 6905, 385, 356, 6905, 6905, -714, 747, -714, 112, 5662,
605 -714, 6340, 384, 386, -714, -714, 387, -714, -714, 372,
606 -714, -714, -714, 7303, -714, 390, 6340, 112, -714, 5888,
607 391, 394, -714, 321, -714, -714, -714, 393, 392, 405,
608 337, 397, -714, 402, -714, 62, -714, 7622, 403, 401,
609 235, 406, 112, 7122, 404, 408, -714, 409, -714, -714,
610 95, -714, 410, 412, -714, 6905, -714, 423, 1968, 417,
611 -714, 355, 422, 6340, 5775, 428, -714, 6114, -714, -714,
612 430, 411, 441, 337, 434, 435, 1968, 176, 6001, 7009,
613 305, -714, -714, -714, 421, 6227, -714, -714, 436, 438,
614 -714, 440, 444, 446, 449, 450, 439, -714, -714, 5775,
615 -714, 457, -714, 747, 452, 235, 112, 454, 6114, -714,
616 456, -714, 1968, -714, 453, -714, -714, -714, 461, 6001,
617 235, 462, -714, 463, -714
618 };
619
620 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
621 Performed when YYTABLE does not specify something else to do. Zero
622 means the default is an error. */
623 static const unsigned short yydefact[] =
624 {
625 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
626 386, 378, 282, 281, 0, 0, 0, 0, 503, 377,
627 0, 427, 628, 283, 0, 431, 0, 278, 279, 285,
628 284, 286, 290, 520, 0, 374, 380, 379, 385, 400,
629 412, 384, 287, 288, 289, 0, 417, 438, 440, 441,
630 0, 0, 452, 292, 291, 293, 0, 294, 0, 395,
631 390, 386, 0, 0, 0, 377, 432, 439, 422, 296,
632 307, 304, 306, 308, 309, 320, 317, 318, 315, 321,
633 316, 0, 319, 310, 311, 312, 0, 332, 332, 0,
634 300, 0, 0, 503, 503, 0, 0, 360, 365, 461,
635 364, 0, 511, 511, 33, 34, 616, 577, 24, 39,
636 38, 37, 35, 36, 32, 31, 25, 29, 28, 26,
637 27, 40, 585, 584, 582, 580, 581, 583, 579, 578,
638 586, 30, 614, 612, 611, 613, 610, 609, 381, 41,
639 42, 382, 383, 500, 544, 545, 546, 547, 0, 541,
640 0, 428, 0, 630, 0, 629, 386, 0, 0, 429,
641 417, 1, 280, 526, 513, 376, 462, 0, 521, 522,
642 524, 375, 402, 406, 404, 408, 401, 398, 413, 400,
643 399, 0, 0, 0, 453, 453, 0, 0, 381, 382,
644 383, 0, 0, 68, 43, 44, 45, 46, 47, 48,
645 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
646 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
647 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
648 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
649 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
650 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
651 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
652 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
653 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
654 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
655 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
656 157, 0, 332, 302, 297, 43, 52, 57, 58, 62,
657 106, 107, 105, 103, 104, 124, 126, 127, 128, 129,
658 130, 131, 160, 135, 136, 137, 138, 139, 140, 141,
659 142, 143, 144, 145, 146, 147, 148, 149, 150, 334,
660 305, 333, 298, 313, 314, 299, 301, 342, 343, 0,
661 0, 22, 23, 20, 21, 0, 0, 345, 303, 344,
662 381, 502, 382, 501, 361, 358, 366, 0, 0, 0,
663 0, 0, 0, 295, 0, 0, 0, 430, 0, 529,
664 528, 527, 516, 464, 520, 513, 523, 525, 407, 403,
665 409, 410, 405, 414, 0, 426, 0, 415, 387, 520,
666 458, 0, 0, 455, 456, 459, 0, 479, 505, 477,
667 0, 628, 0, 0, 0, 622, 623, 0, 553, 556,
668 555, 557, 558, 0, 559, 423, 424, 0, 421, 419,
669 0, 324, 325, 322, 335, 499, 498, 0, 0, 494,
670 0, 0, 340, 337, 347, 2, 3, 4, 5, 6,
671 7, 8, 9, 10, 11, 13, 12, 14, 15, 16,
672 17, 18, 19, 0, 0, 0, 0, 0, 0, 467,
673 466, 468, 465, 0, 0, 0, 359, 416, 490, 488,
674 487, 489, 518, 0, 519, 517, 0, 491, 0, 481,
675 492, 0, 0, 521, 463, 411, 186, 161, 162, 163,
676 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
677 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
678 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
679 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
680 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
681 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
682 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
683 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
684 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
685 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
686 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
687 271, 273, 436, 437, 0, 434, 0, 460, 453, 513,
688 0, 0, 513, 0, 0, 506, 0, 0, 0, 605,
689 0, 0, 604, 42, 0, 0, 0, 0, 625, 0,
690 0, 599, 530, 554, 0, 0, 326, 420, 520, 0,
691 495, 497, 336, 0, 349, 0, 348, 0, 338, 0,
692 0, 507, 369, 362, 370, 0, 371, 511, 511, 368,
693 367, 490, 356, 357, 0, 352, 354, 353, 531, 549,
694 550, 551, 552, 548, 0, 0, 535, 628, 540, 542,
695 543, 616, 24, 0, 0, 485, 515, 0, 0, 514,
696 520, 0, 433, 435, 418, 520, 0, 444, 0, 457,
697 442, 0, 480, 478, 476, 0, 560, 628, 603, 0,
698 539, 628, 0, 624, 0, 600, 597, 621, 425, 327,
699 330, 0, 328, 496, 493, 341, 346, 0, 0, 0,
700 363, 0, 472, 469, 507, 0, 0, 351, 0, 0,
701 0, 537, 0, 483, 0, 484, 0, 453, 450, 0,
702 513, 0, 513, 513, 490, 0, 31, 30, 566, 571,
703 567, 569, 570, 41, 0, 606, 617, 0, 0, 626,
704 616, 602, 0, 332, 0, 350, 339, 0, 508, 0,
705 0, 0, 472, 373, 372, 532, 0, 536, 628, 0,
706 482, 0, 0, 0, 451, 448, 0, 445, 443, 0,
707 568, 591, 577, 600, 592, 0, 0, 628, 572, 628,
708 0, 0, 627, 0, 323, 329, 331, 0, 0, 0,
709 507, 473, 470, 0, 533, 0, 538, 486, 0, 0,
710 513, 0, 628, 0, 587, 0, 619, 618, 607, 561,
711 0, 512, 0, 0, 474, 0, 471, 0, 453, 0,
712 449, 0, 0, 0, 0, 0, 608, 628, 615, 598,
713 0, 0, 0, 507, 0, 0, 453, 0, 593, 0,
714 491, 589, 564, 562, 588, 0, 576, 620, 0, 0,
715 475, 0, 0, 0, 0, 0, 594, 595, 573, 0,
716 563, 0, 509, 0, 0, 513, 628, 0, 628, 590,
717 0, 534, 453, 446, 0, 574, 596, 510, 0, 593,
718 513, 0, 447, 0, 575
719 };
720
721 /* YYPGOTO[NTERM-NUM]. */
722 static const short yypgoto[] =
723 {
724 -714, -339, -74, -14, -55, -714, -714, -714, 479, -714,
725 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
726 -714, -714, -80, -714, -283, -714, -714, -714, -302, -714,
727 -714, 352, -167, 28, -158, -178, -16, -19, -714, -714,
728 -714, 473, -714, -714, 348, -714, -714, -714, -714, 357,
729 -259, -714, -714, -179, -714, -714, 350, -714, -110, 491,
730 36, -4, 58, -714, -714, -714, -714, -180, -714, -113,
731 10, -33, -714, -714, 138, -348, -714, -282, -714, 14,
732 -714, -109, -333, -714, -71, -714, 81, -714, -441, -437,
733 137, -714, -710, -87, -376, -714, -371, -24, -714, 361,
734 -714, -714, 501, -714, -231, -665, -713, -714, -714, 514,
735 -714, 150, -352, -714, -373, -683, 117, -237, -714, -714,
736 -692, -714, -714, -345, -386, -714, -714, -714, -279, -714,
737 -408, -402, -397, -714, -714, -714, -714, -714, -714, -177,
738 -21, -685
739 };
740
741 /* YYDEFGOTO[NTERM-NUM]. */
742 static const short yydefgoto[] =
743 {
744 -1, 708, 496, 164, 349, 622, 26, 27, 28, 29,
745 30, 86, 87, 88, 89, 355, 90, 91, 92, 313,
746 741, 742, 350, 351, 368, 665, 666, 31, 684, 685,
747 32, 96, 671, 672, 673, 33, 34, 35, 36, 37,
748 38, 39, 40, 41, 177, 399, 402, 180, 42, 183,
749 686, 43, 192, 791, 44, 45, 623, 624, 625, 46,
750 47, 48, 99, 410, 50, 411, 51, 412, 413, 414,
751 415, 497, 53, 54, 480, 481, 675, 801, 841, 101,
752 418, 419, 639, 499, 500, 659, 449, 56, 102, 103,
753 143, 636, 752, 378, 393, 501, 167, 437, 169, 170,
754 391, 57, 58, 695, 696, 640, 697, 148, 698, 699,
755 700, 427, 428, 429, 891, 892, 893, 780, 781, 782,
756 139, 875, 894, 825, 905, 906, 430, 650, 792, 431,
757 907, 642, 140, 830, 857, 432, 433, 434, 647, 648,
758 644, 155
759 };
760
761 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
762 positive, shift that token. If negative, reduce the rule whose
763 number is the opposite. If YYTABLE_NINF, syntax error. */
764 static const short yytable[] =
765 {
766 166, 154, 138, 141, 142, 416, 409, 409, 352, 168,
767 52, 98, 435, 641, 55, 171, 379, 165, 366, 504,
768 68, 369, 651, 502, 643, 100, 312, 643, 441, 474,
769 477, 478, 761, 783, 52, 677, 356, 52, 627, 678,
770 784, 55, 779, 97, 802, 805, 67, 808, 188, 189,
771 190, 380, 442, 353, 381, 52, 163, 22, 49, 498,
772 652, -355, -387, -355, -355, 657, -387, 311, 49, -386,
773 11, 389, 714, -24, 762, 653, 150, 450, 367, 370,
774 372, 181, 49, 453, 824, 49, 730, 376, 798, 151,
775 -511, 98, 783, 844, 377, -511, -381, -504, 799, 479,
776 654, 828, 474, 49, 476, 100, -441, -461, 59, -461,
777 60, 474, 106, 878, 474, 420, 421, 422, 423, 424,
778 -387, 425, 426, 374, -382, -504, 867, -386, 65, 390,
779 864, 396, 653, 172, 173, 174, -387, -387, 175, 172,
780 173, 174, 400, 761, 175, 401, 354, 626, 629, 630,
781 687, 176, 144, 98, 395, 145, 153, 176, 436, 146,
782 704, 147, 854, 705, 632, 633, 52, 100, 445, 446,
783 182, 664, 417, 900, 447, 767, 768, 420, 421, 422,
784 423, 424, 783, 425, 426, 97, 448, 872, 161, 895,
785 667, 668, 67, 821, 822, 824, -490, 186, -490, -490,
786 921, 733, 187, 783, 734, 132, 133, 134, 135, 136,
787 137, -452, 910, 191, 49, 759, 760, 783, 770, 771,
788 821, 822, 832, 655, 895, 178, 4, 5, 184, 677,
789 371, 373, 443, 678, 677, 823, 185, 366, 678, 314,
790 369, 1, 2, 3, 4, 5, 6, 7, 8, 375,
791 377, 924, -452, 717, 9, 382, 720, -504, 144, 156,
792 383, 145, 384, 385, 387, 146, 11, 147, 689, 690,
793 691, 692, 693, 392, 394, 398, 122, 123, 124, 125,
794 126, 127, 128, 129, 130, 404, 366, 743, 694, 369,
795 406, 407, 366, 438, 475, 369, 444, 367, 674, 454,
796 688, 722, 476, 122, 123, 124, 125, 126, 127, 128,
797 129, 130, 483, 485, 486, 703, 487, 163, 505, 785,
798 157, 62, 63, 64, 65, 474, 158, 439, 474, 474,
799 643, 628, 631, 634, 635, 656, 655, 657, 661, 766,
800 669, 715, 718, 709, 769, 725, 367, 724, 721, 726,
801 728, 452, 367, 727, 729, 420, 421, 422, 423, 424,
802 159, 425, 426, 730, 731, 732, 735, 736, 744, 749,
803 503, 745, 751, 746, 764, 765, 166, 747, 757, 794,
804 366, 758, 772, 369, 773, 168, 793, 637, 797, 645,
805 800, 649, 778, 165, 815, 806, 817, 818, 809, 366,
806 366, 819, 369, 369, 826, 816, 827, 803, 804, 646,
807 829, -601, 833, 837, 839, 838, 842, 848, 860, 849,
808 850, 856, 852, 395, 858, 859, 861, 862, 658, 810,
809 863, 865, 643, 866, 869, 868, 898, 663, 874, 871,
810 367, 876, 881, 877, 679, 680, 882, 884, 716, 886,
811 409, 778, 887, 409, 888, 909, 474, 474, 879, 367,
812 367, 896, 729, 880, 795, 796, 899, 901, 902, 897,
813 911, 912, 98, 918, 870, 913, 687, 914, 847, 915,
814 643, 916, 920, 917, 922, 929, 100, 925, 711, 927,
815 676, 643, 674, 853, 930, 933, 934, 674, 1, 2,
816 3, 4, 5, 6, 7, 8, 162, 846, 754, 386,
817 926, 9, 750, 179, 713, 160, 10, 388, 719, 482,
818 843, 643, 152, 11, 12, 13, 723, 403, 660, 807,
819 397, 405, 643, 149, 484, 14, 919, 638, 820, 923,
820 889, 778, 904, 931, 851, 1, 2, 3, 4, 5,
821 6, 7, 8, 788, 932, 0, 0, 789, 9, 0,
822 0, 0, 778, 61, 0, 0, 0, 0, 0, 0,
823 11, 0, 0, 0, 0, 0, 778, 15, 16, 17,
824 18, 19, 20, 21, 0, 22, 0, 813, 0, 409,
825 755, 756, 0, 0, 0, 0, 0, 0, 0, 0,
826 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
827 23, 0, 0, 0, 9, 24, 0, 25, 0, 61,
828 0, 417, 738, 0, 0, 62, 63, 64, 65, 0,
829 0, 0, 0, 0, 503, 0, 0, 0, 0, 0,
830 0, 166, 740, 0, 0, 0, 0, 0, 0, 0,
831 168, 0, 0, 0, 0, 0, 0, 0, 165, 0,
832 0, 0, 376, 0, 66, 0, 98, 0, 0, 0,
833 0, 98, 0, 366, 366, 0, 369, 369, 0, 0,
834 100, 62, 63, 64, 676, 100, 503, 165, 885, 676,
835 409, 503, 0, 0, 0, 0, 786, 0, 0, 436,
836 0, 0, 436, 0, 0, 0, 903, 0, 409, 0,
837 787, 0, 0, 834, 0, 0, 0, 0, 0, 0,
838 646, 0, 0, 1, 2, 3, 4, 5, 6, 7,
839 8, 0, 0, 367, 367, 0, 9, 0, 0, 0,
840 0, 61, 928, 0, 409, 0, 0, 0, 11, 0,
841 144, 0, 812, 145, 831, 711, 753, 146, 0, 147,
842 689, 690, 691, 692, 693, 0, 0, 840, 0, 0,
843 679, 680, 69, 0, 0, 0, 0, 0, 0, 0,
844 836, 0, 0, 0, 0, 0, 0, 845, 0, 0,
845 436, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 93, 94, 18, 65, 0, 70, 71,
847 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
848 0, 82, 83, 84, 85, 0, 0, 0, 0, 0,
849 0, 0, 883, 0, 0, 0, 0, 0, 0, 0,
850 670, 890, 0, 0, 0, 0, 193, 0, 0, 194,
851 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
852 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
853 215, 216, 217, 218, 219, 220, 890, 221, 222, 223,
854 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
855 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
856 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
857 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
858 264, 265, 266, 267, 268, 269, 0, 270, 0, 271,
859 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
860 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
861 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
862 302, 303, 304, 0, 0, 305, 0, 306, 307, 308,
863 309, 310, 193, 0, 0, 315, 195, 196, 197, 198,
864 199, 200, 201, 202, 316, 204, 205, 206, 207, 317,
865 318, 210, 211, 212, 319, 214, 215, 216, 217, 218,
866 219, 220, 0, 221, 222, 223, 224, 225, 226, 227,
867 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
868 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
869 248, 249, 250, 251, 252, 253, 254, 255, 320, 321,
870 322, 323, 324, 261, 262, 263, 264, 265, 266, 267,
871 268, 269, 0, 270, 0, 271, 272, 273, 274, 275,
872 325, 277, 326, 327, 328, 329, 330, 331, 284, 332,
873 286, 287, 333, 334, 335, 336, 337, 338, 339, 340,
874 341, 342, 343, 344, 345, 346, 347, 348, 304, 0,
875 0, 305, 0, 306, 307, 308, 309, 310, 506, 0,
876 0, 507, 508, 509, 510, 511, 512, 513, 514, 515,
877 516, 517, 518, 519, 520, 521, 522, 523, 524, 525,
878 526, 527, 528, 529, 530, 531, 532, 533, 0, 534,
879 535, 536, 537, 538, 404, 712, 539, 540, 541, 542,
880 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
881 553, 554, 555, 556, 557, 558, 559, 560, 561, 562,
882 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
883 573, 574, 575, 576, 577, 578, 579, 580, 0, 581,
884 0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
885 591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
886 601, 602, 603, 604, 605, 606, 607, 608, 609, 610,
887 611, 612, 613, 614, 615, 0, 0, 616, 0, 617,
888 618, 619, 620, 621, 506, 0, 0, 507, 508, 509,
889 510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
890 520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
891 530, 531, 532, 533, 0, 534, 535, 536, 537, 538,
892 404, 0, 539, 540, 541, 542, 543, 544, 545, 546,
893 547, 548, 549, 550, 551, 552, 553, 554, 555, 556,
894 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
895 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
896 577, 578, 579, 580, 0, 581, 0, 582, 583, 584,
897 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
898 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
899 605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
900 615, 104, 0, 616, 0, 617, 618, 619, 620, 621,
901 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
902 108, 489, 0, 490, 0, 491, 359, 492, 0, 0,
903 493, 0, 0, 0, 0, 1, 2, 3, 4, 5,
904 6, 7, 8, 0, 0, 361, 362, 163, 9, 0,
905 0, 0, 0, 61, 0, 0, 0, 0, 363, 364,
906 11, 0, 0, 0, 109, 110, 111, 112, 113, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 494, 114, 0, 115, 116,
909 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
910 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
911 134, 135, 136, 137, 0, 93, 94, 18, 65, 0,
912 0, 0, 495, 1, 2, 3, 4, 5, 6, 7,
913 8, 0, 0, 0, 0, 0, 9, 0, 0, 0,
914 0, 61, 0, 0, -33, 0, 0, 0, 11, 0,
915 0, 0, 95, -33, 0, 0, 0, 0, -33, -33,
916 0, 0, 0, -33, 0, 0, -33, -33, -33, -33,
917 0, 0, 0, -33, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, -33, -33,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, -33, -33, 93, 94, 18, 65, -33, -33, -33,
921 -33, -33, 0, 0, 0, 0, 0, 0, 0, -33,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
923 0, -33, -33, -33, -33, -33, -33, 0, -33, 0,
924 670, -33, -33, -33, -33, -33, -33, -33, -33, -33,
925 -33, -33, -33, -33, -33, -33, -33, -34, 0, -33,
926 0, 0, 0, 0, 0, 0, -34, 0, 0, 0,
927 0, -34, -34, 0, 0, 0, -34, 0, 0, -34,
928 -34, -34, -34, 0, 0, 0, -34, 0, 0, 0,
929 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
930 8, -34, -34, 0, 0, 0, 9, 0, 0, 0,
931 0, 61, 0, 0, -34, -34, 0, 0, 11, 0,
932 -34, -34, -34, -34, -34, 0, 0, 0, 0, 0,
933 0, 0, -34, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, -34, 0, -34, -34, -34, -34, -34, -34,
935 0, -34, 0, 0, -34, -34, -34, -34, -34, -34,
936 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
937 -57, 0, -34, 62, 63, 64, 65, 0, 0, -57,
938 0, 0, 0, 0, -57, -57, 0, 0, 0, -57,
939 0, 0, -57, -57, -57, -57, 0, 0, 0, -57,
940 0, 0, 0, 0, 0, 0, 1, 2, 3, 4,
941 5, 6, 7, 8, -57, -57, 0, 0, 0, 9,
942 0, 0, 0, 0, 61, 0, 0, -57, -57, 0,
943 0, 11, 0, -57, -57, -57, -57, -57, 0, 0,
944 0, 0, 0, 0, 0, -57, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, -57, 0, -57, -57, -57,
946 -57, -57, -57, 0, -57, 0, 0, -57, -57, -57,
947 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
948 -57, -57, -57, -58, 0, -616, 93, 94, 18, 65,
949 0, 0, -58, 0, 0, 0, 0, -58, -58, 0,
950 0, 0, -58, 0, 0, -58, -58, -58, -58, 0,
951 0, 0, -58, 0, 0, 0, 0, 0, 0, 1,
952 2, 3, 4, 5, 6, 7, 8, -58, -58, 0,
953 0, 0, 9, 0, 0, 0, 0, 61, 0, 0,
954 -58, -58, 0, 0, 11, 0, -58, -58, -58, -58,
955 -58, 0, 0, 0, 0, 0, 0, 0, -58, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, -58, 0,
957 -58, -58, -58, -58, -58, -58, 0, -58, 0, 0,
958 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
959 -58, -58, -58, -58, -58, -58, -24, 0, -577, 62,
960 63, 64, 65, 0, 0, -24, 0, 0, 0, 0,
961 -24, -24, 0, 0, 0, -24, 0, 0, -24, -24,
962 -24, -24, 0, 0, 0, -24, 0, 0, 0, 0,
963 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
964 -24, -24, 0, 0, 0, 408, 0, 0, 0, 0,
965 61, 0, 0, -24, -24, 0, 0, 11, 0, -24,
966 -24, -24, -24, -24, 0, 0, 0, 0, 0, 0,
967 0, -24, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, -24, 0, -24, -24, -24, -24, -24, -24, 0,
969 -24, 0, 0, -24, -24, -24, -24, -24, -24, -24,
970 -24, -24, -24, -24, -24, -24, -24, -24, -24, -39,
971 0, -24, 62, 63, 64, 65, 0, 0, -39, 0,
972 0, 0, 0, -39, -39, 0, 0, 0, -39, 0,
973 0, -39, -39, -39, -39, 0, 0, 0, -39, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, -39, -39, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, -39, -39, 0, 0,
977 0, 0, -39, -39, -39, -39, -39, 0, 0, 0,
978 0, 0, 0, 0, -39, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, -39, 0, -39, -39, -39, -39,
980 -39, -39, 0, -39, 0, 0, -39, -39, -39, -39,
981 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
982 -39, -39, -38, 0, -39, 0, 0, 0, 0, 0,
983 0, -38, 0, 0, 0, 0, -38, -38, 0, 0,
984 0, -38, 0, 0, -38, -38, -38, -38, 0, 0,
985 0, -38, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, -38, -38, 0, 0,
987 0, 0, 0, 0, 0, 0, 0, 0, 0, -38,
988 -38, 0, 0, 0, 0, -38, -38, -38, -38, -38,
989 0, 0, 0, 0, 0, 0, 0, -38, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, -38, 0, -38,
991 -38, -38, -38, -38, -38, 0, -38, 0, 0, -38,
992 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
993 -38, -38, -38, -38, -38, -37, 0, -38, 0, 0,
994 0, 0, 0, 0, -37, 0, 0, 0, 0, -37,
995 -37, 0, 0, 0, -37, 0, 0, -37, -37, -37,
996 -37, 0, 0, 0, -37, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, -37,
998 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, -37, -37, 0, 0, 0, 0, -37, -37,
1000 -37, -37, -37, 0, 0, 0, 0, 0, 0, 0,
1001 -37, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 -37, 0, -37, -37, -37, -37, -37, -37, 0, -37,
1003 0, 0, -37, -37, -37, -37, -37, -37, -37, -37,
1004 -37, -37, -37, -37, -37, -37, -37, -37, -35, 0,
1005 -37, 0, 0, 0, 0, 0, 0, -35, 0, 0,
1006 0, 0, -35, -35, 0, 0, 0, -35, 0, 0,
1007 -35, -35, -35, -35, 0, 0, 0, -35, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, -35, -35, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, -35, -35, 0, 0, 0,
1011 0, -35, -35, -35, -35, -35, 0, 0, 0, 0,
1012 0, 0, 0, -35, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, -35, 0, -35, -35, -35, -35, -35,
1014 -35, 0, -35, 0, 0, -35, -35, -35, -35, -35,
1015 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1016 -35, -36, 0, -35, 0, 0, 0, 0, 0, 0,
1017 -36, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1018 -36, 0, 0, -36, -36, -36, -36, 0, 0, 0,
1019 -36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, -36, -36, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, -36, -36,
1022 0, 0, 0, 0, -36, -36, -36, -36, -36, 0,
1023 0, 0, 0, 0, 0, 0, -36, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, -36, 0, -36, -36,
1025 -36, -36, -36, -36, 0, -36, 0, 0, -36, -36,
1026 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1027 -36, -36, -36, -36, -32, 0, -36, 0, 0, 0,
1028 0, 0, 0, -32, 0, 0, 0, 0, -32, -32,
1029 0, 0, 0, -32, 0, 0, -32, -32, -32, -32,
1030 0, 0, 0, -32, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, -32, -32,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, -32, -32, 0, 0, 0, 0, -32, -32, -32,
1034 -32, -32, 0, 0, 0, 0, 0, 0, 0, -32,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1036 0, -32, -32, -32, -32, -32, -32, 0, -32, 0,
1037 0, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1038 -32, -32, -32, -32, -32, -32, -32, -31, 0, -32,
1039 0, 0, 0, 0, 0, 0, -31, 0, 0, 0,
1040 0, -31, -31, 0, 0, 0, -31, 0, 0, -31,
1041 -31, -31, -31, 0, 0, 0, -31, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 0, -31, -31, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, -31, -31, 0, 0, 0, 0,
1045 -31, -31, -31, -31, -31, 0, 0, 0, 0, 0,
1046 0, 0, -31, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, -31, 0, -31, -31, -31, -31, -31, -31,
1048 0, -31, 0, 0, -31, -31, -31, -31, -31, -31,
1049 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1050 -25, 0, -31, 0, 0, 0, 0, 0, 0, -25,
1051 0, 0, 0, 0, -25, -25, 0, 0, 0, -25,
1052 0, 0, -25, -25, -25, -25, 0, 0, 0, -25,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1054 0, 0, 0, 0, -25, -25, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, -25, -25, 0,
1056 0, 0, 0, -25, -25, -25, -25, -25, 0, 0,
1057 0, 0, 0, 0, 0, -25, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, -25, 0, -25, -25, -25,
1059 -25, -25, -25, 0, -25, 0, 0, -25, -25, -25,
1060 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1061 -25, -25, -25, -29, 0, -25, 0, 0, 0, 0,
1062 0, 0, -29, 0, 0, 0, 0, -29, -29, 0,
1063 0, 0, -29, 0, 0, -29, -29, -29, -29, 0,
1064 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, 0, 0, 0, 0, 0, -29, -29, 0,
1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1067 -29, -29, 0, 0, 0, 0, -29, -29, -29, -29,
1068 -29, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, -29, 0,
1070 -29, -29, -29, -29, -29, -29, 0, -29, 0, 0,
1071 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1072 -29, -29, -29, -29, -29, -29, -28, 0, -29, 0,
1073 0, 0, 0, 0, 0, -28, 0, 0, 0, 0,
1074 -28, -28, 0, 0, 0, -28, 0, 0, -28, -28,
1075 -28, -28, 0, 0, 0, -28, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 -28, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1078 0, 0, 0, -28, -28, 0, 0, 0, 0, -28,
1079 -28, -28, -28, -28, 0, 0, 0, 0, 0, 0,
1080 0, -28, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, -28, 0, -28, -28, -28, -28, -28, -28, 0,
1082 -28, 0, 0, -28, -28, -28, -28, -28, -28, -28,
1083 -28, -28, -28, -28, -28, -28, -28, -28, -28, -26,
1084 0, -28, 0, 0, 0, 0, 0, 0, -26, 0,
1085 0, 0, 0, -26, -26, 0, 0, 0, -26, 0,
1086 0, -26, -26, -26, -26, 0, 0, 0, -26, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1088 0, 0, 0, -26, -26, 0, 0, 0, 0, 0,
1089 0, 0, 0, 0, 0, 0, -26, -26, 0, 0,
1090 0, 0, -26, -26, -26, -26, -26, 0, 0, 0,
1091 0, 0, 0, 0, -26, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, -26, 0, -26, -26, -26, -26,
1093 -26, -26, 0, -26, 0, 0, -26, -26, -26, -26,
1094 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1095 -26, -26, -27, 0, -26, 0, 0, 0, 0, 0,
1096 0, -27, 0, 0, 0, 0, -27, -27, 0, 0,
1097 0, -27, 0, 0, -27, -27, -27, -27, 0, 0,
1098 0, -27, 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, 0, 0, 0, 0, 0, -27, -27, 0, 0,
1100 0, 0, 0, 0, 0, 0, 0, 0, 0, -27,
1101 -27, 0, 0, 0, 0, -27, -27, -27, -27, -27,
1102 0, 0, 0, 0, 0, 0, 0, -27, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, -27, 0, -27,
1104 -27, -27, -27, -27, -27, 0, -27, 0, 0, -27,
1105 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1106 -27, -27, -27, -27, -27, -40, 0, -27, 0, 0,
1107 0, 0, 0, 0, -40, 0, 0, 0, 0, -40,
1108 -40, 0, 0, 0, -40, 0, 0, -40, -40, -40,
1109 -40, 0, 0, 0, -40, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, 0, 0, 0, 0, 0, -40,
1111 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1112 0, 0, -40, -40, 0, 0, 0, 0, -40, -40,
1113 -40, -40, -40, 0, 0, 0, 0, 0, 0, 0,
1114 -40, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 -40, 0, -40, -40, -40, -40, -40, -40, 0, -40,
1116 0, 0, -40, -40, -40, -40, -40, -40, -40, -40,
1117 -40, -40, -40, -40, -40, -40, -40, -40, -135, 0,
1118 -40, 0, 0, 0, 0, 0, 0, -135, 0, 0,
1119 0, 0, -135, -135, 0, 0, 0, -135, 0, 0,
1120 -135, -135, -135, -135, 0, 0, 0, -135, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1122 0, 0, -135, -135, 0, 0, 0, 0, 0, 0,
1123 0, 0, 0, 0, 0, -135, -135, 0, 0, 0,
1124 0, -135, -135, -135, -135, -135, 0, 0, 0, 0,
1125 0, 0, 0, -135, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, -135, 0, -135, -135, -135, -135, -135,
1127 -135, 0, -135, 0, 0, -135, -135, -135, -135, -135,
1128 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1129 -135, -136, 0, -585, 0, 0, 0, 0, 0, 0,
1130 -136, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1131 -136, 0, 0, -136, -136, -136, -136, 0, 0, 0,
1132 -136, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 0, 0, 0, 0, 0, -136, -136, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, -136, -136,
1135 0, 0, 0, 0, -136, -136, -136, -136, -136, 0,
1136 0, 0, 0, 0, 0, 0, -136, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, -136, 0, -136, -136,
1138 -136, -136, -136, -136, 0, -136, 0, 0, -136, -136,
1139 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1140 -136, -136, -136, -136, -137, 0, -584, 0, 0, 0,
1141 0, 0, 0, -137, 0, 0, 0, 0, -137, -137,
1142 0, 0, 0, -137, 0, 0, -137, -137, -137, -137,
1143 0, 0, 0, -137, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0, -137, -137,
1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1146 0, -137, -137, 0, 0, 0, 0, -137, -137, -137,
1147 -137, -137, 0, 0, 0, 0, 0, 0, 0, -137,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, -137,
1149 0, -137, -137, -137, -137, -137, -137, 0, -137, 0,
1150 0, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1151 -137, -137, -137, -137, -137, -137, -137, -138, 0, -582,
1152 0, 0, 0, 0, 0, 0, -138, 0, 0, 0,
1153 0, -138, -138, 0, 0, 0, -138, 0, 0, -138,
1154 -138, -138, -138, 0, 0, 0, -138, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1156 0, -138, -138, 0, 0, 0, 0, 0, 0, 0,
1157 0, 0, 0, 0, -138, -138, 0, 0, 0, 0,
1158 -138, -138, -138, -138, -138, 0, 0, 0, 0, 0,
1159 0, 0, -138, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, -138, 0, -138, -138, -138, -138, -138, -138,
1161 0, -138, 0, 0, -138, -138, -138, -138, -138, -138,
1162 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1163 -139, 0, -580, 0, 0, 0, 0, 0, 0, -139,
1164 0, 0, 0, 0, -139, -139, 0, 0, 0, -139,
1165 0, 0, -139, -139, -139, -139, 0, 0, 0, -139,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1167 0, 0, 0, 0, -139, -139, 0, 0, 0, 0,
1168 0, 0, 0, 0, 0, 0, 0, -139, -139, 0,
1169 0, 0, 0, -139, -139, -139, -139, -139, 0, 0,
1170 0, 0, 0, 0, 0, -139, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, -139, 0, -139, -139, -139,
1172 -139, -139, -139, 0, -139, 0, 0, -139, -139, -139,
1173 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1174 -139, -139, -139, -140, 0, -581, 0, 0, 0, 0,
1175 0, 0, -140, 0, 0, 0, 0, -140, -140, 0,
1176 0, 0, -140, 0, 0, -140, -140, -140, -140, 0,
1177 0, 0, -140, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, 0, 0, 0, 0, 0, -140, -140, 0,
1179 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1180 -140, -140, 0, 0, 0, 0, -140, -140, -140, -140,
1181 -140, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, -140, 0,
1183 -140, -140, -140, -140, -140, -140, 0, -140, 0, 0,
1184 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1185 -140, -140, -140, -140, -140, -140, -141, 0, -583, 0,
1186 0, 0, 0, 0, 0, -141, 0, 0, 0, 0,
1187 -141, -141, 0, 0, 0, -141, 0, 0, -141, -141,
1188 -141, -141, 0, 0, 0, -141, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1190 -141, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1191 0, 0, 0, -141, -141, 0, 0, 0, 0, -141,
1192 -141, -141, -141, -141, 0, 0, 0, 0, 0, 0,
1193 0, -141, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, -141, 0, -141, -141, -141, -141, -141, -141, 0,
1195 -141, 0, 0, -141, -141, -141, -141, -141, -141, -141,
1196 -141, -141, -141, -141, -141, -141, -141, -141, -141, -142,
1197 0, -579, 0, 0, 0, 0, 0, 0, -142, 0,
1198 0, 0, 0, -142, -142, 0, 0, 0, -142, 0,
1199 0, -142, -142, -142, -142, 0, 0, 0, -142, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1201 0, 0, 0, -142, -142, 0, 0, 0, 0, 0,
1202 0, 0, 0, 0, 0, 0, -142, -142, 0, 0,
1203 0, 0, -142, -142, -142, -142, -142, 0, 0, 0,
1204 0, 0, 0, 0, -142, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, -142, 0, -142, -142, -142, -142,
1206 -142, -142, 0, -142, 0, 0, -142, -142, -142, -142,
1207 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1208 -142, -142, -143, 0, -578, 0, 0, 0, 0, 0,
1209 0, -143, 0, 0, 0, 0, -143, -143, 0, 0,
1210 0, -143, 0, 0, -143, -143, -143, -143, 0, 0,
1211 0, -143, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, -143, -143, 0, 0,
1213 0, 0, 0, 0, 0, 0, 0, 0, 0, -143,
1214 -143, 0, 0, 0, 0, -143, -143, -143, -143, -143,
1215 0, 0, 0, 0, 0, 0, 0, -143, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, -143, 0, -143,
1217 -143, -143, -143, -143, -143, 0, -143, 0, 0, -143,
1218 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1219 -143, -143, -143, -143, -143, -30, 0, -586, 0, 0,
1220 0, 0, 0, 0, -30, 0, 0, 0, 0, -30,
1221 -30, 0, 0, 0, -30, 0, 0, -30, -30, -30,
1222 -30, 0, 0, 0, -30, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, 0, 0, 0, 0, 0, -30,
1224 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1225 0, 0, -30, -30, 0, 0, 0, 0, -30, -30,
1226 -30, -30, -30, 0, 0, 0, 0, 0, 0, 0,
1227 -30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 -30, 0, -30, -30, -30, -30, -30, -30, 0, -30,
1229 0, 0, -30, -30, -30, -30, -30, -30, -30, -30,
1230 -30, -30, -30, -30, -30, -30, -30, -30, -145, 0,
1231 -30, 0, 0, 0, 0, 0, 0, -145, 0, 0,
1232 0, 0, -145, -145, 0, 0, 0, -145, 0, 0,
1233 -145, -145, -145, -145, 0, 0, 0, -145, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1235 0, 0, -145, -145, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 0, 0, -145, -145, 0, 0, 0,
1237 0, -145, -145, -145, -145, -145, 0, 0, 0, 0,
1238 0, 0, 0, -145, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, -145, 0, -145, -145, -145, -145, -145,
1240 -145, 0, -145, 0, 0, -145, -145, -145, -145, -145,
1241 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1242 -145, -146, 0, -614, 0, 0, 0, 0, 0, 0,
1243 -146, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1244 -146, 0, 0, -146, -146, -146, -146, 0, 0, 0,
1245 -146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 0, 0, 0, 0, 0, -146, -146, 0, 0, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, -146, -146,
1248 0, 0, 0, 0, -146, -146, -146, -146, -146, 0,
1249 0, 0, 0, 0, 0, 0, -146, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, -146, 0, -146, -146,
1251 -146, -146, -146, -146, 0, -146, 0, 0, -146, -146,
1252 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1253 -146, -146, -146, -146, -147, 0, -612, 0, 0, 0,
1254 0, 0, 0, -147, 0, 0, 0, 0, -147, -147,
1255 0, 0, 0, -147, 0, 0, -147, -147, -147, -147,
1256 0, 0, 0, -147, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, 0, 0, 0, 0, 0, -147, -147,
1258 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1259 0, -147, -147, 0, 0, 0, 0, -147, -147, -147,
1260 -147, -147, 0, 0, 0, 0, 0, 0, 0, -147,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, -147,
1262 0, -147, -147, -147, -147, -147, -147, 0, -147, 0,
1263 0, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1264 -147, -147, -147, -147, -147, -147, -147, -148, 0, -611,
1265 0, 0, 0, 0, 0, 0, -148, 0, 0, 0,
1266 0, -148, -148, 0, 0, 0, -148, 0, 0, -148,
1267 -148, -148, -148, 0, 0, 0, -148, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1269 0, -148, -148, 0, 0, 0, 0, 0, 0, 0,
1270 0, 0, 0, 0, -148, -148, 0, 0, 0, 0,
1271 -148, -148, -148, -148, -148, 0, 0, 0, 0, 0,
1272 0, 0, -148, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, -148, 0, -148, -148, -148, -148, -148, -148,
1274 0, -148, 0, 0, -148, -148, -148, -148, -148, -148,
1275 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1276 -149, 0, -613, 0, 0, 0, 0, 0, 0, -149,
1277 0, 0, 0, 0, -149, -149, 0, 0, 0, -149,
1278 0, 0, -149, -149, -149, -149, 0, 0, 0, -149,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1280 0, 0, 0, 0, -149, -149, 0, 0, 0, 0,
1281 0, 0, 0, 0, 0, 0, 0, -149, -149, 0,
1282 0, 0, 0, -149, -149, -149, -149, -149, 0, 0,
1283 0, 0, 0, 0, 0, -149, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, -149, 0, -149, -149, -149,
1285 -149, -149, -149, 0, -149, 0, 0, -149, -149, -149,
1286 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1287 -149, -149, -149, -150, 0, -610, 0, 0, 0, 0,
1288 0, 0, -150, 0, 0, 0, 0, -150, -150, 0,
1289 0, 0, -150, 0, 0, -150, -150, -150, -150, 0,
1290 0, 0, -150, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 0, 0, -150, -150, 0,
1292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1293 -150, -150, 0, 0, 0, 0, -150, -150, -150, -150,
1294 -150, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, -150, 0,
1296 -150, -150, -150, -150, -150, -150, 0, -150, 0, 0,
1297 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1298 -150, -150, -150, -150, -150, -150, 104, 0, -609, 0,
1299 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1300 106, 107, 0, 0, 0, 108, 0, 0, 357, 439,
1301 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1303 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1304 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1305 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1306 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1308 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1309 129, 130, 131, 132, 133, 134, 135, 136, 137, -577,
1310 0, 440, 0, 0, 0, 0, 0, 0, -577, 0,
1311 0, 0, 0, -577, -577, 0, 0, 0, -577, 0,
1312 0, 0, 0, 0, 0, -577, -577, -577, -577, -577,
1313 -577, -577, -577, -577, -577, -577, -577, 0, -577, -577,
1314 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1315 -577, -577, -577, -577, -577, -577, 0, 0, 0, 0,
1316 0, -577, -577, -577, -577, -577, -577, 0, 0, 0,
1317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1318 0, 0, 0, -577, -577, 0, -577, -577, -577, -577,
1319 -577, -577, 0, -577, 0, 0, -577, -577, -577, -577,
1320 -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
1321 -577, -577, 104, 1, 2, 3, 4, 5, 6, 7,
1322 8, 105, 0, 0, 0, 0, 701, 107, 488, 0,
1323 0, 702, 489, 0, 490, 0, 491, 359, 11, 0,
1324 0, 493, 0, 0, 0, 0, 0, 0, 0, 0,
1325 0, 0, 0, 0, 0, 0, 361, 362, 163, 0,
1326 0, 0, 0, 0, 0, 0, 0, 0, 0, 363,
1327 364, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1329 0, 0, 0, 62, 63, 64, 65, 114, 0, 115,
1330 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1331 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1332 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1333 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1334 107, 681, 682, 683, 108, 489, 0, 490, 439, 491,
1335 359, 0, 0, 0, 493, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 0, 0, 0, 0, 0, 361,
1337 362, 163, 0, 0, 0, 0, 0, 0, 0, 0,
1338 0, 0, 363, 364, 0, 0, 0, 0, 109, 110,
1339 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1342 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1343 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1344 0, 0, 0, 0, 0, 0, 0, 105, 0, 0,
1345 0, 0, 106, 107, 774, 0, 0, 108, 489, 0,
1346 490, 0, 491, 359, 0, 0, 0, 493, 0, 0,
1347 0, 0, 0, 0, 0, 0, 0, 0, 0, 153,
1348 0, 0, 361, 362, 163, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 363, 364, 0, 0, 0,
1350 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 114, 775, 776, 116, 117, 118, 119,
1353 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1354 127, 128, 129, 130, 777, 132, 133, 134, 135, 136,
1355 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1356 105, 0, 0, 0, 0, 106, 107, 488, 0, 0,
1357 108, 489, 0, 490, 0, 491, 359, 0, 0, 0,
1358 493, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1359 0, 0, 153, 0, 0, 361, 362, 163, 0, 0,
1360 0, 0, 0, 0, 0, 0, 0, 0, 363, 364,
1361 0, 0, 855, 0, 109, 110, 111, 112, 113, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1364 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1365 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1366 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1367 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1368 488, 0, 0, 108, 489, -628, 490, 0, 491, 359,
1369 0, 0, 0, 493, 0, 0, 0, 0, 0, 0,
1370 0, 0, 0, 0, 0, 153, 0, 0, 361, 362,
1371 163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1372 0, 363, 364, 0, 0, 0, 0, 109, 110, 111,
1373 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1375 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1376 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1377 131, 132, 133, 134, 135, 136, 137, 104, 0, 0,
1378 0, 0, 0, 0, 0, 0, 105, 0, 0, 0,
1379 0, 106, 107, 488, 0, 0, 108, 489, 0, 490,
1380 0, 491, 359, 0, 0, 0, 493, 0, 0, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
1382 0, 361, 362, 163, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 363, 364, 0, 0, 0, 0,
1384 109, 110, 111, 112, 113, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 114, 0, 115, 116, 117, 118, 119, 120,
1387 0, 121, 0, 0, 122, 123, 124, 125, 126, 127,
1388 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1389 104, 0, 0, 0, 0, 0, 0, 0, 0, 105,
1390 0, 0, 0, 0, 106, 107, 774, 0, 0, 108,
1391 489, 0, 490, 0, 491, 359, 0, 0, 0, 493,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1393 0, 0, 0, 0, 361, 362, 163, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 363, 364, 0,
1395 0, 0, 0, 109, 110, 111, 112, 113, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 114, 775, 776, 116, 117,
1398 118, 119, 120, 0, 121, 0, 0, 122, 123, 124,
1399 125, 126, 127, 128, 129, 130, 777, 132, 133, 134,
1400 135, 136, 137, 104, 0, 0, 0, 0, 0, 0,
1401 0, 0, 105, 0, 0, 0, 0, 106, 107, 488,
1402 0, 0, 108, 489, 0, 490, 0, 491, 359, 0,
1403 0, 0, 493, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 0, 0, 0, 0, 0, 361, 362, 163,
1405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1406 363, 364, 0, 0, 0, 0, 109, 110, 111, 112,
1407 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1409 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1410 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1411 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1412 0, 0, 0, 0, 0, 105, 0, 0, 0, 0,
1413 106, 107, 0, 0, 0, 108, 0, 0, 357, 0,
1414 358, 359, 0, 0, 0, 360, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1416 361, 362, 0, 0, 0, 0, 0, 0, 0, 0,
1417 0, 0, 0, 363, 364, 0, 0, 0, 0, 109,
1418 110, 111, 112, 113, 0, 0, 0, 0, 0, 0,
1419 0, 365, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1421 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1422 129, 130, 131, 132, 133, 134, 135, 136, 137, 104,
1423 0, 0, 0, 0, 0, 0, 0, 0, 105, 0,
1424 0, 0, 0, 106, 107, 0, 0, 0, 108, 0,
1425 0, 0, 0, 0, 0, 11, 0, 0, -520, 0,
1426 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
1427 8, 0, 0, 0, 0, 163, 9, 0, 0, 0,
1428 0, 61, 0, 0, 0, 445, 446, 0, 0, 0,
1429 0, 0, 109, 110, 111, 112, 113, 0, 0, 0,
1430 0, 0, 0, 448, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 65, 114, 0, 115, 116, 117, 118,
1432 119, 120, 0, 121, 0, 0, 122, 123, 124, 125,
1433 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1434 136, 137, 104, 62, 63, 64, 0, 0, 0, 0,
1435 0, 105, 0, 0, 0, 0, 106, 107, 737, 0,
1436 0, 108, 0, 0, 0, 0, 0, 0, 11, 455,
1437 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1438 466, 467, 468, 469, 470, 471, 472, 0, 163, 0,
1439 0, 0, 707, 0, 0, 0, 0, 0, 0, 0,
1440 0, 0, 0, 0, 0, 109, 110, 111, 112, 113,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 0, 0, 0, 0, 0, 65, 114, 0, 115,
1443 116, 117, 118, 119, 120, 0, 121, 0, 0, 122,
1444 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1445 133, 134, 135, 136, 137, 104, 0, 0, 0, 0,
1446 0, 0, 0, 0, 105, 0, 0, 0, 0, 106,
1447 107, 0, 0, 0, 108, 0, 0, 662, 0, 0,
1448 0, 0, 0, 0, 710, 814, 455, 456, 457, 458,
1449 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1450 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1451 0, 0, 0, 0, 0, 0, 0, 0, 109, 110,
1452 111, 112, 113, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1454 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1455 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1456 130, 131, 132, 133, 134, 135, 136, 137, 104, 0,
1457 0, 0, 0, 0, 0, 0, 0, 105, 0, 763,
1458 0, 0, 106, 107, 0, 0, 0, 108, 455, 456,
1459 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1460 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1461 0, 707, 0, 0, 163, 0, 0, 0, 0, 0,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 109, 110, 111, 112, 113, 0, 0, 0, 0,
1464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 114, 0, 115, 116, 117, 118, 119,
1466 120, 0, 121, 0, 0, 122, 123, 124, 125, 126,
1467 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1468 137, 104, 0, 0, 0, 0, 0, 0, 0, 0,
1469 105, 0, 0, 0, 0, 106, 107, 0, 0, 0,
1470 108, 0, 908, 0, 0, 0, 0, 0, 0, 0,
1471 451, 455, 456, 457, 458, 459, 460, 461, 462, 463,
1472 464, 465, 466, 467, 468, 469, 470, 471, 472, 0,
1473 0, 0, 0, 0, 707, 0, 0, 0, 0, 0,
1474 0, 0, 0, 0, 109, 110, 111, 112, 113, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 114, 0, 115, 116,
1477 117, 118, 119, 120, 0, 121, 0, 0, 122, 123,
1478 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1479 134, 135, 136, 137, 104, 0, 0, 0, 0, 0,
1480 0, 0, 0, 105, 0, 0, 0, 0, 106, 107,
1481 0, 0, 0, 108, 0, 0, 873, 0, 0, 0,
1482 0, 0, 0, 710, 455, 456, 457, 458, 459, 460,
1483 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1484 471, 472, 0, 0, 0, 0, 0, 707, 0, 0,
1485 0, 0, 0, 104, 0, 0, 0, 109, 110, 111,
1486 112, 113, 105, 0, 0, 0, 0, 106, 107, 0,
1487 0, 0, 108, 0, 0, 0, 0, 0, 0, 114,
1488 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1489 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1490 131, 132, 133, 134, 135, 136, 137, 0, 0, 0,
1491 0, 0, 0, 0, 739, 0, 109, 110, 111, 112,
1492 113, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 114, 0,
1494 115, 116, 117, 118, 119, 120, 0, 121, 0, 0,
1495 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1496 132, 133, 134, 135, 136, 137, 104, 0, 0, 0,
1497 0, 0, 0, 0, 0, 105, 0, 0, 0, 748,
1498 790, 107, 0, 0, 0, 108, 455, 456, 457, 458,
1499 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1500 469, 470, 471, 472, 0, 0, 0, 0, 0, 473,
1501 0, 0, 163, 0, 0, 0, 0, 0, 0, 0,
1502 0, 0, 0, 0, 0, 104, 0, 0, 0, 109,
1503 110, 111, 112, 113, 105, 0, 0, 0, 0, 106,
1504 107, 0, 0, 0, 108, 0, 0, 0, 0, 0,
1505 0, 114, 0, 115, 116, 117, 118, 119, 120, 0,
1506 121, 0, 0, 122, 123, 124, 125, 126, 127, 128,
1507 129, 130, 131, 132, 133, 134, 135, 136, 137, 0,
1508 0, 0, 0, 0, 104, 0, 835, 0, 109, 110,
1509 111, 112, 113, 105, 0, 0, 0, 0, 106, 107,
1510 0, 0, 0, 108, 0, 0, 0, 0, 0, 0,
1511 114, 0, 115, 116, 117, 118, 119, 120, 0, 121,
1512 0, 0, 122, 123, 124, 125, 126, 127, 128, 129,
1513 130, 131, 132, 133, 134, 135, 136, 137, 0, 0,
1514 0, 0, 0, 0, 0, 0, 0, 109, 110, 111,
1515 112, 113, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 114,
1517 0, 115, 116, 117, 118, 119, 120, 0, 121, 0,
1518 0, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1519 131, 132, 133, 134, 135, 136, 137, 811, 0, 0,
1520 0, 0, 0, 0, 455, 456, 457, 458, 459, 460,
1521 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1522 471, 472, 0, 0, 0, 706, 0, 707, 455, 456,
1523 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1524 467, 468, 469, 470, 471, 472, 0, 0, 0, 0,
1525 0, 707, 455, 456, 457, 458, 459, 460, 461, 462,
1526 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1527 0, 0, 0, 0, 0, 473, 455, 456, 457, 458,
1528 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1529 469, 470, 471, 472, 0, 0, 0, 0, 0, 707,
1530 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1531 465, 466, 467, 468, 469, 470, 471, 472, 0, 0,
1532 0, 0, 0, 473, 455, 456, 457, 458, 459, 460,
1533 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1534 471, 472, 0, 0, 0, 0, 0, 707
1535 };
1536
1537 static const short yycheck[] =
1538 {
1539 33, 22, 16, 17, 18, 185, 184, 185, 88, 33,
1540 0, 15, 191, 421, 0, 34, 103, 33, 92, 395,
1541 10, 92, 424, 394, 421, 15, 81, 424, 311, 368,
1542 378, 379, 697, 725, 24, 476, 91, 27, 409, 476,
1543 725, 27, 725, 15, 754, 758, 10, 760, 62, 63,
1544 64, 138, 311, 26, 141, 45, 49, 91, 0, 392,
1545 37, 31, 29, 33, 34, 26, 33, 81, 10, 29,
1546 29, 29, 33, 33, 33, 427, 26, 360, 92, 93,
1547 94, 45, 24, 366, 776, 27, 24, 101, 25, 123,
1548 31, 95, 784, 806, 35, 36, 35, 36, 35, 31,
1549 433, 784, 441, 45, 36, 95, 31, 32, 9, 34,
1550 11, 450, 17, 18, 453, 92, 93, 94, 95, 96,
1551 87, 98, 99, 95, 35, 36, 64, 87, 87, 87,
1552 840, 124, 484, 4, 5, 6, 33, 34, 9, 4,
1553 5, 6, 6, 808, 9, 9, 119, 406, 33, 34,
1554 483, 22, 3, 157, 168, 6, 44, 22, 191, 10,
1555 493, 12, 827, 496, 33, 34, 156, 157, 26, 27,
1556 125, 454, 186, 883, 32, 32, 33, 92, 93, 94,
1557 95, 96, 874, 98, 99, 157, 44, 852, 0, 874,
1558 473, 474, 156, 17, 18, 887, 31, 36, 33, 34,
1559 913, 31, 36, 895, 34, 110, 111, 112, 113, 114,
1560 115, 32, 895, 34, 156, 33, 34, 909, 33, 34,
1561 17, 18, 33, 34, 909, 6, 7, 8, 32, 670,
1562 93, 94, 312, 670, 675, 32, 32, 311, 675, 30,
1563 311, 4, 5, 6, 7, 8, 9, 10, 11, 31,
1564 35, 916, 32, 629, 17, 23, 632, 36, 3, 22,
1565 31, 6, 36, 23, 123, 10, 29, 12, 13, 14,
1566 15, 16, 17, 38, 32, 6, 100, 101, 102, 103,
1567 104, 105, 106, 107, 108, 36, 360, 658, 33, 360,
1568 32, 31, 366, 31, 35, 366, 351, 311, 476, 32,
1569 37, 634, 36, 100, 101, 102, 103, 104, 105, 106,
1570 107, 108, 40, 32, 31, 493, 31, 49, 6, 727,
1571 83, 84, 85, 86, 87, 664, 89, 26, 667, 668,
1572 727, 32, 34, 40, 34, 32, 34, 26, 22, 710,
1573 32, 32, 64, 39, 715, 40, 360, 37, 64, 31,
1574 31, 365, 366, 40, 32, 92, 93, 94, 95, 96,
1575 123, 98, 99, 24, 40, 32, 32, 31, 33, 25,
1576 394, 33, 35, 33, 707, 708, 409, 34, 31, 34,
1577 454, 35, 33, 454, 33, 409, 33, 420, 34, 422,
1578 34, 424, 725, 409, 770, 35, 772, 773, 40, 473,
1579 474, 109, 473, 474, 32, 64, 32, 755, 756, 423,
1580 34, 33, 33, 25, 32, 35, 31, 33, 97, 33,
1581 33, 829, 32, 437, 33, 31, 33, 35, 447, 762,
1582 25, 34, 829, 31, 33, 32, 25, 451, 34, 33,
1583 454, 33, 32, 34, 477, 478, 34, 24, 628, 32,
1584 628, 784, 97, 631, 32, 34, 795, 796, 860, 473,
1585 474, 33, 32, 860, 747, 748, 25, 33, 33, 877,
1586 34, 33, 476, 34, 850, 35, 809, 33, 811, 33,
1587 877, 32, 25, 33, 32, 32, 476, 33, 502, 33,
1588 476, 888, 670, 826, 33, 33, 33, 675, 4, 5,
1589 6, 7, 8, 9, 10, 11, 27, 809, 675, 157,
1590 918, 17, 670, 40, 624, 24, 22, 160, 631, 381,
1591 802, 918, 21, 29, 30, 31, 635, 179, 447, 760,
1592 169, 181, 929, 19, 384, 41, 909, 420, 775, 915,
1593 873, 874, 887, 929, 823, 4, 5, 6, 7, 8,
1594 9, 10, 11, 732, 930, -1, -1, 734, 17, -1,
1595 -1, -1, 895, 22, -1, -1, -1, -1, -1, -1,
1596 29, -1, -1, -1, -1, -1, 909, 83, 84, 85,
1597 86, 87, 88, 89, -1, 91, -1, 767, -1, 767,
1598 677, 678, -1, -1, -1, -1, -1, -1, -1, -1,
1599 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1600 116, -1, -1, -1, 17, 121, -1, 123, -1, 22,
1601 -1, 635, 655, -1, -1, 84, 85, 86, 87, -1,
1602 -1, -1, -1, -1, 658, -1, -1, -1, -1, -1,
1603 -1, 674, 656, -1, -1, -1, -1, -1, -1, -1,
1604 674, -1, -1, -1, -1, -1, -1, -1, 674, -1,
1605 -1, -1, 676, -1, 123, -1, 670, -1, -1, -1,
1606 -1, 675, -1, 747, 748, -1, 747, 748, -1, -1,
1607 670, 84, 85, 86, 670, 675, 710, 703, 868, 675,
1608 868, 715, -1, -1, -1, -1, 729, -1, -1, 732,
1609 -1, -1, 735, -1, -1, -1, 886, -1, 886, -1,
1610 731, -1, -1, 793, -1, -1, -1, -1, -1, -1,
1611 734, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1612 11, -1, -1, 747, 748, -1, 17, -1, -1, -1,
1613 -1, 22, 922, -1, 922, -1, -1, -1, 29, -1,
1614 3, -1, 766, 6, 787, 769, 37, 10, -1, 12,
1615 13, 14, 15, 16, 17, -1, -1, 800, -1, -1,
1616 803, 804, 30, -1, -1, -1, -1, -1, -1, -1,
1617 794, -1, -1, -1, -1, -1, -1, 808, -1, -1,
1618 823, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1619 -1, -1, -1, 84, 85, 86, 87, -1, 66, 67,
1620 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1621 -1, 79, 80, 81, 82, -1, -1, -1, -1, -1,
1622 -1, -1, 865, -1, -1, -1, -1, -1, -1, -1,
1623 121, 874, -1, -1, -1, -1, 0, -1, -1, 3,
1624 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1625 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1626 24, 25, 26, 27, 28, 29, 909, 31, 32, 33,
1627 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1628 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1629 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1630 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1631 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1632 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1633 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1634 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1635 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1636 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1637 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1638 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1639 28, 29, -1, 31, 32, 33, 34, 35, 36, 37,
1640 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1641 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1642 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1643 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1644 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1645 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1646 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1647 108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
1648 -1, 119, -1, 121, 122, 123, 124, 125, 0, -1,
1649 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1650 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1651 22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
1652 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1653 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1654 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1655 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1656 72, 73, 74, 75, 76, 77, 78, 79, -1, 81,
1657 -1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1658 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1659 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1660 112, 113, 114, 115, 116, -1, -1, 119, -1, 121,
1661 122, 123, 124, 125, 0, -1, -1, 3, 4, 5,
1662 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1663 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1664 26, 27, 28, 29, -1, 31, 32, 33, 34, 35,
1665 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
1666 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1667 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1668 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1669 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1670 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1671 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1672 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1673 116, 3, -1, 119, -1, 121, 122, 123, 124, 125,
1674 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1675 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1676 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1677 9, 10, 11, -1, -1, 47, 48, 49, 17, -1,
1678 -1, -1, -1, 22, -1, -1, -1, -1, 60, 61,
1679 29, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1680 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1681 -1, -1, -1, -1, -1, 87, 88, -1, 90, 91,
1682 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1683 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1684 112, 113, 114, 115, -1, 84, 85, 86, 87, -1,
1685 -1, -1, 124, 4, 5, 6, 7, 8, 9, 10,
1686 11, -1, -1, -1, -1, -1, 17, -1, -1, -1,
1687 -1, 22, -1, -1, 3, -1, -1, -1, 29, -1,
1688 -1, -1, 121, 12, -1, -1, -1, -1, 17, 18,
1689 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1690 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1691 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1693 -1, 60, 61, 84, 85, 86, 87, 66, 67, 68,
1694 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1695 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1696 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1697 121, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1698 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1699 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1700 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1701 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1702 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1703 11, 47, 48, -1, -1, -1, 17, -1, -1, -1,
1704 -1, 22, -1, -1, 60, 61, -1, -1, 29, -1,
1705 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1706 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1707 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1708 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1709 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1710 3, -1, 118, 84, 85, 86, 87, -1, -1, 12,
1711 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1712 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1713 -1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1714 8, 9, 10, 11, 47, 48, -1, -1, -1, 17,
1715 -1, -1, -1, -1, 22, -1, -1, 60, 61, -1,
1716 -1, 29, -1, 66, 67, 68, 69, 70, -1, -1,
1717 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1718 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1719 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1720 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1721 113, 114, 115, 3, -1, 118, 84, 85, 86, 87,
1722 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1723 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1724 -1, -1, 32, -1, -1, -1, -1, -1, -1, 4,
1725 5, 6, 7, 8, 9, 10, 11, 47, 48, -1,
1726 -1, -1, 17, -1, -1, -1, -1, 22, -1, -1,
1727 60, 61, -1, -1, 29, -1, 66, 67, 68, 69,
1728 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1729 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1730 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1731 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1732 110, 111, 112, 113, 114, 115, 3, -1, 118, 84,
1733 85, 86, 87, -1, -1, 12, -1, -1, -1, -1,
1734 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1735 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1736 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1737 47, 48, -1, -1, -1, 17, -1, -1, -1, -1,
1738 22, -1, -1, 60, 61, -1, -1, 29, -1, 66,
1739 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1740 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1741 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1742 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1743 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1744 -1, 118, 84, 85, 86, 87, -1, -1, 12, -1,
1745 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1746 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1748 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1749 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1750 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1751 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1752 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1753 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1754 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1755 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1756 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1757 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1758 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1760 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1761 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1762 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1763 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1764 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1765 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1766 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1767 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1768 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1769 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1770 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1771 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1772 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1773 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1774 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1775 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1776 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1777 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1778 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1779 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1780 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1782 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1783 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1784 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1785 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1786 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1787 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1788 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1789 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1790 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1791 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1792 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1794 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1795 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1796 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1797 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1798 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1799 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1800 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1801 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1802 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1803 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1805 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1806 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1807 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1808 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1809 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1810 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1811 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1812 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1813 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1814 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1816 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1818 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1819 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1820 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1821 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1822 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1823 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1824 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1825 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1826 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1828 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1829 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1830 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1831 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1832 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1833 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1834 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1835 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1836 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1837 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1839 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1840 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1841 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1842 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1843 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1844 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1845 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1846 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1847 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1848 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1850 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1851 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1852 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1853 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1854 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1855 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1856 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1857 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1858 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1859 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1861 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1863 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1864 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1865 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1866 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1867 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1868 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1869 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1870 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1871 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1873 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1874 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1875 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1876 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1877 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1878 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1879 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1880 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1881 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1882 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1884 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1886 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1887 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1889 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1890 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1891 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1892 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1893 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1895 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1897 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1898 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1899 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1900 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1901 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1902 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1903 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1904 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1905 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1907 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1908 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1909 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1911 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1912 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1913 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1914 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1915 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1916 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1919 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1920 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1921 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1922 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1923 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1924 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1925 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1926 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1927 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1929 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1930 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1931 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1932 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1933 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1934 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1935 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1936 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1937 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1938 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1939 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1940 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1941 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1942 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1943 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1944 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1945 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1946 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1947 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1948 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1949 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1950 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1953 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1954 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1955 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1956 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1957 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1958 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1959 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1960 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1961 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1963 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1965 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1966 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1968 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1969 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1970 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1971 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1972 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1973 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1974 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1975 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1976 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1977 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1978 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1979 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1980 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1981 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1982 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1983 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1984 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1987 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1988 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1989 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1990 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1991 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1992 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1993 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1994 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1995 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1997 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1998 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1999 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2000 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2001 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2002 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2003 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2004 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2005 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2006 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2008 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2009 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2010 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2011 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2012 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2013 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2014 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2015 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2016 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2017 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2018 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2020 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2021 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2022 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2023 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2024 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2025 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2026 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2027 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2028 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2029 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2031 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2033 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2035 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2036 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2037 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2038 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2039 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
2040 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2042 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2044 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2045 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2047 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2048 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2049 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
2050 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
2051 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2055 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2056 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
2057 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2058 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2059 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2060 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2061 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2062 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2063 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2067 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2068 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2069 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2070 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2071 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2072 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2073 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2074 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2076 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2077 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2078 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2079 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2080 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2081 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2082 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2083 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2084 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2085 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2086 34, 35, 36, 37, 38, 39, 40, -1, 42, 43,
2087 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2088 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2089 -1, 65, 66, 67, 68, 69, 70, -1, -1, -1,
2090 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2091 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2092 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2093 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2094 114, 115, 3, 4, 5, 6, 7, 8, 9, 10,
2095 11, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2096 -1, 22, 23, -1, 25, -1, 27, 28, 29, -1,
2097 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2098 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
2099 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2100 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2102 -1, -1, -1, 84, 85, 86, 87, 88, -1, 90,
2103 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2104 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2105 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2106 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2107 18, 19, 20, 21, 22, 23, -1, 25, 26, 27,
2108 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2109 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2110 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2112 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2113 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2114 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2115 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2116 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2117 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2118 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2119 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2121 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2122 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2123 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2125 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
2126 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2127 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2128 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2129 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
2130 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2131 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, -1, 44, -1, -1, 47, 48, 49, -1, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2134 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
2135 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2136 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2137 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2138 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2139 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2140 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2141 19, -1, -1, 22, 23, 24, 25, -1, 27, 28,
2142 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, -1, 44, -1, -1, 47, 48,
2144 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2145 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2146 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2147 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2148 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2149 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2150 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2151 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2152 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
2153 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
2155 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2157 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2158 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2159 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2160 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2161 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2162 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2163 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
2164 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2167 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2168 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2170 -1, -1, -1, -1, -1, 88, 89, 90, 91, 92,
2171 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2172 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2173 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2174 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2175 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
2176 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2179 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2180 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2181 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2182 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2183 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2184 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2185 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2186 17, 18, -1, -1, -1, 22, -1, -1, 25, -1,
2187 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2189 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2190 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2191 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2192 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2193 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2194 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2195 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2196 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2197 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2198 -1, -1, -1, -1, -1, 29, -1, -1, 32, -1,
2199 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
2200 11, -1, -1, -1, -1, 49, 17, -1, -1, -1,
2201 -1, 22, -1, -1, -1, 26, 27, -1, -1, -1,
2202 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2203 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
2204 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
2205 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2206 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2207 114, 115, 3, 84, 85, 86, -1, -1, -1, -1,
2208 -1, 12, -1, -1, -1, -1, 17, 18, 31, -1,
2209 -1, 22, -1, -1, -1, -1, -1, -1, 29, 42,
2210 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2211 53, 54, 55, 56, 57, 58, 59, -1, 49, -1,
2212 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2213 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, -1, -1, -1, 87, 88, -1, 90,
2216 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2217 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2218 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2219 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2220 18, -1, -1, -1, 22, -1, -1, 33, -1, -1,
2221 -1, -1, -1, -1, 32, 33, 42, 43, 44, 45,
2222 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2223 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2224 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2225 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2226 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2227 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2228 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2229 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2230 -1, -1, -1, -1, -1, -1, -1, 12, -1, 33,
2231 -1, -1, 17, 18, -1, -1, -1, 22, 42, 43,
2232 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2233 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2234 -1, 65, -1, -1, 49, -1, -1, -1, -1, -1,
2235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2236 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2238 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2239 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2240 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2241 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2242 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2243 22, -1, 33, -1, -1, -1, -1, -1, -1, -1,
2244 32, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2245 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
2246 -1, -1, -1, -1, 65, -1, -1, -1, -1, -1,
2247 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2249 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2250 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2251 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2252 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2253 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2254 -1, -1, -1, 22, -1, -1, 34, -1, -1, -1,
2255 -1, -1, -1, 32, 42, 43, 44, 45, 46, 47,
2256 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2257 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2258 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
2259 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
2260 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
2261 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2262 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2263 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2264 -1, -1, -1, -1, 64, -1, 66, 67, 68, 69,
2265 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2267 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2268 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2269 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2270 -1, -1, -1, -1, -1, 12, -1, -1, -1, 35,
2271 17, 18, -1, -1, -1, 22, 42, 43, 44, 45,
2272 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2273 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2274 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, -1, -1, -1, 3, -1, -1, -1, 66,
2276 67, 68, 69, 70, 12, -1, -1, -1, -1, 17,
2277 18, -1, -1, -1, 22, -1, -1, -1, -1, -1,
2278 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2279 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2280 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
2281 -1, -1, -1, -1, 3, -1, 64, -1, 66, 67,
2282 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
2283 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
2284 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2285 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2286 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
2287 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
2288 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2290 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2291 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2292 109, 110, 111, 112, 113, 114, 115, 35, -1, -1,
2293 -1, -1, -1, -1, 42, 43, 44, 45, 46, 47,
2294 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2295 58, 59, -1, -1, -1, 39, -1, 65, 42, 43,
2296 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2297 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2298 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2299 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2300 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2301 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2302 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2303 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2304 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2305 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2306 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2307 58, 59, -1, -1, -1, -1, -1, 65
2308 };
2309
2310 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2311 symbol of state STATE-NUM. */
2312 static const unsigned short yystos[] =
2313 {
2314 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2315 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2316 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2317 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2318 182, 183, 188, 191, 194, 195, 199, 200, 201, 202,
2319 204, 206, 210, 212, 213, 219, 227, 241, 242, 9,
2320 11, 22, 84, 85, 86, 87, 123, 200, 210, 30,
2321 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2322 76, 77, 79, 80, 81, 82, 151, 152, 153, 154,
2323 156, 157, 158, 84, 85, 121, 171, 173, 201, 202,
2324 210, 219, 228, 229, 3, 12, 17, 18, 22, 66,
2325 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2326 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2327 108, 109, 110, 111, 112, 113, 114, 115, 143, 260,
2328 272, 143, 143, 230, 3, 6, 10, 12, 247, 249,
2329 26, 123, 242, 44, 280, 281, 22, 83, 89, 123,
2330 199, 0, 148, 49, 143, 176, 211, 236, 237, 238,
2331 239, 177, 4, 5, 6, 9, 22, 184, 6, 181,
2332 187, 200, 125, 189, 32, 32, 36, 36, 143, 143,
2333 143, 34, 192, 0, 3, 4, 5, 6, 7, 8,
2334 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2335 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
2336 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2337 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2338 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2339 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2340 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2341 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2342 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2343 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2344 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
2345 125, 143, 144, 159, 30, 3, 12, 17, 18, 22,
2346 66, 67, 68, 69, 70, 88, 90, 91, 92, 93,
2347 94, 95, 97, 100, 101, 102, 103, 104, 105, 106,
2348 107, 108, 109, 110, 111, 112, 113, 114, 115, 144,
2349 162, 163, 162, 26, 119, 155, 144, 25, 27, 28,
2350 32, 47, 48, 60, 61, 78, 142, 143, 164, 224,
2351 143, 230, 143, 230, 173, 31, 143, 35, 233, 233,
2352 233, 233, 23, 31, 36, 23, 171, 123, 189, 29,
2353 87, 240, 38, 234, 32, 143, 124, 239, 6, 185,
2354 6, 9, 186, 184, 36, 196, 32, 31, 17, 175,
2355 203, 205, 207, 208, 209, 210, 207, 143, 220, 221,
2356 92, 93, 94, 95, 96, 98, 99, 251, 252, 253,
2357 266, 269, 275, 276, 277, 193, 211, 237, 31, 26,
2358 118, 164, 190, 162, 144, 26, 27, 32, 44, 226,
2359 164, 32, 143, 164, 32, 42, 43, 44, 45, 46,
2360 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2361 57, 58, 59, 65, 141, 35, 36, 215, 215, 31,
2362 214, 215, 214, 40, 251, 32, 31, 31, 19, 23,
2363 25, 27, 29, 32, 87, 124, 142, 211, 222, 223,
2364 224, 235, 236, 237, 234, 6, 0, 3, 4, 5,
2365 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2366 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2367 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2368 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2369 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2370 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2371 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2372 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2373 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2374 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2375 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2376 124, 125, 145, 196, 197, 198, 190, 236, 32, 33,
2377 34, 34, 33, 34, 40, 34, 231, 211, 256, 222,
2378 245, 270, 271, 272, 280, 211, 143, 278, 279, 211,
2379 267, 271, 37, 252, 222, 34, 32, 26, 177, 225,
2380 226, 22, 33, 143, 164, 165, 166, 164, 164, 32,
2381 121, 172, 173, 174, 175, 216, 219, 228, 229, 211,
2382 211, 19, 20, 21, 168, 169, 190, 222, 37, 13,
2383 14, 15, 16, 17, 33, 243, 244, 246, 248, 249,
2384 250, 17, 22, 175, 222, 222, 39, 65, 141, 39,
2385 32, 143, 37, 198, 33, 32, 207, 234, 64, 209,
2386 234, 64, 222, 221, 37, 40, 31, 40, 31, 32,
2387 24, 40, 32, 31, 34, 32, 31, 31, 211, 64,
2388 143, 160, 161, 236, 33, 33, 33, 34, 35, 25,
2389 174, 35, 232, 37, 172, 233, 233, 31, 35, 33,
2390 34, 245, 33, 33, 222, 222, 236, 32, 33, 236,
2391 33, 34, 33, 33, 19, 89, 90, 109, 222, 255,
2392 257, 258, 259, 260, 281, 270, 211, 280, 193, 279,
2393 17, 193, 268, 33, 34, 164, 164, 34, 25, 35,
2394 34, 217, 232, 215, 215, 246, 35, 244, 246, 40,
2395 222, 35, 143, 207, 33, 234, 64, 234, 234, 109,
2396 257, 17, 18, 32, 260, 263, 32, 32, 255, 34,
2397 273, 211, 33, 33, 162, 64, 143, 25, 35, 32,
2398 211, 218, 31, 217, 246, 280, 168, 222, 33, 33,
2399 33, 268, 32, 222, 245, 64, 270, 274, 33, 31,
2400 97, 33, 35, 25, 232, 34, 31, 64, 32, 33,
2401 234, 33, 245, 34, 34, 261, 33, 34, 18, 271,
2402 272, 32, 34, 211, 24, 207, 32, 97, 32, 222,
2403 211, 254, 255, 256, 262, 281, 33, 270, 25, 25,
2404 232, 33, 33, 207, 263, 264, 265, 270, 33, 34,
2405 255, 34, 33, 35, 33, 33, 32, 33, 34, 254,
2406 25, 246, 32, 234, 245, 33, 270, 33, 207, 32,
2407 33, 264, 234, 33, 33
2408 };
2409
2410 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2411 static const unsigned short yyr1[] =
2412 {
2413 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2414 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2415 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2416 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2417 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2418 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2419 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2420 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2421 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2422 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2423 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2424 144, 144, 144, 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, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2430 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2431 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2432 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2433 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2434 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2435 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2436 145, 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, 146, 146, 147,
2441 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2442 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2443 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2444 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2445 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2446 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2447 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2448 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2449 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2450 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2451 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2452 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2453 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2454 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2455 190, 191, 192, 192, 193, 193, 194, 195, 195, 195,
2456 195, 195, 195, 196, 197, 197, 198, 198, 199, 199,
2457 200, 200, 201, 201, 202, 202, 202, 202, 203, 203,
2458 204, 205, 206, 207, 207, 207, 208, 208, 209, 209,
2459 209, 210, 210, 211, 211, 212, 213, 214, 214, 215,
2460 216, 216, 217, 217, 218, 218, 219, 220, 220, 221,
2461 221, 222, 222, 222, 222, 222, 222, 223, 223, 223,
2462 223, 223, 223, 224, 224, 225, 225, 226, 226, 226,
2463 227, 228, 229, 230, 230, 231, 231, 232, 232, 232,
2464 232, 233, 233, 234, 234, 234, 235, 235, 235, 235,
2465 236, 236, 237, 237, 238, 238, 239, 239, 240, 240,
2466 241, 241, 242, 242, 242, 243, 243, 244, 244, 245,
2467 246, 247, 248, 248, 249, 249, 249, 249, 250, 250,
2468 250, 250, 250, 251, 251, 252, 252, 252, 252, 252,
2469 253, 253, 254, 254, 254, 255, 255, 255, 255, 255,
2470 255, 256, 256, 257, 258, 258, 259, 260, 260, 260,
2471 260, 260, 260, 260, 260, 260, 260, 261, 261, 262,
2472 262, 263, 263, 264, 264, 265, 265, 266, 267, 267,
2473 268, 268, 268, 269, 270, 270, 270, 271, 271, 272,
2474 272, 272, 272, 272, 272, 272, 272, 273, 273, 274,
2475 274, 275, 276, 276, 277, 278, 278, 279, 280, 280,
2476 281
2477 };
2478
2479 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2480 static const unsigned char yyr2[] =
2481 {
2482 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2483 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2484 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2487 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2488 1, 1, 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, 0, 1, 1,
2510 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2512 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2515 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2516 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2517 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2518 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2519 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2520 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2521 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2522 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2523 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2524 2, 4, 0, 2, 1, 3, 3, 1, 2, 2,
2525 3, 1, 2, 3, 1, 2, 1, 1, 1, 2,
2526 1, 1, 5, 7, 5, 7, 13, 16, 5, 7,
2527 6, 5, 1, 0, 1, 1, 1, 3, 1, 1,
2528 2, 1, 2, 3, 2, 4, 4, 1, 1, 3,
2529 4, 5, 0, 2, 2, 4, 5, 1, 3, 1,
2530 3, 1, 4, 3, 3, 2, 5, 1, 1, 1,
2531 1, 1, 1, 4, 2, 1, 2, 2, 1, 1,
2532 2, 2, 2, 0, 1, 0, 1, 0, 2, 7,
2533 9, 0, 7, 0, 3, 3, 0, 1, 1, 1,
2534 0, 1, 1, 2, 1, 2, 1, 2, 1, 1,
2535 4, 5, 7, 8, 13, 1, 3, 2, 4, 2,
2536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2537 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
2538 3, 6, 1, 2, 1, 1, 1, 1, 2, 1,
2539 1, 3, 4, 6, 8, 12, 5, 1, 1, 1,
2540 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2541 3, 1, 1, 0, 1, 1, 3, 3, 6, 1,
2542 0, 1, 1, 3, 1, 1, 3, 5, 6, 1,
2543 1, 1, 1, 1, 1, 1, 1, 0, 2, 1,
2544 3, 3, 1, 1, 3, 1, 3, 4, 0, 1,
2545 1
2546 };
2547
2548
2549 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2550 static const unsigned char yydprec[] =
2551 {
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2556 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 2, 2, 2, 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, 2, 1, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2589 1, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2594 0, 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, 2, 1, 0, 0, 0, 2,
2598 1, 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, 0, 0, 0, 0, 0, 0, 0, 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, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0
2616 };
2617
2618 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2619 static const unsigned char yymerger[] =
2620 {
2621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2622 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2624 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
2685 };
2686
2687 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2688 in the case of predicates. */
2689 static const yybool yyimmediate[] =
2690 {
2691 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2693 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
2755 };
2756
2757 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2758 list of conflicting reductions corresponding to action entry for
2759 state STATE-NUM in yytable. 0 means no conflicts. The list in
2760 yyconfl is terminated by a rule number of 0. */
2761 static const unsigned short yyconflp[] =
2762 {
2763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2764 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 3209, 0, 3211, 3213, 0, 3215, 0, 0, 0,
2770 0, 0, 0, 3217, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 3197, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 0, 3199, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 0, 3201, 3203, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 13, 0, 0, 0, 9, 0, 157, 0, 11,
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, 0, 0, 3219, 0, 3221, 3223,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2788 0, 0, 0, 0, 0, 0, 0, 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, 3205, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 3207, 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 0, 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, 3225, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 0, 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, 0, 0,
2817 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2818 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
2819 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2820 5, 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, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 7, 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, 159, 0, 0, 0, 0, 0,
2912 0, 0, 0, 161, 0, 0, 0, 0, 163, 165,
2913 0, 0, 0, 167, 0, 0, 169, 171, 173, 175,
2914 0, 0, 0, 177, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 179, 181,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 183, 185, 0, 0, 0, 0, 187, 189, 191,
2918 193, 195, 0, 0, 0, 0, 0, 0, 0, 197,
2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
2920 0, 201, 203, 205, 207, 209, 211, 0, 213, 0,
2921 0, 215, 217, 219, 221, 223, 225, 227, 229, 231,
2922 233, 235, 237, 239, 241, 243, 245, 247, 0, 0,
2923 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
2924 0, 251, 253, 0, 0, 0, 255, 0, 0, 257,
2925 259, 261, 263, 0, 0, 0, 265, 0, 0, 0,
2926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2927 0, 267, 269, 0, 0, 0, 0, 0, 0, 0,
2928 0, 0, 0, 0, 271, 273, 0, 0, 0, 0,
2929 275, 277, 279, 281, 283, 0, 0, 0, 0, 0,
2930 0, 0, 285, 0, 0, 0, 0, 0, 0, 0,
2931 0, 0, 287, 0, 289, 291, 293, 295, 297, 299,
2932 0, 301, 0, 0, 303, 305, 307, 309, 311, 313,
2933 315, 317, 319, 321, 323, 325, 327, 329, 331, 333,
2934 335, 0, 0, 0, 0, 0, 0, 0, 0, 337,
2935 0, 0, 0, 0, 339, 341, 0, 0, 0, 343,
2936 0, 0, 345, 347, 349, 351, 0, 0, 0, 353,
2937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2938 0, 0, 0, 0, 355, 357, 0, 0, 0, 0,
2939 0, 0, 0, 0, 0, 0, 0, 359, 361, 0,
2940 0, 0, 0, 363, 365, 367, 369, 371, 0, 0,
2941 0, 0, 0, 0, 0, 373, 0, 0, 0, 0,
2942 0, 0, 0, 0, 0, 375, 0, 377, 379, 381,
2943 383, 385, 387, 0, 389, 0, 0, 391, 393, 395,
2944 397, 399, 401, 403, 405, 407, 409, 411, 413, 415,
2945 417, 419, 421, 423, 0, 0, 0, 0, 0, 0,
2946 0, 0, 426, 0, 0, 0, 0, 429, 432, 0,
2947 0, 0, 435, 0, 0, 438, 441, 444, 447, 0,
2948 0, 0, 450, 0, 0, 0, 0, 0, 0, 0,
2949 0, 0, 0, 0, 0, 0, 0, 453, 456, 0,
2950 0, 0, 149, 0, 0, 0, 0, 151, 0, 0,
2951 459, 462, 0, 0, 153, 0, 465, 468, 471, 474,
2952 477, 0, 0, 0, 0, 0, 0, 0, 480, 0,
2953 0, 0, 0, 0, 0, 0, 0, 0, 483, 0,
2954 486, 489, 492, 495, 498, 501, 0, 504, 0, 0,
2955 507, 510, 513, 516, 519, 522, 525, 528, 531, 534,
2956 537, 540, 543, 546, 549, 552, 557, 0, 555, 0,
2957 0, 0, 155, 0, 0, 559, 0, 0, 0, 0,
2958 561, 563, 0, 0, 0, 565, 0, 0, 567, 569,
2959 571, 573, 0, 0, 0, 575, 0, 0, 0, 0,
2960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2961 577, 579, 0, 0, 0, 0, 0, 0, 0, 0,
2962 0, 0, 0, 581, 583, 0, 0, 0, 0, 585,
2963 587, 589, 591, 593, 0, 0, 0, 0, 0, 0,
2964 0, 595, 0, 0, 0, 0, 0, 0, 0, 0,
2965 0, 597, 0, 599, 601, 603, 605, 607, 609, 0,
2966 611, 0, 0, 613, 615, 617, 619, 621, 623, 625,
2967 627, 629, 631, 633, 635, 637, 639, 641, 643, 645,
2968 0, 0, 0, 0, 0, 0, 0, 0, 647, 0,
2969 0, 0, 0, 649, 651, 0, 0, 0, 653, 0,
2970 0, 655, 657, 659, 661, 0, 0, 0, 663, 0,
2971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2972 0, 0, 0, 665, 667, 0, 0, 0, 0, 0,
2973 0, 0, 0, 0, 0, 0, 669, 671, 0, 0,
2974 0, 0, 673, 675, 677, 679, 681, 0, 0, 0,
2975 0, 0, 0, 0, 683, 0, 0, 0, 0, 0,
2976 0, 0, 0, 0, 685, 0, 687, 689, 691, 693,
2977 695, 697, 0, 699, 0, 0, 701, 703, 705, 707,
2978 709, 711, 713, 715, 717, 719, 721, 723, 725, 727,
2979 729, 731, 733, 0, 0, 0, 0, 0, 0, 0,
2980 0, 735, 0, 0, 0, 0, 737, 739, 0, 0,
2981 0, 741, 0, 0, 743, 745, 747, 749, 0, 0,
2982 0, 751, 0, 0, 0, 0, 0, 0, 0, 0,
2983 0, 0, 0, 0, 0, 0, 753, 755, 0, 0,
2984 0, 0, 0, 0, 0, 0, 0, 0, 0, 757,
2985 759, 0, 0, 0, 0, 761, 763, 765, 767, 769,
2986 0, 0, 0, 0, 0, 0, 0, 771, 0, 0,
2987 0, 0, 0, 0, 0, 0, 0, 773, 0, 775,
2988 777, 779, 781, 783, 785, 0, 787, 0, 0, 789,
2989 791, 793, 795, 797, 799, 801, 803, 805, 807, 809,
2990 811, 813, 815, 817, 819, 821, 0, 0, 0, 0,
2991 0, 0, 0, 0, 823, 0, 0, 0, 0, 825,
2992 827, 0, 0, 0, 829, 0, 0, 831, 833, 835,
2993 837, 0, 0, 0, 839, 0, 0, 0, 0, 0,
2994 0, 0, 0, 0, 0, 0, 0, 0, 0, 841,
2995 843, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2996 0, 0, 845, 847, 0, 0, 0, 0, 849, 851,
2997 853, 855, 857, 0, 0, 0, 0, 0, 0, 0,
2998 859, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2999 861, 0, 863, 865, 867, 869, 871, 873, 0, 875,
3000 0, 0, 877, 879, 881, 883, 885, 887, 889, 891,
3001 893, 895, 897, 899, 901, 903, 905, 907, 909, 0,
3002 0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
3003 0, 0, 913, 915, 0, 0, 0, 917, 0, 0,
3004 919, 921, 923, 925, 0, 0, 0, 927, 0, 0,
3005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3006 0, 0, 929, 931, 0, 0, 0, 0, 0, 0,
3007 0, 0, 0, 0, 0, 933, 935, 0, 0, 0,
3008 0, 937, 939, 941, 943, 945, 0, 0, 0, 0,
3009 0, 0, 0, 947, 0, 0, 0, 0, 0, 0,
3010 0, 0, 0, 949, 0, 951, 953, 955, 957, 959,
3011 961, 0, 963, 0, 0, 965, 967, 969, 971, 973,
3012 975, 977, 979, 981, 983, 985, 987, 989, 991, 993,
3013 995, 997, 0, 0, 0, 0, 0, 0, 0, 0,
3014 999, 0, 0, 0, 0, 1001, 1003, 0, 0, 0,
3015 1005, 0, 0, 1007, 1009, 1011, 1013, 0, 0, 0,
3016 1015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3017 0, 0, 0, 0, 0, 1017, 1019, 0, 0, 0,
3018 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1023,
3019 0, 0, 0, 0, 1025, 1027, 1029, 1031, 1033, 0,
3020 0, 0, 0, 0, 0, 0, 1035, 0, 0, 0,
3021 0, 0, 0, 0, 0, 0, 1037, 0, 1039, 1041,
3022 1043, 1045, 1047, 1049, 0, 1051, 0, 0, 1053, 1055,
3023 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075,
3024 1077, 1079, 1081, 1083, 1085, 0, 0, 0, 0, 0,
3025 0, 0, 0, 1087, 0, 0, 0, 0, 1089, 1091,
3026 0, 0, 0, 1093, 0, 0, 1095, 1097, 1099, 1101,
3027 0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
3028 0, 0, 0, 0, 0, 0, 0, 0, 1105, 1107,
3029 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3030 0, 1109, 1111, 0, 0, 0, 0, 1113, 1115, 1117,
3031 1119, 1121, 0, 0, 0, 0, 0, 0, 0, 1123,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 1125,
3033 0, 1127, 1129, 1131, 1133, 1135, 1137, 0, 1139, 0,
3034 0, 1141, 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157,
3035 1159, 1161, 1163, 1165, 1167, 1169, 1171, 1173, 0, 0,
3036 0, 0, 0, 0, 0, 0, 1175, 0, 0, 0,
3037 0, 1177, 1179, 0, 0, 0, 1181, 0, 0, 1183,
3038 1185, 1187, 1189, 0, 0, 0, 1191, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 0, 1193, 1195, 0, 0, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 1197, 1199, 0, 0, 0, 0,
3042 1201, 1203, 1205, 1207, 1209, 0, 0, 0, 0, 0,
3043 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
3044 0, 0, 1213, 0, 1215, 1217, 1219, 1221, 1223, 1225,
3045 0, 1227, 0, 0, 1229, 1231, 1233, 1235, 1237, 1239,
3046 1241, 1243, 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259,
3047 1261, 0, 0, 0, 0, 0, 0, 0, 0, 1263,
3048 0, 0, 0, 0, 1265, 1267, 0, 0, 0, 1269,
3049 0, 0, 1271, 1273, 1275, 1277, 0, 0, 0, 1279,
3050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3051 0, 0, 0, 0, 1281, 1283, 0, 0, 0, 0,
3052 0, 0, 0, 0, 0, 0, 0, 1285, 1287, 0,
3053 0, 0, 0, 1289, 1291, 1293, 1295, 1297, 0, 0,
3054 0, 0, 0, 0, 0, 1299, 0, 0, 0, 0,
3055 0, 0, 0, 0, 0, 1301, 0, 1303, 1305, 1307,
3056 1309, 1311, 1313, 0, 1315, 0, 0, 1317, 1319, 1321,
3057 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341,
3058 1343, 1345, 1347, 1349, 0, 0, 0, 0, 0, 0,
3059 0, 0, 1351, 0, 0, 0, 0, 1353, 1355, 0,
3060 0, 0, 1357, 0, 0, 1359, 1361, 1363, 1365, 0,
3061 0, 0, 1367, 0, 0, 0, 0, 0, 0, 0,
3062 0, 0, 0, 0, 0, 0, 0, 1369, 1371, 0,
3063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3064 1373, 1375, 0, 0, 0, 0, 1377, 1379, 1381, 1383,
3065 1385, 0, 0, 0, 0, 0, 0, 0, 1387, 0,
3066 0, 0, 0, 0, 0, 0, 0, 0, 1389, 0,
3067 1391, 1393, 1395, 1397, 1399, 1401, 0, 1403, 0, 0,
3068 1405, 1407, 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423,
3069 1425, 1427, 1429, 1431, 1433, 1435, 1437, 0, 0, 0,
3070 0, 0, 0, 0, 0, 1439, 0, 0, 0, 0,
3071 1441, 1443, 0, 0, 0, 1445, 0, 0, 1447, 1449,
3072 1451, 1453, 0, 0, 0, 1455, 0, 0, 0, 0,
3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3074 1457, 1459, 0, 0, 0, 0, 0, 0, 0, 0,
3075 0, 0, 0, 1461, 1463, 0, 0, 0, 0, 1465,
3076 1467, 1469, 1471, 1473, 0, 0, 0, 0, 0, 0,
3077 0, 1475, 0, 0, 0, 0, 0, 0, 0, 0,
3078 0, 1477, 0, 1479, 1481, 1483, 1485, 1487, 1489, 0,
3079 1491, 0, 0, 1493, 1495, 1497, 1499, 1501, 1503, 1505,
3080 1507, 1509, 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525,
3081 0, 0, 0, 0, 0, 0, 0, 0, 1527, 0,
3082 0, 0, 0, 1529, 1531, 0, 0, 0, 1533, 0,
3083 0, 1535, 1537, 1539, 1541, 0, 0, 0, 1543, 0,
3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3085 0, 0, 0, 1545, 1547, 0, 0, 0, 0, 0,
3086 0, 0, 0, 0, 0, 0, 1549, 1551, 0, 0,
3087 0, 0, 1553, 1555, 1557, 1559, 1561, 0, 0, 0,
3088 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0,
3089 0, 0, 0, 0, 1565, 0, 1567, 1569, 1571, 1573,
3090 1575, 1577, 0, 1579, 0, 0, 1581, 1583, 1585, 1587,
3091 1589, 1591, 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607,
3092 1609, 1611, 1613, 0, 0, 0, 0, 0, 0, 0,
3093 0, 1615, 0, 0, 0, 0, 1617, 1619, 0, 0,
3094 0, 1621, 0, 0, 1623, 1625, 1627, 1629, 0, 0,
3095 0, 1631, 0, 0, 0, 0, 0, 0, 0, 0,
3096 0, 0, 0, 0, 0, 0, 1633, 1635, 0, 0,
3097 0, 0, 0, 0, 0, 0, 0, 0, 0, 1637,
3098 1639, 0, 0, 0, 0, 1641, 1643, 1645, 1647, 1649,
3099 0, 0, 0, 0, 0, 0, 0, 1651, 0, 0,
3100 0, 0, 0, 0, 0, 0, 0, 1653, 0, 1655,
3101 1657, 1659, 1661, 1663, 1665, 0, 1667, 0, 0, 1669,
3102 1671, 1673, 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689,
3103 1691, 1693, 1695, 1697, 1699, 1701, 0, 0, 0, 0,
3104 0, 0, 0, 0, 1703, 0, 0, 0, 0, 1705,
3105 1707, 0, 0, 0, 1709, 0, 0, 1711, 1713, 1715,
3106 1717, 0, 0, 0, 1719, 0, 0, 0, 0, 0,
3107 0, 0, 0, 0, 0, 0, 0, 0, 0, 1721,
3108 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109 0, 0, 1725, 1727, 0, 0, 0, 0, 1729, 1731,
3110 1733, 1735, 1737, 0, 0, 0, 0, 0, 0, 0,
3111 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3112 1741, 0, 1743, 1745, 1747, 1749, 1751, 1753, 0, 1755,
3113 0, 0, 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771,
3114 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1789, 0,
3115 0, 0, 0, 0, 0, 0, 0, 1791, 0, 0,
3116 0, 0, 1793, 1795, 0, 0, 0, 1797, 0, 0,
3117 1799, 1801, 1803, 1805, 0, 0, 0, 1807, 0, 0,
3118 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3119 0, 0, 1809, 1811, 0, 0, 0, 0, 0, 0,
3120 0, 0, 0, 0, 0, 1813, 1815, 0, 0, 0,
3121 0, 1817, 1819, 1821, 1823, 1825, 0, 0, 0, 0,
3122 0, 0, 0, 1827, 0, 0, 0, 0, 0, 0,
3123 0, 0, 0, 1829, 0, 1831, 1833, 1835, 1837, 1839,
3124 1841, 0, 1843, 0, 0, 1845, 1847, 1849, 1851, 1853,
3125 1855, 1857, 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873,
3126 1875, 1877, 0, 0, 0, 0, 0, 0, 0, 0,
3127 1879, 0, 0, 0, 0, 1881, 1883, 0, 0, 0,
3128 1885, 0, 0, 1887, 1889, 1891, 1893, 0, 0, 0,
3129 1895, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3130 0, 0, 0, 0, 0, 1897, 1899, 0, 0, 0,
3131 0, 0, 0, 0, 0, 0, 0, 0, 1901, 1903,
3132 0, 0, 0, 0, 1905, 1907, 1909, 1911, 1913, 0,
3133 0, 0, 0, 0, 0, 0, 1915, 0, 0, 0,
3134 0, 0, 0, 0, 0, 0, 1917, 0, 1919, 1921,
3135 1923, 1925, 1927, 1929, 0, 1931, 0, 0, 1933, 1935,
3136 1937, 1939, 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955,
3137 1957, 1959, 1961, 1963, 1965, 0, 0, 0, 0, 0,
3138 0, 0, 0, 1967, 0, 0, 0, 0, 1969, 1971,
3139 0, 0, 0, 1973, 0, 0, 1975, 1977, 1979, 1981,
3140 0, 0, 0, 1983, 0, 0, 0, 0, 0, 0,
3141 0, 0, 0, 0, 0, 0, 0, 0, 1985, 1987,
3142 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3143 0, 1989, 1991, 0, 0, 0, 0, 1993, 1995, 1997,
3144 1999, 2001, 0, 0, 0, 0, 0, 0, 0, 2003,
3145 0, 0, 0, 0, 0, 0, 0, 0, 0, 2005,
3146 0, 2007, 2009, 2011, 2013, 2015, 2017, 0, 2019, 0,
3147 0, 2021, 2023, 2025, 2027, 2029, 2031, 2033, 2035, 2037,
3148 2039, 2041, 2043, 2045, 2047, 2049, 2051, 2053, 0, 0,
3149 0, 0, 0, 0, 0, 0, 2055, 0, 0, 0,
3150 0, 2057, 2059, 0, 0, 0, 2061, 0, 0, 2063,
3151 2065, 2067, 2069, 0, 0, 0, 2071, 0, 0, 0,
3152 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3153 0, 2073, 2075, 0, 0, 0, 0, 0, 0, 0,
3154 0, 0, 0, 0, 2077, 2079, 0, 0, 0, 0,
3155 2081, 2083, 2085, 2087, 2089, 0, 0, 0, 0, 0,
3156 0, 0, 2091, 0, 0, 0, 0, 0, 0, 0,
3157 0, 0, 2093, 0, 2095, 2097, 2099, 2101, 2103, 2105,
3158 0, 2107, 0, 0, 2109, 2111, 2113, 2115, 2117, 2119,
3159 2121, 2123, 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139,
3160 2141, 0, 0, 0, 0, 0, 0, 0, 0, 2143,
3161 0, 0, 0, 0, 2145, 2147, 0, 0, 0, 2149,
3162 0, 0, 2151, 2153, 2155, 2157, 0, 0, 0, 2159,
3163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3164 0, 0, 0, 0, 2161, 2163, 0, 0, 0, 0,
3165 0, 0, 0, 0, 0, 0, 0, 2165, 2167, 0,
3166 0, 0, 0, 2169, 2171, 2173, 2175, 2177, 0, 0,
3167 0, 0, 0, 0, 0, 2179, 0, 0, 0, 0,
3168 0, 0, 0, 0, 0, 2181, 0, 2183, 2185, 2187,
3169 2189, 2191, 2193, 0, 2195, 0, 0, 2197, 2199, 2201,
3170 2203, 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221,
3171 2223, 2225, 2227, 2229, 0, 0, 0, 0, 0, 0,
3172 0, 0, 2231, 0, 0, 0, 0, 2233, 2235, 0,
3173 0, 0, 2237, 0, 0, 2239, 2241, 2243, 2245, 0,
3174 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0,
3175 0, 0, 0, 0, 0, 0, 0, 2249, 2251, 0,
3176 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3177 2253, 2255, 0, 0, 0, 0, 2257, 2259, 2261, 2263,
3178 2265, 0, 0, 0, 0, 0, 0, 0, 2267, 0,
3179 0, 0, 0, 0, 0, 0, 0, 0, 2269, 0,
3180 2271, 2273, 2275, 2277, 2279, 2281, 0, 2283, 0, 0,
3181 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303,
3182 2305, 2307, 2309, 2311, 2313, 2315, 2317, 0, 0, 0,
3183 0, 0, 0, 0, 0, 2319, 0, 0, 0, 0,
3184 2321, 2323, 0, 0, 0, 2325, 0, 0, 2327, 2329,
3185 2331, 2333, 0, 0, 0, 2335, 0, 0, 0, 0,
3186 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3187 2337, 2339, 0, 0, 0, 0, 0, 0, 0, 0,
3188 0, 0, 0, 2341, 2343, 0, 0, 0, 0, 2345,
3189 2347, 2349, 2351, 2353, 0, 0, 0, 0, 0, 0,
3190 0, 2355, 0, 0, 0, 0, 0, 0, 0, 0,
3191 0, 2357, 0, 2359, 2361, 2363, 2365, 2367, 2369, 0,
3192 2371, 0, 0, 2373, 2375, 2377, 2379, 2381, 2383, 2385,
3193 2387, 2389, 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405,
3194 0, 0, 0, 0, 0, 0, 0, 0, 2407, 0,
3195 0, 0, 0, 2409, 2411, 0, 0, 0, 2413, 0,
3196 0, 2415, 2417, 2419, 2421, 0, 0, 0, 2423, 0,
3197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3198 0, 0, 0, 2425, 2427, 0, 0, 0, 0, 0,
3199 0, 0, 0, 0, 0, 0, 2429, 2431, 0, 0,
3200 0, 0, 2433, 2435, 2437, 2439, 2441, 0, 0, 0,
3201 0, 0, 0, 0, 2443, 0, 0, 0, 0, 0,
3202 0, 0, 0, 0, 2445, 0, 2447, 2449, 2451, 2453,
3203 2455, 2457, 0, 2459, 0, 0, 2461, 2463, 2465, 2467,
3204 2469, 2471, 2473, 2475, 2477, 2479, 2481, 2483, 2485, 2487,
3205 2489, 2491, 2493, 0, 0, 0, 0, 0, 0, 0,
3206 0, 2495, 0, 0, 0, 0, 2497, 2499, 0, 0,
3207 0, 2501, 0, 0, 2503, 2505, 2507, 2509, 0, 0,
3208 0, 2511, 0, 0, 0, 0, 0, 0, 0, 0,
3209 0, 0, 0, 0, 0, 0, 2513, 2515, 0, 0,
3210 0, 0, 0, 0, 0, 0, 0, 0, 0, 2517,
3211 2519, 0, 0, 0, 0, 2521, 2523, 2525, 2527, 2529,
3212 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0,
3213 0, 0, 0, 0, 0, 0, 0, 2533, 0, 2535,
3214 2537, 2539, 2541, 2543, 2545, 0, 2547, 0, 0, 2549,
3215 2551, 2553, 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569,
3216 2571, 2573, 2575, 2577, 2579, 2581, 0, 0, 0, 0,
3217 0, 0, 0, 0, 2583, 0, 0, 0, 0, 2585,
3218 2587, 0, 0, 0, 2589, 0, 0, 2591, 2593, 2595,
3219 2597, 0, 0, 0, 2599, 0, 0, 0, 0, 0,
3220 0, 0, 0, 0, 0, 0, 0, 0, 0, 2601,
3221 2603, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3222 0, 0, 2605, 2607, 0, 0, 0, 0, 2609, 2611,
3223 2613, 2615, 2617, 0, 0, 0, 0, 0, 0, 0,
3224 2619, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3225 2621, 0, 2623, 2625, 2627, 2629, 2631, 2633, 0, 2635,
3226 0, 0, 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651,
3227 2653, 2655, 2657, 2659, 2661, 2663, 2665, 2667, 2669, 0,
3228 0, 0, 0, 0, 0, 0, 0, 2671, 0, 0,
3229 0, 0, 2673, 2675, 0, 0, 0, 2677, 0, 0,
3230 2679, 2681, 2683, 2685, 0, 0, 0, 2687, 0, 0,
3231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3232 0, 0, 2689, 2691, 0, 0, 0, 0, 0, 0,
3233 0, 0, 0, 0, 0, 2693, 2695, 0, 0, 0,
3234 0, 2697, 2699, 2701, 2703, 2705, 0, 0, 0, 0,
3235 0, 0, 0, 2707, 0, 0, 0, 0, 0, 0,
3236 0, 0, 0, 2709, 0, 2711, 2713, 2715, 2717, 2719,
3237 2721, 0, 2723, 0, 0, 2725, 2727, 2729, 2731, 2733,
3238 2735, 2737, 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753,
3239 2755, 2757, 0, 0, 0, 0, 0, 0, 0, 0,
3240 2759, 0, 0, 0, 0, 2761, 2763, 0, 0, 0,
3241 2765, 0, 0, 2767, 2769, 2771, 2773, 0, 0, 0,
3242 2775, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3243 0, 0, 0, 0, 0, 2777, 2779, 0, 0, 0,
3244 0, 0, 0, 0, 0, 0, 0, 0, 2781, 2783,
3245 0, 0, 0, 0, 2785, 2787, 2789, 2791, 2793, 0,
3246 0, 0, 0, 0, 0, 0, 2795, 0, 0, 0,
3247 0, 0, 0, 0, 0, 0, 2797, 0, 2799, 2801,
3248 2803, 2805, 2807, 2809, 0, 2811, 0, 0, 2813, 2815,
3249 2817, 2819, 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835,
3250 2837, 2839, 2841, 2843, 2845, 0, 0, 0, 0, 0,
3251 0, 0, 0, 2847, 0, 0, 0, 0, 2849, 2851,
3252 0, 0, 0, 2853, 0, 0, 2855, 2857, 2859, 2861,
3253 0, 0, 0, 2863, 0, 0, 0, 0, 0, 0,
3254 0, 0, 0, 0, 0, 0, 0, 0, 2865, 2867,
3255 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3256 0, 2869, 2871, 0, 0, 0, 0, 2873, 2875, 2877,
3257 2879, 2881, 0, 0, 0, 0, 0, 0, 0, 2883,
3258 0, 0, 0, 0, 0, 0, 0, 0, 0, 2885,
3259 0, 2887, 2889, 2891, 2893, 2895, 2897, 0, 2899, 0,
3260 0, 2901, 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917,
3261 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, 0, 0,
3262 0, 0, 0, 0, 0, 0, 2935, 0, 0, 0,
3263 0, 2937, 2939, 0, 0, 0, 2941, 0, 0, 2943,
3264 2945, 2947, 2949, 0, 0, 0, 2951, 0, 0, 0,
3265 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3266 0, 2953, 2955, 0, 0, 0, 0, 0, 0, 0,
3267 0, 0, 0, 0, 2957, 2959, 0, 0, 0, 0,
3268 2961, 2963, 2965, 2967, 2969, 0, 0, 0, 0, 0,
3269 0, 0, 2971, 0, 0, 0, 0, 0, 0, 0,
3270 0, 0, 2973, 0, 2975, 2977, 2979, 2981, 2983, 2985,
3271 0, 2987, 0, 0, 2989, 2991, 2993, 2995, 2997, 2999,
3272 3001, 3003, 3005, 3007, 3009, 3011, 3013, 3015, 3017, 3019,
3273 3021, 0, 0, 0, 0, 0, 0, 0, 0, 3023,
3274 0, 0, 0, 0, 3025, 3027, 0, 0, 0, 3029,
3275 0, 0, 3031, 3033, 3035, 3037, 0, 0, 0, 3039,
3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3277 0, 0, 0, 0, 3041, 3043, 0, 0, 0, 0,
3278 0, 0, 0, 0, 0, 0, 0, 3045, 3047, 0,
3279 0, 0, 0, 3049, 3051, 3053, 3055, 3057, 0, 0,
3280 0, 0, 0, 0, 0, 3059, 0, 0, 0, 0,
3281 0, 0, 0, 0, 0, 3061, 0, 3063, 3065, 3067,
3282 3069, 3071, 3073, 0, 3075, 0, 0, 3077, 3079, 3081,
3283 3083, 3085, 3087, 3089, 3091, 3093, 3095, 3097, 3099, 3101,
3284 3103, 3105, 3107, 3109, 0, 0, 0, 0, 0, 0,
3285 0, 0, 3111, 0, 0, 0, 0, 3113, 3115, 0,
3286 0, 0, 3117, 0, 0, 3119, 3121, 3123, 3125, 0,
3287 0, 0, 3127, 0, 0, 0, 0, 0, 0, 0,
3288 0, 0, 0, 0, 0, 0, 0, 3129, 3131, 0,
3289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290 3133, 3135, 0, 0, 0, 0, 3137, 3139, 3141, 3143,
3291 3145, 0, 0, 0, 0, 0, 0, 0, 3147, 0,
3292 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0,
3293 3151, 3153, 3155, 3157, 3159, 3161, 0, 3163, 0, 0,
3294 3165, 3167, 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183,
3295 3185, 3187, 3189, 3191, 3193, 3195, 0, 0, 0, 0,
3296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301 0, 0, 0, 0, 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, 17,
3307 0, 0, 0, 0, 0, 0, 0, 0, 19, 0,
3308 0, 0, 0, 21, 23, 0, 0, 0, 25, 0,
3309 0, 0, 0, 0, 0, 27, 29, 31, 33, 35,
3310 37, 39, 41, 43, 45, 47, 49, 0, 51, 53,
3311 55, 57, 59, 61, 63, 65, 67, 69, 71, 73,
3312 75, 77, 79, 81, 83, 85, 0, 0, 0, 0,
3313 0, 87, 89, 91, 93, 95, 97, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 99, 101, 0, 103, 105, 107, 109,
3316 111, 113, 0, 115, 0, 0, 117, 119, 121, 123,
3317 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
3318 145, 147, 0, 0, 0, 0, 0, 0, 0, 0,
3319 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3322 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3323 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 3227, 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, 3229
3532 };
3533
3534 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3535 0, pointed into by YYCONFLP. */
3536 static const short yyconfl[] =
3537 {
3538 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3539 0, 377, 0, 400, 0, 461, 0, 615, 0, 615,
3540 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3541 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3542 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3543 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3544 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3545 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3546 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3547 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3548 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3549 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3550 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3551 0, 615, 0, 615, 0, 615, 0, 615, 0, 615,
3552 0, 615, 0, 615, 0, 615, 0, 615, 0, 386,
3553 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3554 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3555 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3556 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3557 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3558 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3559 0, 43, 0, 43, 0, 43, 0, 43, 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, 52, 0, 52,
3563 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3564 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3565 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3566 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3567 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3568 0, 52, 0, 52, 0, 52, 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, 616, 0, 616, 0, 616,
3572 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3573 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3574 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3575 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3576 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3577 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3578 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3579 0, 616, 0, 616, 0, 616, 0, 616, 0, 616,
3580 0, 616, 0, 577, 615, 0, 577, 615, 0, 577,
3581 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3582 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3583 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3584 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3585 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3586 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3587 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3588 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3589 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3590 615, 0, 577, 615, 0, 577, 615, 0, 577, 615,
3591 0, 577, 615, 0, 577, 615, 0, 577, 615, 0,
3592 577, 615, 0, 577, 615, 0, 577, 615, 0, 577,
3593 615, 0, 577, 615, 0, 615, 0, 62, 0, 62,
3594 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3595 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3596 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3597 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3598 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3599 0, 62, 0, 62, 0, 62, 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, 106, 0, 106, 0, 106,
3603 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3604 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3605 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3606 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3607 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3608 0, 106, 0, 106, 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, 107, 0, 107, 0, 107, 0, 107,
3612 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3613 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3614 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3615 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3616 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3617 0, 107, 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, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3621 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3622 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3623 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3624 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3625 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
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, 103,
3629 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3630 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3631 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3632 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3633 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3634 0, 103, 0, 103, 0, 103, 0, 103, 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, 104, 0, 104,
3638 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3639 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3640 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3641 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3642 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3643 0, 104, 0, 104, 0, 104, 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, 124, 0, 124, 0, 124,
3647 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3648 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3649 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3650 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3651 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3652 0, 124, 0, 124, 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, 126, 0, 126, 0, 126, 0, 126,
3656 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3657 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3658 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3659 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3660 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3661 0, 126, 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, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3665 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3666 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3667 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3668 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3669 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
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, 128,
3673 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3674 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3675 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3676 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3677 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3678 0, 128, 0, 128, 0, 128, 0, 128, 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, 129, 0, 129,
3682 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3683 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3684 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3685 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3686 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3687 0, 129, 0, 129, 0, 129, 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, 130, 0, 130, 0, 130,
3691 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3692 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3693 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3694 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3695 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3696 0, 130, 0, 130, 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, 131, 0, 131, 0, 131, 0, 131,
3700 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3701 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3702 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3703 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3704 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3705 0, 131, 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, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3709 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3710 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3711 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3712 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3713 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
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, 585,
3717 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3718 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3719 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3720 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3721 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3722 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3723 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3724 0, 585, 0, 585, 0, 585, 0, 585, 0, 585,
3725 0, 585, 0, 585, 0, 585, 0, 584, 0, 584,
3726 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3727 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3728 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3729 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3730 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3731 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3732 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3733 0, 584, 0, 584, 0, 584, 0, 584, 0, 584,
3734 0, 584, 0, 584, 0, 582, 0, 582, 0, 582,
3735 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3736 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3737 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3738 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3739 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3740 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3741 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3742 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3743 0, 582, 0, 580, 0, 580, 0, 580, 0, 580,
3744 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3745 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3746 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3747 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3748 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3749 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3750 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3751 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3752 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3753 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3754 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3755 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3756 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3757 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3758 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3759 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3760 0, 581, 0, 581, 0, 581, 0, 581, 0, 583,
3761 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3762 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3763 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3764 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3765 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3766 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3767 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3768 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3769 0, 583, 0, 583, 0, 583, 0, 579, 0, 579,
3770 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3771 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3772 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3773 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3774 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3775 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3776 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3777 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3778 0, 579, 0, 579, 0, 578, 0, 578, 0, 578,
3779 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3780 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3781 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3782 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3783 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3784 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3785 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3786 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3787 0, 578, 0, 586, 0, 586, 0, 586, 0, 586,
3788 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3789 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3790 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3791 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3792 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3793 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3794 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3795 0, 586, 0, 586, 0, 586, 0, 586, 0, 586,
3796 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3797 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3798 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3799 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3800 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3801 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
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, 614,
3805 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3806 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3807 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3808 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3809 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3810 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3811 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3812 0, 614, 0, 614, 0, 614, 0, 614, 0, 614,
3813 0, 614, 0, 614, 0, 614, 0, 612, 0, 612,
3814 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3815 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3816 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3817 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3818 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3819 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3820 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3821 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3822 0, 612, 0, 612, 0, 611, 0, 611, 0, 611,
3823 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3824 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3825 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3826 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3827 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3828 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3829 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3830 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3831 0, 611, 0, 613, 0, 613, 0, 613, 0, 613,
3832 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3833 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3834 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3835 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3836 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3837 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3838 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3839 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
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, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3847 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3848 0, 610, 0, 610, 0, 610, 0, 610, 0, 609,
3849 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3850 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3851 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3852 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3853 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3854 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3855 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3856 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3857 0, 609, 0, 609, 0, 609, 0, 504, 0, 504,
3858 0, 454, 0, 454, 0, 455, 0, 42, 0, 490,
3859 0, 490, 0, 490, 0, 616, 0, 386, 0, 565,
3860 0, 565, 0, 565, 0, 616, 0, 339, 0, 486,
3861 0
3862 };
3863
3864 /* Error token number */
3865 #define YYTERROR 1
3866
3867
3868
3869
3870 #undef yynerrs
3871 #define yynerrs (yystackp->yyerrcnt)
3872 #undef yychar
3873 #define yychar (yystackp->yyrawchar)
3874 #undef yylval
3875 #define yylval (yystackp->yyval)
3876 #undef yylloc
3877 #define yylloc (yystackp->yyloc)
3878 #define psi_parser_proc_nerrs yynerrs
3879 #define psi_parser_proc_char yychar
3880 #define psi_parser_proc_lval yylval
3881 #define psi_parser_proc_lloc yylloc
3882
3883 static const int YYEOF = 0;
3884 static const int YYEMPTY = -2;
3885
3886 typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
3887
3888 #define YYCHK(YYE) \
3889 do { \
3890 YYRESULTTAG yychk_flag = YYE; \
3891 if (yychk_flag != yyok) \
3892 return yychk_flag; \
3893 } while (0)
3894
3895 #if YYDEBUG
3896
3897 # ifndef YYFPRINTF
3898 # define YYFPRINTF fprintf
3899 # endif
3900
3901 /* This macro is provided for backward compatibility. */
3902 #ifndef YY_LOCATION_PRINT
3903 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3904 #endif
3905
3906
3907 # define YYDPRINTF(Args) \
3908 do { \
3909 if (yydebug) \
3910 YYFPRINTF Args; \
3911 } while (0)
3912
3913
3914 /*----------------------------------------.
3915 | Print this symbol's value on YYOUTPUT. |
3916 `----------------------------------------*/
3917
3918 static void
3919 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3920 {
3921 FILE *yyo = yyoutput;
3922 YYUSE (yyo);
3923 YYUSE (P);
3924 YYUSE (tokens);
3925 YYUSE (index);
3926 if (!yyvaluep)
3927 return;
3928 YYUSE (yytype);
3929 }
3930
3931
3932 /*--------------------------------.
3933 | Print this symbol on YYOUTPUT. |
3934 `--------------------------------*/
3935
3936 static void
3937 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3938 {
3939 YYFPRINTF (yyoutput, "%s %s (",
3940 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3941
3942 yy_symbol_value_print (yyoutput, yytype, yyvaluep, P, tokens, index);
3943 YYFPRINTF (yyoutput, ")");
3944 }
3945
3946 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3947 do { \
3948 if (yydebug) \
3949 { \
3950 YYFPRINTF (stderr, "%s ", Title); \
3951 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3952 YYFPRINTF (stderr, "\n"); \
3953 } \
3954 } while (0)
3955
3956 /* Nonzero means print parse trace. It is left uninitialized so that
3957 multiple parsers can coexist. */
3958 int yydebug;
3959
3960 struct yyGLRStack;
3961 static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
3962 YY_ATTRIBUTE_UNUSED;
3963 static void yypdumpstack (struct yyGLRStack* yystackp)
3964 YY_ATTRIBUTE_UNUSED;
3965
3966 #else /* !YYDEBUG */
3967
3968 # define YYDPRINTF(Args)
3969 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3970
3971 #endif /* !YYDEBUG */
3972
3973 /* YYINITDEPTH -- initial size of the parser's stacks. */
3974 #ifndef YYINITDEPTH
3975 # define YYINITDEPTH 200
3976 #endif
3977
3978 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3979 if the built-in stack extension method is used).
3980
3981 Do not make this value too large; the results are undefined if
3982 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3983 evaluated with infinite-precision integer arithmetic. */
3984
3985 #ifndef YYMAXDEPTH
3986 # define YYMAXDEPTH 10000
3987 #endif
3988
3989 /* Minimum number of free items on the stack allowed after an
3990 allocation. This is to allow allocation and initialization
3991 to be completed by functions that call yyexpandGLRStack before the
3992 stack is expanded, thus insuring that all necessary pointers get
3993 properly redirected to new data. */
3994 #define YYHEADROOM 2
3995
3996 #ifndef YYSTACKEXPANDABLE
3997 # define YYSTACKEXPANDABLE 1
3998 #endif
3999
4000 #if YYSTACKEXPANDABLE
4001 # define YY_RESERVE_GLRSTACK(Yystack) \
4002 do { \
4003 if (Yystack->yyspaceLeft < YYHEADROOM) \
4004 yyexpandGLRStack (Yystack); \
4005 } while (0)
4006 #else
4007 # define YY_RESERVE_GLRSTACK(Yystack) \
4008 do { \
4009 if (Yystack->yyspaceLeft < YYHEADROOM) \
4010 yyMemoryExhausted (Yystack); \
4011 } while (0)
4012 #endif
4013
4014
4015 #if YYERROR_VERBOSE
4016
4017 # ifndef yystpcpy
4018 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4019 # define yystpcpy stpcpy
4020 # else
4021 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4022 YYDEST. */
4023 static char *
4024 yystpcpy (char *yydest, const char *yysrc)
4025 {
4026 char *yyd = yydest;
4027 const char *yys = yysrc;
4028
4029 while ((*yyd++ = *yys++) != '\0')
4030 continue;
4031
4032 return yyd - 1;
4033 }
4034 # endif
4035 # endif
4036
4037 # ifndef yytnamerr
4038 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4039 quotes and backslashes, so that it's suitable for yyerror. The
4040 heuristic is that double-quoting is unnecessary unless the string
4041 contains an apostrophe, a comma, or backslash (other than
4042 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4043 null, do not copy; instead, return the length of what the result
4044 would have been. */
4045 static size_t
4046 yytnamerr (char *yyres, const char *yystr)
4047 {
4048 if (*yystr == '"')
4049 {
4050 size_t yyn = 0;
4051 char const *yyp = yystr;
4052
4053 for (;;)
4054 switch (*++yyp)
4055 {
4056 case '\'':
4057 case ',':
4058 goto do_not_strip_quotes;
4059
4060 case '\\':
4061 if (*++yyp != '\\')
4062 goto do_not_strip_quotes;
4063 /* Fall through. */
4064 default:
4065 if (yyres)
4066 yyres[yyn] = *yyp;
4067 yyn++;
4068 break;
4069
4070 case '"':
4071 if (yyres)
4072 yyres[yyn] = '\0';
4073 return yyn;
4074 }
4075 do_not_strip_quotes: ;
4076 }
4077
4078 if (! yyres)
4079 return strlen (yystr);
4080
4081 return yystpcpy (yyres, yystr) - yyres;
4082 }
4083 # endif
4084
4085 #endif /* !YYERROR_VERBOSE */
4086
4087 /** State numbers, as in LALR(1) machine */
4088 typedef int yyStateNum;
4089
4090 /** Rule numbers, as in LALR(1) machine */
4091 typedef int yyRuleNum;
4092
4093 /** Grammar symbol */
4094 typedef int yySymbol;
4095
4096 /** Item references, as in LALR(1) machine */
4097 typedef short yyItemNum;
4098
4099 typedef struct yyGLRState yyGLRState;
4100 typedef struct yyGLRStateSet yyGLRStateSet;
4101 typedef struct yySemanticOption yySemanticOption;
4102 typedef union yyGLRStackItem yyGLRStackItem;
4103 typedef struct yyGLRStack yyGLRStack;
4104
4105 struct yyGLRState {
4106 /** Type tag: always true. */
4107 yybool yyisState;
4108 /** Type tag for yysemantics. If true, yysval applies, otherwise
4109 * yyfirstVal applies. */
4110 yybool yyresolved;
4111 /** Number of corresponding LALR(1) machine state. */
4112 yyStateNum yylrState;
4113 /** Preceding state in this stack */
4114 yyGLRState* yypred;
4115 /** Source position of the last token produced by my symbol */
4116 size_t yyposn;
4117 union {
4118 /** First in a chain of alternative reductions producing the
4119 * non-terminal corresponding to this state, threaded through
4120 * yynext. */
4121 yySemanticOption* yyfirstVal;
4122 /** Semantic value for this state. */
4123 YYSTYPE yysval;
4124 } yysemantics;
4125 };
4126
4127 struct yyGLRStateSet {
4128 yyGLRState** yystates;
4129 /** During nondeterministic operation, yylookaheadNeeds tracks which
4130 * stacks have actually needed the current lookahead. During deterministic
4131 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4132 * duplicate yychar != YYEMPTY. */
4133 yybool* yylookaheadNeeds;
4134 size_t yysize, yycapacity;
4135 };
4136
4137 struct yySemanticOption {
4138 /** Type tag: always false. */
4139 yybool yyisState;
4140 /** Rule number for this reduction */
4141 yyRuleNum yyrule;
4142 /** The last RHS state in the list of states to be reduced. */
4143 yyGLRState* yystate;
4144 /** The lookahead for this reduction. */
4145 int yyrawchar;
4146 YYSTYPE yyval;
4147 /** Next sibling in chain of options. To facilitate merging,
4148 * options are chained in decreasing order by address. */
4149 yySemanticOption* yynext;
4150 };
4151
4152 /** Type of the items in the GLR stack. The yyisState field
4153 * indicates which item of the union is valid. */
4154 union yyGLRStackItem {
4155 yyGLRState yystate;
4156 yySemanticOption yyoption;
4157 };
4158
4159 struct yyGLRStack {
4160 int yyerrState;
4161
4162
4163 int yyerrcnt;
4164 int yyrawchar;
4165 YYSTYPE yyval;
4166
4167 YYJMP_BUF yyexception_buffer;
4168 yyGLRStackItem* yyitems;
4169 yyGLRStackItem* yynextFree;
4170 size_t yyspaceLeft;
4171 yyGLRState* yysplitPoint;
4172 yyGLRState* yylastDeleted;
4173 yyGLRStateSet yytops;
4174 };
4175
4176 #if YYSTACKEXPANDABLE
4177 static void yyexpandGLRStack (yyGLRStack* yystackp);
4178 #endif
4179
4180 static _Noreturn void
4181 yyFail (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char* yymsg)
4182 {
4183 if (yymsg != YY_NULLPTR)
4184 yyerror (P, tokens, index, yymsg);
4185 YYLONGJMP (yystackp->yyexception_buffer, 1);
4186 }
4187
4188 static _Noreturn void
4189 yyMemoryExhausted (yyGLRStack* yystackp)
4190 {
4191 YYLONGJMP (yystackp->yyexception_buffer, 2);
4192 }
4193
4194 #if YYDEBUG || YYERROR_VERBOSE
4195 /** A printable representation of TOKEN. */
4196 static inline const char*
4197 yytokenName (yySymbol yytoken)
4198 {
4199 if (yytoken == YYEMPTY)
4200 return "";
4201
4202 return yytname[yytoken];
4203 }
4204 #endif
4205
4206 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4207 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4208 * containing the pointer to the next state in the chain. */
4209 static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED;
4210 static void
4211 yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
4212 {
4213 int i;
4214 yyGLRState *s = yyvsp[yylow0].yystate.yypred;
4215 for (i = yylow0-1; i >= yylow1; i -= 1)
4216 {
4217 #if YYDEBUG
4218 yyvsp[i].yystate.yylrState = s->yylrState;
4219 #endif
4220 yyvsp[i].yystate.yyresolved = s->yyresolved;
4221 if (s->yyresolved)
4222 yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
4223 else
4224 /* The effect of using yysval or yyloc (in an immediate rule) is
4225 * undefined. */
4226 yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR;
4227 s = yyvsp[i].yystate.yypred = s->yypred;
4228 }
4229 }
4230
4231 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4232 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4233 * For convenience, always return YYLOW1. */
4234 static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
4235 YY_ATTRIBUTE_UNUSED;
4236 static inline int
4237 yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
4238 {
4239 if (!yynormal && yylow1 < *yylow)
4240 {
4241 yyfillin (yyvsp, *yylow, yylow1);
4242 *yylow = yylow1;
4243 }
4244 return yylow1;
4245 }
4246
4247 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4248 * and top stack item YYVSP. YYLVALP points to place to put semantic
4249 * value ($$), and yylocp points to place for location information
4250 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4251 * yyerr for YYERROR, yyabort for YYABORT. */
4252 static YYRESULTTAG
4253 yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
4254 yyGLRStack* yystackp,
4255 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
4256 {
4257 yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR);
4258 int yylow;
4259 YYUSE (yyvalp);
4260 YYUSE (P);
4261 YYUSE (tokens);
4262 YYUSE (index);
4263 YYUSE (yyrhslen);
4264 # undef yyerrok
4265 # define yyerrok (yystackp->yyerrState = 0)
4266 # undef YYACCEPT
4267 # define YYACCEPT return yyaccept
4268 # undef YYABORT
4269 # define YYABORT return yyabort
4270 # undef YYERROR
4271 # define YYERROR return yyerrok, yyerr
4272 # undef YYRECOVERING
4273 # define YYRECOVERING() (yystackp->yyerrState != 0)
4274 # undef yyclearin
4275 # define yyclearin (yychar = YYEMPTY)
4276 # undef YYFILL
4277 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4278 # undef YYBACKUP
4279 # define YYBACKUP(Token, Value) \
4280 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4281 yyerrok, yyerr
4282
4283 yylow = 1;
4284 if (yyrhslen == 0)
4285 *yyvalp = yyval_default;
4286 else
4287 *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
4288 switch (yyn)
4289 {
4290 case 284:
4291 #line 452 "src/parser_proc_grammar.y" /* glr.c:817 */
4292 {
4293 if ((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4294 psi_cpp_exp_exec((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), P->preproc, PSI_DATA(P));
4295 psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4296 }
4297 }
4298 #line 4299 "src/parser_proc.c" /* glr.c:817 */
4299 break;
4300
4301 case 285:
4302 #line 458 "src/parser_proc_grammar.y" /* glr.c:817 */
4303 {
4304 char *libname = strdup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
4305 P->file.libnames = psi_plist_add(P->file.libnames, &libname);
4306 }
4307 #line 4308 "src/parser_proc.c" /* glr.c:817 */
4308 break;
4309
4310 case 286:
4311 #line 462 "src/parser_proc_grammar.y" /* glr.c:817 */
4312 {
4313 psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4314 }
4315 #line 4316 "src/parser_proc.c" /* glr.c:817 */
4316 break;
4317
4318 case 287:
4319 #line 465 "src/parser_proc_grammar.y" /* glr.c:817 */
4320 {
4321 psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4322 }
4323 #line 4324 "src/parser_proc.c" /* glr.c:817 */
4324 break;
4325
4326 case 288:
4327 #line 468 "src/parser_proc_grammar.y" /* glr.c:817 */
4328 {
4329 psi_parser_proc_add_decl_extvars(P, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4330 }
4331 #line 4332 "src/parser_proc.c" /* glr.c:817 */
4332 break;
4333
4334 case 289:
4335 #line 471 "src/parser_proc_grammar.y" /* glr.c:817 */
4336 {
4337 if (P->flags & PSI_DEBUG) {
4338 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);
4339 }
4340 psi_decl_free(&(*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4341 }
4342 #line 4343 "src/parser_proc.c" /* glr.c:817 */
4343 break;
4344
4345 case 290:
4346 #line 477 "src/parser_proc_grammar.y" /* glr.c:817 */
4347 {
4348 psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4349 }
4350 #line 4351 "src/parser_proc.c" /* glr.c:817 */
4351 break;
4352
4353 case 291:
4354 #line 480 "src/parser_proc_grammar.y" /* glr.c:817 */
4355 {
4356 psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4357 }
4358 #line 4359 "src/parser_proc.c" /* glr.c:817 */
4359 break;
4360
4361 case 292:
4362 #line 483 "src/parser_proc_grammar.y" /* glr.c:817 */
4363 {
4364 psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4365 }
4366 #line 4367 "src/parser_proc.c" /* glr.c:817 */
4367 break;
4368
4369 case 293:
4370 #line 486 "src/parser_proc_grammar.y" /* glr.c:817 */
4371 {
4372 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4373 }
4374 #line 4375 "src/parser_proc.c" /* glr.c:817 */
4375 break;
4376
4377 case 294:
4378 #line 489 "src/parser_proc_grammar.y" /* glr.c:817 */
4379 {
4380 psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4381 }
4382 #line 4383 "src/parser_proc.c" /* glr.c:817 */
4383 break;
4384
4385 case 295:
4386 #line 495 "src/parser_proc_grammar.y" /* glr.c:817 */
4387 {
4388 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4389 }
4390 #line 4391 "src/parser_proc.c" /* glr.c:817 */
4391 break;
4392
4393 case 296:
4394 #line 501 "src/parser_proc_grammar.y" /* glr.c:817 */
4395 {
4396 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4397 }
4398 #line 4399 "src/parser_proc.c" /* glr.c:817 */
4399 break;
4400
4401 case 297:
4402 #line 504 "src/parser_proc_grammar.y" /* glr.c:817 */
4403 {
4404 (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4405 }
4406 #line 4407 "src/parser_proc.c" /* glr.c:817 */
4407 break;
4408
4409 case 298:
4410 #line 510 "src/parser_proc_grammar.y" /* glr.c:817 */
4411 {
4412 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4413 struct psi_token *msg = NULL;
4414
4415 if (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0, &msg)) {
4416 size_t index = 1;
4417 struct psi_token *next;
4418
4419 msg = psi_token_copy(msg);
4420 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), index++, &next)) {
4421 struct psi_token *old = msg;
4422 msg = psi_token_cat(" ", 2, msg, next);
4423 free(old);
4424 }
4425 }
4426 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4427
4428 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, msg);
4429 } else {
4430 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, NULL);
4431 }
4432 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4433 }
4434 #line 4435 "src/parser_proc.c" /* glr.c:817 */
4435 break;
4436
4437 case 299:
4438 #line 533 "src/parser_proc_grammar.y" /* glr.c:817 */
4439 {
4440 (*(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))));
4441 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4442 }
4443 #line 4444 "src/parser_proc.c" /* glr.c:817 */
4444 break;
4445
4446 case 300:
4447 #line 537 "src/parser_proc_grammar.y" /* glr.c:817 */
4448 {
4449 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4450 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4451 }
4452 #line 4453 "src/parser_proc.c" /* glr.c:817 */
4453 break;
4454
4455 case 301:
4456 #line 541 "src/parser_proc_grammar.y" /* glr.c:817 */
4457 {
4458 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4459 (*(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))));
4460 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4461 }
4462 #line 4463 "src/parser_proc.c" /* glr.c:817 */
4463 break;
4464
4465 case 302:
4466 #line 546 "src/parser_proc_grammar.y" /* glr.c:817 */
4467 {
4468 (*(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)));
4469 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4470 }
4471 #line 4472 "src/parser_proc.c" /* glr.c:817 */
4472 break;
4473
4474 case 303:
4475 #line 550 "src/parser_proc_grammar.y" /* glr.c:817 */
4476 {
4477 (*(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)));
4478 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4479 }
4480 #line 4481 "src/parser_proc.c" /* glr.c:817 */
4481 break;
4482
4483 case 304:
4484 #line 554 "src/parser_proc_grammar.y" /* glr.c:817 */
4485 {
4486 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4487 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4488 }
4489 #line 4490 "src/parser_proc.c" /* glr.c:817 */
4490 break;
4491
4492 case 305:
4493 #line 558 "src/parser_proc_grammar.y" /* glr.c:817 */
4494 {
4495 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4496 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4497 }
4498 #line 4499 "src/parser_proc.c" /* glr.c:817 */
4499 break;
4500
4501 case 322:
4502 #line 602 "src/parser_proc_grammar.y" /* glr.c:817 */
4503 {
4504 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4505 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL);
4506 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4507 }
4508 #line 4509 "src/parser_proc.c" /* glr.c:817 */
4509 break;
4510
4511 case 323:
4512 #line 607 "src/parser_proc_grammar.y" /* glr.c:817 */
4513 {
4514 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4515 (*(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);
4516 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
4517 }
4518 #line 4519 "src/parser_proc.c" /* glr.c:817 */
4519 break;
4520
4521 case 324:
4522 #line 612 "src/parser_proc_grammar.y" /* glr.c:817 */
4523 {
4524 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4525 (*(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)));
4526 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4527 }
4528 #line 4529 "src/parser_proc.c" /* glr.c:817 */
4529 break;
4530
4531 case 325:
4532 #line 617 "src/parser_proc_grammar.y" /* glr.c:817 */
4533 {
4534 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_token_free);
4535 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4536 (*(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);
4537 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4538 }
4539 #line 4540 "src/parser_proc.c" /* glr.c:817 */
4540 break;
4541
4542 case 326:
4543 #line 626 "src/parser_proc_grammar.y" /* glr.c:817 */
4544 {
4545 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL);
4546 }
4547 #line 4548 "src/parser_proc.c" /* glr.c:817 */
4548 break;
4549
4550 case 327:
4551 #line 629 "src/parser_proc_grammar.y" /* glr.c:817 */
4552 {
4553 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */
4554 }
4555 #line 4556 "src/parser_proc.c" /* glr.c:817 */
4556 break;
4557
4558 case 329:
4559 #line 633 "src/parser_proc_grammar.y" /* glr.c:817 */
4560 {
4561 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4562 }
4563 #line 4564 "src/parser_proc.c" /* glr.c:817 */
4564 break;
4565
4566 case 330:
4567 #line 639 "src/parser_proc_grammar.y" /* glr.c:817 */
4568 {
4569 (*(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)));
4570 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4571 (*(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)));
4572 }
4573 #line 4574 "src/parser_proc.c" /* glr.c:817 */
4574 break;
4575
4576 case 331:
4577 #line 644 "src/parser_proc_grammar.y" /* glr.c:817 */
4578 {
4579 (*(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)));
4580 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4581 (*(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)));
4582 }
4583 #line 4584 "src/parser_proc.c" /* glr.c:817 */
4584 break;
4585
4586 case 332:
4587 #line 652 "src/parser_proc_grammar.y" /* glr.c:817 */
4588 {
4589 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4590 }
4591 #line 4592 "src/parser_proc.c" /* glr.c:817 */
4592 break;
4593
4594 case 334:
4595 #line 659 "src/parser_proc_grammar.y" /* glr.c:817 */
4596 {
4597 (*(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)));
4598 (*(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)));
4599 }
4600 #line 4601 "src/parser_proc.c" /* glr.c:817 */
4601 break;
4602
4603 case 335:
4604 #line 663 "src/parser_proc_grammar.y" /* glr.c:817 */
4605 {
4606 (*(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)));
4607 (*(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)));
4608 }
4609 #line 4610 "src/parser_proc.c" /* glr.c:817 */
4610 break;
4611
4612 case 336:
4613 #line 670 "src/parser_proc_grammar.y" /* glr.c:817 */
4614 {
4615 (*(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)));
4616 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4617 }
4618 #line 4619 "src/parser_proc.c" /* glr.c:817 */
4619 break;
4620
4621 case 337:
4622 #line 674 "src/parser_proc_grammar.y" /* glr.c:817 */
4623 {
4624 (*(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)));
4625 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4626 }
4627 #line 4628 "src/parser_proc.c" /* glr.c:817 */
4628 break;
4629
4630 case 338:
4631 #line 678 "src/parser_proc_grammar.y" /* glr.c:817 */
4632 {
4633 (*(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)));
4634 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4635 }
4636 #line 4637 "src/parser_proc.c" /* glr.c:817 */
4637 break;
4638
4639 case 339:
4640 #line 682 "src/parser_proc_grammar.y" /* glr.c:817 */
4641 {
4642 (*(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)));
4643 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4644 }
4645 #line 4646 "src/parser_proc.c" /* glr.c:817 */
4646 break;
4647
4648 case 340:
4649 #line 687 "src/parser_proc_grammar.y" /* glr.c:817 */
4650 {
4651 {
4652 uint8_t exists;
4653
4654 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4655 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4656 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4657 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4658 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4659 }
4660 }
4661 #line 4662 "src/parser_proc.c" /* glr.c:817 */
4662 break;
4663
4664 case 341:
4665 #line 698 "src/parser_proc_grammar.y" /* glr.c:817 */
4666 {
4667 {
4668 uint8_t exists;
4669
4670 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4671 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4672 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4673 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4674 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4675 }
4676 }
4677 #line 4678 "src/parser_proc.c" /* glr.c:817 */
4678 break;
4679
4680 case 342:
4681 #line 709 "src/parser_proc_grammar.y" /* glr.c:817 */
4682 {
4683 (*(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));
4684 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4685 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4686 }
4687 #line 4688 "src/parser_proc.c" /* glr.c:817 */
4688 break;
4689
4690 case 343:
4691 #line 714 "src/parser_proc_grammar.y" /* glr.c:817 */
4692 {
4693 (*(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));
4694 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4695 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4696 }
4697 #line 4698 "src/parser_proc.c" /* glr.c:817 */
4698 break;
4699
4700 case 344:
4701 #line 719 "src/parser_proc_grammar.y" /* glr.c:817 */
4702 {
4703 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4704 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4705 }
4706 #line 4707 "src/parser_proc.c" /* glr.c:817 */
4707 break;
4708
4709 case 345:
4710 #line 723 "src/parser_proc_grammar.y" /* glr.c:817 */
4711 {
4712 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4713 (*(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));
4714 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4715 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4716 }
4717 #line 4718 "src/parser_proc.c" /* glr.c:817 */
4718 break;
4719
4720 case 346:
4721 #line 729 "src/parser_proc_grammar.y" /* glr.c:817 */
4722 {
4723 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4724 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION,
4725 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));
4726 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4727 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4728 }
4729 #line 4730 "src/parser_proc.c" /* glr.c:817 */
4730 break;
4731
4732 case 347:
4733 #line 739 "src/parser_proc_grammar.y" /* glr.c:817 */
4734 {
4735 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4736 }
4737 #line 4738 "src/parser_proc.c" /* glr.c:817 */
4738 break;
4739
4740 case 349:
4741 #line 746 "src/parser_proc_grammar.y" /* glr.c:817 */
4742 {
4743 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free),
4744 &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4745 }
4746 #line 4747 "src/parser_proc.c" /* glr.c:817 */
4747 break;
4748
4749 case 350:
4750 #line 750 "src/parser_proc_grammar.y" /* glr.c:817 */
4751 {
4752 (*(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)));
4753 }
4754 #line 4755 "src/parser_proc.c" /* glr.c:817 */
4755 break;
4756
4757 case 351:
4758 #line 756 "src/parser_proc_grammar.y" /* glr.c:817 */
4759 {
4760 (*(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)));
4761 (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4762 }
4763 #line 4764 "src/parser_proc.c" /* glr.c:817 */
4764 break;
4765
4766 case 352:
4767 #line 763 "src/parser_proc_grammar.y" /* glr.c:817 */
4768 {
4769 (*(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);
4770 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4771 }
4772 #line 4773 "src/parser_proc.c" /* glr.c:817 */
4773 break;
4774
4775 case 353:
4776 #line 767 "src/parser_proc_grammar.y" /* glr.c:817 */
4777 {
4778 (*(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)));
4779 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4780 }
4781 #line 4782 "src/parser_proc.c" /* glr.c:817 */
4782 break;
4783
4784 case 354:
4785 #line 771 "src/parser_proc_grammar.y" /* glr.c:817 */
4786 {
4787 (*(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);
4788 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4789 }
4790 #line 4791 "src/parser_proc.c" /* glr.c:817 */
4791 break;
4792
4793 case 358:
4794 #line 784 "src/parser_proc_grammar.y" /* glr.c:817 */
4795 {
4796 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4797 }
4798 #line 4799 "src/parser_proc.c" /* glr.c:817 */
4799 break;
4800
4801 case 359:
4802 #line 798 "src/parser_proc_grammar.y" /* glr.c:817 */
4803 {
4804 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4805 }
4806 #line 4807 "src/parser_proc.c" /* glr.c:817 */
4807 break;
4808
4809 case 360:
4810 #line 804 "src/parser_proc_grammar.y" /* glr.c:817 */
4811 {
4812 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4813 }
4814 #line 4815 "src/parser_proc.c" /* glr.c:817 */
4815 break;
4816
4817 case 361:
4818 #line 807 "src/parser_proc_grammar.y" /* glr.c:817 */
4819 {
4820 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4821 }
4822 #line 4823 "src/parser_proc.c" /* glr.c:817 */
4823 break;
4824
4825 case 362:
4826 #line 813 "src/parser_proc_grammar.y" /* glr.c:817 */
4827 {
4828 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4829 }
4830 #line 4831 "src/parser_proc.c" /* glr.c:817 */
4831 break;
4832
4833 case 363:
4834 #line 816 "src/parser_proc_grammar.y" /* glr.c:817 */
4835 {
4836 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4837 }
4838 #line 4839 "src/parser_proc.c" /* glr.c:817 */
4839 break;
4840
4841 case 365:
4842 #line 823 "src/parser_proc_grammar.y" /* glr.c:817 */
4843 {
4844 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4845 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
4846 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
4847 );
4848 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
4849 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4850 }
4851 #line 4852 "src/parser_proc.c" /* glr.c:817 */
4852 break;
4853
4854 case 366:
4855 #line 831 "src/parser_proc_grammar.y" /* glr.c:817 */
4856 {
4857 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4858 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4859 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->name),
4860 psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0, 0)
4861 );
4862 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4863 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->token);
4864 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4865 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4866 }
4867 #line 4868 "src/parser_proc.c" /* glr.c:817 */
4868 break;
4869
4870 case 367:
4871 #line 842 "src/parser_proc_grammar.y" /* glr.c:817 */
4872 {
4873 (*(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)));
4874 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4875 (*(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)));
4876 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4877 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4878 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4879 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4880 }
4881 #line 4882 "src/parser_proc.c" /* glr.c:817 */
4882 break;
4883
4884 case 368:
4885 #line 851 "src/parser_proc_grammar.y" /* glr.c:817 */
4886 {
4887 (*(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)));
4888 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4889 (*(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)));
4890 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4891 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4892 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4893 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4894 }
4895 #line 4896 "src/parser_proc.c" /* glr.c:817 */
4896 break;
4897
4898 case 370:
4899 #line 864 "src/parser_proc_grammar.y" /* glr.c:817 */
4900 {
4901 (*(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));
4902 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4903 }
4904 #line 4905 "src/parser_proc.c" /* glr.c:817 */
4905 break;
4906
4907 case 371:
4908 #line 868 "src/parser_proc_grammar.y" /* glr.c:817 */
4909 {
4910 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4911 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->name),
4912 psi_decl_var_init(NULL, 0, 0)
4913 );
4914 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4915 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4916 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4917 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4918 }
4919 #line 4920 "src/parser_proc.c" /* glr.c:817 */
4920 break;
4921
4922 case 372:
4923 #line 878 "src/parser_proc_grammar.y" /* glr.c:817 */
4924 {
4925 (*(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));
4926 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4927 (*(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)));
4928 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4929 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4930 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4931 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4932 }
4933 #line 4934 "src/parser_proc.c" /* glr.c:817 */
4934 break;
4935
4936 case 373:
4937 #line 887 "src/parser_proc_grammar.y" /* glr.c:817 */
4938 {
4939 (*(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));
4940 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4941 (*(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)));
4942 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4943 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4944 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4945 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4946 }
4947 #line 4948 "src/parser_proc.c" /* glr.c:817 */
4948 break;
4949
4950 case 375:
4951 #line 900 "src/parser_proc_grammar.y" /* glr.c:817 */
4952 {
4953 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4954 }
4955 #line 4956 "src/parser_proc.c" /* glr.c:817 */
4956 break;
4957
4958 case 376:
4959 #line 903 "src/parser_proc_grammar.y" /* glr.c:817 */
4960 {
4961 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4962 }
4963 #line 4964 "src/parser_proc.c" /* glr.c:817 */
4964 break;
4965
4966 case 379:
4967 #line 914 "src/parser_proc_grammar.y" /* glr.c:817 */
4968 {
4969 (*(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);
4970 (*(struct psi_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4971 }
4972 #line 4973 "src/parser_proc.c" /* glr.c:817 */
4973 break;
4974
4975 case 381:
4976 #line 922 "src/parser_proc_grammar.y" /* glr.c:817 */
4977 {
4978 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4979 (*(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);
4980 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4981 }
4982 #line 4983 "src/parser_proc.c" /* glr.c:817 */
4983 break;
4984
4985 case 382:
4986 #line 927 "src/parser_proc_grammar.y" /* glr.c:817 */
4987 {
4988 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4989 (*(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);
4990 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4991 }
4992 #line 4993 "src/parser_proc.c" /* glr.c:817 */
4993 break;
4994
4995 case 383:
4996 #line 932 "src/parser_proc_grammar.y" /* glr.c:817 */
4997 {
4998 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4999 (*(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);
5000 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5001 }
5002 #line 5003 "src/parser_proc.c" /* glr.c:817 */
5003 break;
5004
5005 case 386:
5006 #line 942 "src/parser_proc_grammar.y" /* glr.c:817 */
5007 {
5008 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5009 }
5010 #line 5011 "src/parser_proc.c" /* glr.c:817 */
5011 break;
5012
5013 case 387:
5014 #line 945 "src/parser_proc_grammar.y" /* glr.c:817 */
5015 {
5016 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5017 }
5018 #line 5019 "src/parser_proc.c" /* glr.c:817 */
5019 break;
5020
5021 case 388:
5022 #line 951 "src/parser_proc_grammar.y" /* glr.c:817 */
5023 {
5024 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5025 }
5026 #line 5027 "src/parser_proc.c" /* glr.c:817 */
5027 break;
5028
5029 case 389:
5030 #line 954 "src/parser_proc_grammar.y" /* glr.c:817 */
5031 {
5032 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5033 }
5034 #line 5035 "src/parser_proc.c" /* glr.c:817 */
5035 break;
5036
5037 case 390:
5038 #line 957 "src/parser_proc_grammar.y" /* glr.c:817 */
5039 {
5040 (*(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)));
5041 }
5042 #line 5043 "src/parser_proc.c" /* glr.c:817 */
5043 break;
5044
5045 case 393:
5046 #line 968 "src/parser_proc_grammar.y" /* glr.c:817 */
5047 {
5048 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5049 }
5050 #line 5051 "src/parser_proc.c" /* glr.c:817 */
5051 break;
5052
5053 case 394:
5054 #line 971 "src/parser_proc_grammar.y" /* glr.c:817 */
5055 {
5056 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5057 }
5058 #line 5059 "src/parser_proc.c" /* glr.c:817 */
5059 break;
5060
5061 case 395:
5062 #line 974 "src/parser_proc_grammar.y" /* glr.c:817 */
5063 {
5064 (*(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)));
5065 }
5066 #line 5067 "src/parser_proc.c" /* glr.c:817 */
5067 break;
5068
5069 case 396:
5070 #line 980 "src/parser_proc_grammar.y" /* glr.c:817 */
5071 {
5072 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5073 }
5074 #line 5075 "src/parser_proc.c" /* glr.c:817 */
5075 break;
5076
5077 case 397:
5078 #line 983 "src/parser_proc_grammar.y" /* glr.c:817 */
5079 {
5080 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5081 }
5082 #line 5083 "src/parser_proc.c" /* glr.c:817 */
5083 break;
5084
5085 case 398:
5086 #line 986 "src/parser_proc_grammar.y" /* glr.c:817 */
5087 {
5088 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5089 (*(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)));
5090 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5091 } else {
5092 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5093 }
5094 }
5095 #line 5096 "src/parser_proc.c" /* glr.c:817 */
5096 break;
5097
5098 case 399:
5099 #line 994 "src/parser_proc_grammar.y" /* glr.c:817 */
5100 {
5101 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5102 (*(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)));
5103 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5104 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5105 } else {
5106 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5107 }
5108 }
5109 #line 5110 "src/parser_proc.c" /* glr.c:817 */
5110 break;
5111
5112 case 400:
5113 #line 1006 "src/parser_proc_grammar.y" /* glr.c:817 */
5114 {
5115 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5116 }
5117 #line 5118 "src/parser_proc.c" /* glr.c:817 */
5118 break;
5119
5120 case 401:
5121 #line 1009 "src/parser_proc_grammar.y" /* glr.c:817 */
5122 {
5123 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5124 }
5125 #line 5126 "src/parser_proc.c" /* glr.c:817 */
5126 break;
5127
5128 case 402:
5129 #line 1012 "src/parser_proc_grammar.y" /* glr.c:817 */
5130 {
5131 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5132 }
5133 #line 5134 "src/parser_proc.c" /* glr.c:817 */
5134 break;
5135
5136 case 403:
5137 #line 1015 "src/parser_proc_grammar.y" /* glr.c:817 */
5138 {
5139 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5140 (*(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)));
5141 } else {
5142 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5143 }
5144 }
5145 #line 5146 "src/parser_proc.c" /* glr.c:817 */
5146 break;
5147
5148 case 404:
5149 #line 1022 "src/parser_proc_grammar.y" /* glr.c:817 */
5150 {
5151 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5152 }
5153 #line 5154 "src/parser_proc.c" /* glr.c:817 */
5154 break;
5155
5156 case 405:
5157 #line 1025 "src/parser_proc_grammar.y" /* glr.c:817 */
5158 {
5159 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5160 (*(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)));
5161 } else {
5162 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5163 }
5164 }
5165 #line 5166 "src/parser_proc.c" /* glr.c:817 */
5166 break;
5167
5168 case 406:
5169 #line 1035 "src/parser_proc_grammar.y" /* glr.c:817 */
5170 {
5171 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5172 }
5173 #line 5174 "src/parser_proc.c" /* glr.c:817 */
5174 break;
5175
5176 case 408:
5177 #line 1041 "src/parser_proc_grammar.y" /* glr.c:817 */
5178 {
5179 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5180 }
5181 #line 5182 "src/parser_proc.c" /* glr.c:817 */
5182 break;
5183
5184 case 412:
5185 #line 1050 "src/parser_proc_grammar.y" /* glr.c:817 */
5186 {
5187 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5188 }
5189 #line 5190 "src/parser_proc.c" /* glr.c:817 */
5190 break;
5191
5192 case 413:
5193 #line 1053 "src/parser_proc_grammar.y" /* glr.c:817 */
5194 {
5195 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5196 }
5197 #line 5198 "src/parser_proc.c" /* glr.c:817 */
5198 break;
5199
5200 case 414:
5201 #line 1056 "src/parser_proc_grammar.y" /* glr.c:817 */
5202 {
5203 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5204 (*(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)));
5205 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5206 } else {
5207 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5208 }
5209 }
5210 #line 5211 "src/parser_proc.c" /* glr.c:817 */
5211 break;
5212
5213 case 415:
5214 #line 1067 "src/parser_proc_grammar.y" /* glr.c:817 */
5215 {
5216 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5217 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5218 (*(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);
5219 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5220 }
5221 }
5222 #line 5223 "src/parser_proc.c" /* glr.c:817 */
5223 break;
5224
5225 case 416:
5226 #line 1074 "src/parser_proc_grammar.y" /* glr.c:817 */
5227 {
5228 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5229 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5230 (*(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);
5231 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5232 }
5233 }
5234 #line 5235 "src/parser_proc.c" /* glr.c:817 */
5235 break;
5236
5237 case 417:
5238 #line 1084 "src/parser_proc_grammar.y" /* glr.c:817 */
5239 {
5240 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5241 }
5242 #line 5243 "src/parser_proc.c" /* glr.c:817 */
5243 break;
5244
5245 case 418:
5246 #line 1087 "src/parser_proc_grammar.y" /* glr.c:817 */
5247 {
5248 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5249 }
5250 #line 5251 "src/parser_proc.c" /* glr.c:817 */
5251 break;
5252
5253 case 419:
5254 #line 1093 "src/parser_proc_grammar.y" /* glr.c:817 */
5255 {
5256 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5257 }
5258 #line 5259 "src/parser_proc.c" /* glr.c:817 */
5259 break;
5260
5261 case 420:
5262 #line 1096 "src/parser_proc_grammar.y" /* glr.c:817 */
5263 {
5264 (*(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)));
5265 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5266 }
5267 #line 5268 "src/parser_proc.c" /* glr.c:817 */
5268 break;
5269
5270 case 421:
5271 #line 1103 "src/parser_proc_grammar.y" /* glr.c:817 */
5272 {
5273 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
5274
5275 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5276 size_t i = 0;
5277 struct psi_decl_var *var;
5278
5279 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &var)) {
5280 if (psi_decl_extvar_is_blacklisted(var->name)) {
5281 psi_decl_var_free(&var);
5282 } else {
5283 struct psi_decl_extvar *evar = psi_decl_extvar_init(
5284 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type), var));
5285 list = psi_plist_add(list, &evar);
5286 }
5287 }
5288 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5289 }
5290
5291 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->var->name)) {
5292 psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5293 } else {
5294 struct psi_decl_extvar *evar = psi_decl_extvar_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5295 list = psi_plist_add(list, &evar);
5296 }
5297
5298 (*(struct psi_plist **)(&(*yyvalp))) = list;
5299 }
5300 #line 5301 "src/parser_proc.c" /* glr.c:817 */
5301 break;
5302
5303 case 422:
5304 #line 1134 "src/parser_proc_grammar.y" /* glr.c:817 */
5305 {
5306 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5307 }
5308 #line 5309 "src/parser_proc.c" /* glr.c:817 */
5309 break;
5310
5311 case 423:
5312 #line 1137 "src/parser_proc_grammar.y" /* glr.c:817 */
5313 {
5314 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5315 }
5316 #line 5317 "src/parser_proc.c" /* glr.c:817 */
5317 break;
5318
5319 case 424:
5320 #line 1143 "src/parser_proc_grammar.y" /* glr.c:817 */
5321 {
5322 (*(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)));
5323 }
5324 #line 5325 "src/parser_proc.c" /* glr.c:817 */
5325 break;
5326
5327 case 425:
5328 #line 1146 "src/parser_proc_grammar.y" /* glr.c:817 */
5329 {
5330 (*(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)));
5331 }
5332 #line 5333 "src/parser_proc.c" /* glr.c:817 */
5333 break;
5334
5335 case 426:
5336 #line 1152 "src/parser_proc_grammar.y" /* glr.c:817 */
5337 {
5338 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5339 }
5340 #line 5341 "src/parser_proc.c" /* glr.c:817 */
5341 break;
5342
5343 case 439:
5344 #line 1182 "src/parser_proc_grammar.y" /* glr.c:817 */
5345 {
5346 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5347 (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5348 }
5349 #line 5350 "src/parser_proc.c" /* glr.c:817 */
5350 break;
5351
5352 case 442:
5353 #line 1194 "src/parser_proc_grammar.y" /* glr.c:817 */
5354 {
5355 (*(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)));
5356 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5357 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5358 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5359 }
5360 }
5361 #line 5362 "src/parser_proc.c" /* glr.c:817 */
5362 break;
5363
5364 case 443:
5365 #line 1201 "src/parser_proc_grammar.y" /* glr.c:817 */
5366 {
5367 (*(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)));
5368 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5369 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5370 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5371 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5372 }
5373 }
5374 #line 5375 "src/parser_proc.c" /* glr.c:817 */
5375 break;
5376
5377 case 444:
5378 #line 1212 "src/parser_proc_grammar.y" /* glr.c:817 */
5379 {
5380 (*(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)));
5381 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5382 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5383 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5384 }
5385 }
5386 #line 5387 "src/parser_proc.c" /* glr.c:817 */
5387 break;
5388
5389 case 445:
5390 #line 1219 "src/parser_proc_grammar.y" /* glr.c:817 */
5391 {
5392 (*(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)));
5393 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5394 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5395 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5396 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5397 }
5398 }
5399 #line 5400 "src/parser_proc.c" /* glr.c:817 */
5400 break;
5401
5402 case 446:
5403 #line 1227 "src/parser_proc_grammar.y" /* glr.c:817 */
5404 {
5405 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval));
5406 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5407
5408 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))), 1, "rval");
5409 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));
5410 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5411
5412 rval_func->var->token = psi_token_copy(type_token);
5413 rval_func->token = psi_token_copy(type_token);
5414 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5415 rval_func->var->pointer_level += 1;
5416 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5417 }
5418
5419 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5420 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));
5421
5422 type->real.func = rval_decl;
5423 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5424 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5425
5426 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5427 }
5428 #line 5429 "src/parser_proc.c" /* glr.c:817 */
5429 break;
5430
5431 case 447:
5432 #line 1251 "src/parser_proc_grammar.y" /* glr.c:817 */
5433 {
5434 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval));
5435 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval));
5436 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].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 (-9)].yystate.yysemantics.yysval))), 1, "rval");
5439 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));
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 (-9)].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 (-9)].yystate.yysemantics.yysval)));
5454 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].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:817 */
5459 break;
5460
5461 case 448:
5462 #line 1279 "src/parser_proc_grammar.y" /* glr.c:817 */
5463 {
5464 (*(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)));
5465 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5466 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5467 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5468 }
5469 }
5470 #line 5471 "src/parser_proc.c" /* glr.c:817 */
5471 break;
5472
5473 case 449:
5474 #line 1286 "src/parser_proc_grammar.y" /* glr.c:817 */
5475 {
5476 (*(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)));
5477 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5478 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5479 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5480 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5481 }
5482 }
5483 #line 5484 "src/parser_proc.c" /* glr.c:817 */
5484 break;
5485
5486 case 450:
5487 #line 1297 "src/parser_proc_grammar.y" /* glr.c:817 */
5488 {
5489 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5490 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5491 (*(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));
5492 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5493 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5494 }
5495 #line 5496 "src/parser_proc.c" /* glr.c:817 */
5496 break;
5497
5498 case 451:
5499 #line 1343 "src/parser_proc_grammar.y" /* glr.c:817 */
5500 {
5501 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5502 (*(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));
5503 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5504 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5505 }
5506 #line 5507 "src/parser_proc.c" /* glr.c:817 */
5507 break;
5508
5509 case 453:
5510 #line 1399 "src/parser_proc_grammar.y" /* glr.c:817 */
5511 {
5512 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5513 }
5514 #line 5515 "src/parser_proc.c" /* glr.c:817 */
5515 break;
5516
5517 case 454:
5518 #line 1402 "src/parser_proc_grammar.y" /* glr.c:817 */
5519 {
5520 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5521 }
5522 #line 5523 "src/parser_proc.c" /* glr.c:817 */
5523 break;
5524
5525 case 455:
5526 #line 1405 "src/parser_proc_grammar.y" /* glr.c:817 */
5527 {
5528 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5529 }
5530 #line 5531 "src/parser_proc.c" /* glr.c:817 */
5531 break;
5532
5533 case 456:
5534 #line 1411 "src/parser_proc_grammar.y" /* glr.c:817 */
5535 {
5536 (*(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)));
5537 }
5538 #line 5539 "src/parser_proc.c" /* glr.c:817 */
5539 break;
5540
5541 case 457:
5542 #line 1414 "src/parser_proc_grammar.y" /* glr.c:817 */
5543 {
5544 (*(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)));
5545 }
5546 #line 5547 "src/parser_proc.c" /* glr.c:817 */
5547 break;
5548
5549 case 458:
5550 #line 1420 "src/parser_proc_grammar.y" /* glr.c:817 */
5551 {
5552 char digest[17];
5553 struct psi_token *name;
5554
5555 psi_token_hash((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func ->token, digest);
5556 name = psi_token_append("@", psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token), 2, "funct", digest);
5557
5558 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5559 psi_decl_type_init(PSI_T_FUNCTION, name->text),
5560 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5561 );
5562 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = name;
5563 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5564 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5565 }
5566 #line 5567 "src/parser_proc.c" /* glr.c:817 */
5567 break;
5568
5569 case 459:
5570 #line 1435 "src/parser_proc_grammar.y" /* glr.c:817 */
5571 {
5572 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5573 }
5574 #line 5575 "src/parser_proc.c" /* glr.c:817 */
5575 break;
5576
5577 case 460:
5578 #line 1438 "src/parser_proc_grammar.y" /* glr.c:817 */
5579 {
5580 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5581 (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)),
5582 psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0)
5583 );
5584 }
5585 #line 5586 "src/parser_proc.c" /* glr.c:817 */
5586 break;
5587
5588 case 461:
5589 #line 1467 "src/parser_proc_grammar.y" /* glr.c:817 */
5590 {
5591 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5592 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
5593 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5594 );
5595 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5596 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5597 }
5598 #line 5599 "src/parser_proc.c" /* glr.c:817 */
5599 break;
5600
5601 case 462:
5602 #line 1475 "src/parser_proc_grammar.y" /* glr.c:817 */
5603 {
5604 (*(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)));
5605 }
5606 #line 5607 "src/parser_proc.c" /* glr.c:817 */
5607 break;
5608
5609 case 463:
5610 #line 1503 "src/parser_proc_grammar.y" /* glr.c:817 */
5611 {
5612 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5613 (*(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)));
5614 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5615 }
5616 #line 5617 "src/parser_proc.c" /* glr.c:817 */
5617 break;
5618
5619 case 464:
5620 #line 1508 "src/parser_proc_grammar.y" /* glr.c:817 */
5621 {
5622 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5623 (*(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)));
5624 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5625 }
5626 #line 5627 "src/parser_proc.c" /* glr.c:817 */
5627 break;
5628
5629 case 465:
5630 #line 1516 "src/parser_proc_grammar.y" /* glr.c:817 */
5631 {
5632 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5633 (*(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)));
5634 (*(struct psi_decl_union **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5635 (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5636 (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5637 }
5638 #line 5639 "src/parser_proc.c" /* glr.c:817 */
5639 break;
5640
5641 case 466:
5642 #line 1526 "src/parser_proc_grammar.y" /* glr.c:817 */
5643 {
5644 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5645 (*(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)));
5646 (*(struct psi_decl_struct **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5647 (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5648 (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5649 }
5650 #line 5651 "src/parser_proc.c" /* glr.c:817 */
5651 break;
5652
5653 case 467:
5654 #line 1536 "src/parser_proc_grammar.y" /* glr.c:817 */
5655 {
5656 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5657 }
5658 #line 5659 "src/parser_proc.c" /* glr.c:817 */
5659 break;
5660
5661 case 469:
5662 #line 1543 "src/parser_proc_grammar.y" /* glr.c:817 */
5663 {
5664 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5665 }
5666 #line 5667 "src/parser_proc.c" /* glr.c:817 */
5667 break;
5668
5669 case 470:
5670 #line 1549 "src/parser_proc_grammar.y" /* glr.c:817 */
5671 {
5672 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5673 (*(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)));
5674 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5675 size_t i = 0;
5676 struct psi_decl_arg *arg;
5677
5678 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5679 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5680 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5681 }
5682 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5683 }
5684 }
5685 #line 5686 "src/parser_proc.c" /* glr.c:817 */
5686 break;
5687
5688 case 471:
5689 #line 1563 "src/parser_proc_grammar.y" /* glr.c:817 */
5690 {
5691 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5692 (*(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)));
5693 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5694 size_t i = 0;
5695 struct psi_decl_arg *arg;
5696
5697 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5698 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5699 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5700 }
5701 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5702 }
5703 }
5704 #line 5705 "src/parser_proc.c" /* glr.c:817 */
5705 break;
5706
5707 case 472:
5708 #line 1580 "src/parser_proc_grammar.y" /* glr.c:817 */
5709 {
5710 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5711 }
5712 #line 5713 "src/parser_proc.c" /* glr.c:817 */
5713 break;
5714
5715 case 473:
5716 #line 1583 "src/parser_proc_grammar.y" /* glr.c:817 */
5717 {
5718 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5719 }
5720 #line 5721 "src/parser_proc.c" /* glr.c:817 */
5721 break;
5722
5723 case 474:
5724 #line 1589 "src/parser_proc_grammar.y" /* glr.c:817 */
5725 {
5726 {
5727 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5728 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5729 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg);
5730 }
5731 }
5732 #line 5733 "src/parser_proc.c" /* glr.c:817 */
5733 break;
5734
5735 case 475:
5736 #line 1596 "src/parser_proc_grammar.y" /* glr.c:817 */
5737 {
5738 {
5739 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5740 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5741 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg);
5742 }
5743 }
5744 #line 5745 "src/parser_proc.c" /* glr.c:817 */
5745 break;
5746
5747 case 476:
5748 #line 1606 "src/parser_proc_grammar.y" /* glr.c:817 */
5749 {
5750 (*(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)));
5751 (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
5752 }
5753 #line 5754 "src/parser_proc.c" /* glr.c:817 */
5754 break;
5755
5756 case 477:
5757 #line 1613 "src/parser_proc_grammar.y" /* glr.c:817 */
5758 {
5759 (*(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)));
5760 }
5761 #line 5762 "src/parser_proc.c" /* glr.c:817 */
5762 break;
5763
5764 case 478:
5765 #line 1616 "src/parser_proc_grammar.y" /* glr.c:817 */
5766 {
5767 (*(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)));
5768 }
5769 #line 5770 "src/parser_proc.c" /* glr.c:817 */
5770 break;
5771
5772 case 479:
5773 #line 1622 "src/parser_proc_grammar.y" /* glr.c:817 */
5774 {
5775 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5776 (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL);
5777 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5778 }
5779 #line 5780 "src/parser_proc.c" /* glr.c:817 */
5780 break;
5781
5782 case 480:
5783 #line 1627 "src/parser_proc_grammar.y" /* glr.c:817 */
5784 {
5785 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5786 (*(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)));
5787 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5788 }
5789 #line 5790 "src/parser_proc.c" /* glr.c:817 */
5790 break;
5791
5792 case 481:
5793 #line 1635 "src/parser_proc_grammar.y" /* glr.c:817 */
5794 {
5795 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5796 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5797 }
5798 #line 5799 "src/parser_proc.c" /* glr.c:817 */
5799 break;
5800
5801 case 482:
5802 #line 1639 "src/parser_proc_grammar.y" /* glr.c:817 */
5803 {
5804 (*(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)));
5805 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token);
5806 }
5807 #line 5808 "src/parser_proc.c" /* glr.c:817 */
5808 break;
5809
5810 case 483:
5811 #line 1643 "src/parser_proc_grammar.y" /* glr.c:817 */
5812 {
5813 (*(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)));
5814 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5815 }
5816 #line 5817 "src/parser_proc.c" /* glr.c:817 */
5817 break;
5818
5819 case 484:
5820 #line 1647 "src/parser_proc_grammar.y" /* glr.c:817 */
5821 {
5822 (*(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)));
5823 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5824 }
5825 #line 5826 "src/parser_proc.c" /* glr.c:817 */
5826 break;
5827
5828 case 485:
5829 #line 1651 "src/parser_proc_grammar.y" /* glr.c:817 */
5830 {
5831 (*(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)));
5832 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5833 }
5834 #line 5835 "src/parser_proc.c" /* glr.c:817 */
5835 break;
5836
5837 case 486:
5838 #line 1655 "src/parser_proc_grammar.y" /* glr.c:817 */
5839 {
5840 (*(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)));
5841 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5842 }
5843 #line 5844 "src/parser_proc.c" /* glr.c:817 */
5844 break;
5845
5846 case 487:
5847 #line 1662 "src/parser_proc_grammar.y" /* glr.c:817 */
5848 {
5849 (*(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);
5850 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5851 }
5852 #line 5853 "src/parser_proc.c" /* glr.c:817 */
5853 break;
5854
5855 case 488:
5856 #line 1666 "src/parser_proc_grammar.y" /* glr.c:817 */
5857 {
5858 (*(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);
5859 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5860 }
5861 #line 5862 "src/parser_proc.c" /* glr.c:817 */
5862 break;
5863
5864 case 489:
5865 #line 1670 "src/parser_proc_grammar.y" /* glr.c:817 */
5866 {
5867 (*(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);
5868 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5869 }
5870 #line 5871 "src/parser_proc.c" /* glr.c:817 */
5871 break;
5872
5873 case 490:
5874 #line 1674 "src/parser_proc_grammar.y" /* glr.c:817 */
5875 {
5876 (*(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);
5877 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5878 }
5879 #line 5880 "src/parser_proc.c" /* glr.c:817 */
5880 break;
5881
5882 case 491:
5883 #line 1678 "src/parser_proc_grammar.y" /* glr.c:817 */
5884 {
5885 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0);
5886 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5887 }
5888 #line 5889 "src/parser_proc.c" /* glr.c:817 */
5889 break;
5890
5891 case 492:
5892 #line 1682 "src/parser_proc_grammar.y" /* glr.c:817 */
5893 {
5894 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5895 }
5896 #line 5897 "src/parser_proc.c" /* glr.c:817 */
5897 break;
5898
5899 case 493:
5900 #line 1688 "src/parser_proc_grammar.y" /* glr.c:817 */
5901 {
5902 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5903 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5904 }
5905 #line 5906 "src/parser_proc.c" /* glr.c:817 */
5906 break;
5907
5908 case 494:
5909 #line 1692 "src/parser_proc_grammar.y" /* glr.c:817 */
5910 {
5911 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5912 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5913 }
5914 #line 5915 "src/parser_proc.c" /* glr.c:817 */
5915 break;
5916
5917 case 495:
5918 #line 1699 "src/parser_proc_grammar.y" /* glr.c:817 */
5919 {
5920 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5921 }
5922 #line 5923 "src/parser_proc.c" /* glr.c:817 */
5923 break;
5924
5925 case 496:
5926 #line 1702 "src/parser_proc_grammar.y" /* glr.c:817 */
5927 {
5928 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5929 int8_t sizeof_void_p = sizeof(void *);
5930 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5931 psi_decl_type_free(&(*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5932 } else {
5933 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0);
5934 }
5935 }
5936 #line 5937 "src/parser_proc.c" /* glr.c:817 */
5937 break;
5938
5939 case 497:
5940 #line 1714 "src/parser_proc_grammar.y" /* glr.c:817 */
5941 {
5942 int8_t sizeof_void_p = sizeof(void *);
5943 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5944 }
5945 #line 5946 "src/parser_proc.c" /* glr.c:817 */
5946 break;
5947
5948 case 498:
5949 #line 1718 "src/parser_proc_grammar.y" /* glr.c:817 */
5950 {
5951 int8_t sizeof_a = sizeof('a');
5952 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0);
5953 }
5954 #line 5955 "src/parser_proc.c" /* glr.c:817 */
5955 break;
5956
5957 case 499:
5958 #line 1722 "src/parser_proc_grammar.y" /* glr.c:817 */
5959 {
5960 uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1;
5961 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0);
5962 }
5963 #line 5964 "src/parser_proc.c" /* glr.c:817 */
5964 break;
5965
5966 case 500:
5967 #line 1729 "src/parser_proc_grammar.y" /* glr.c:817 */
5968 {
5969 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5970 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5971 } else {
5972 char digest[17];
5973
5974 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
5975 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
5976 }
5977 }
5978 #line 5979 "src/parser_proc.c" /* glr.c:817 */
5979 break;
5980
5981 case 501:
5982 #line 1742 "src/parser_proc_grammar.y" /* glr.c:817 */
5983 {
5984 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5985 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5986 } else {
5987 char digest[17];
5988
5989 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
5990 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
5991 }
5992 }
5993 #line 5994 "src/parser_proc.c" /* glr.c:817 */
5994 break;
5995
5996 case 502:
5997 #line 1755 "src/parser_proc_grammar.y" /* glr.c:817 */
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:817 */
6009 break;
6010
6011 case 503:
6012 #line 1768 "src/parser_proc_grammar.y" /* glr.c:817 */
6013 {
6014 (*(struct psi_token **)(&(*yyvalp))) = NULL;
6015 }
6016 #line 6017 "src/parser_proc.c" /* glr.c:817 */
6017 break;
6018
6019 case 504:
6020 #line 1771 "src/parser_proc_grammar.y" /* glr.c:817 */
6021 {
6022 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6023 (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME;
6024 }
6025 #line 6026 "src/parser_proc.c" /* glr.c:817 */
6026 break;
6027
6028 case 507:
6029 #line 1783 "src/parser_proc_grammar.y" /* glr.c:817 */
6030 {
6031 (*(struct psi_layout **)(&(*yyvalp))) = NULL;
6032 }
6033 #line 6034 "src/parser_proc.c" /* glr.c:817 */
6034 break;
6035
6036 case 508:
6037 #line 1786 "src/parser_proc_grammar.y" /* glr.c:817 */
6038 {
6039 (*(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));
6040 }
6041 #line 6042 "src/parser_proc.c" /* glr.c:817 */
6042 break;
6043
6044 case 509:
6045 #line 1789 "src/parser_proc_grammar.y" /* glr.c:817 */
6046 {
6047 (*(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);
6048 }
6049 #line 6050 "src/parser_proc.c" /* glr.c:817 */
6050 break;
6051
6052 case 510:
6053 #line 1792 "src/parser_proc_grammar.y" /* glr.c:817 */
6054 {
6055 (*(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));
6056 }
6057 #line 6058 "src/parser_proc.c" /* glr.c:817 */
6058 break;
6059
6060 case 511:
6061 #line 1798 "src/parser_proc_grammar.y" /* glr.c:817 */
6062 {
6063 (*(struct psi_layout*)(&(*yyvalp))).pos = 0;
6064 (*(struct psi_layout*)(&(*yyvalp))).len = 0;
6065 }
6066 #line 6067 "src/parser_proc.c" /* glr.c:817 */
6067 break;
6068
6069 case 512:
6070 #line 1802 "src/parser_proc_grammar.y" /* glr.c:817 */
6071 {
6072 (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text);
6073 (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
6074 }
6075 #line 6076 "src/parser_proc.c" /* glr.c:817 */
6076 break;
6077
6078 case 513:
6079 #line 1809 "src/parser_proc_grammar.y" /* glr.c:817 */
6080 {
6081 (*(size_t*)(&(*yyvalp))) = 0;
6082 }
6083 #line 6084 "src/parser_proc.c" /* glr.c:817 */
6084 break;
6085
6086 case 514:
6087 #line 1812 "src/parser_proc_grammar.y" /* glr.c:817 */
6088 {
6089 (*(size_t*)(&(*yyvalp))) = 0;
6090 }
6091 #line 6092 "src/parser_proc.c" /* glr.c:817 */
6092 break;
6093
6094 case 515:
6095 #line 1815 "src/parser_proc_grammar.y" /* glr.c:817 */
6096 {
6097 struct psi_validate_scope scope = {0};
6098 psi_validate_scope_ctor(&scope);
6099 scope.defs = &P->preproc->defs;
6100 if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &scope)) {
6101 (*(size_t*)(&(*yyvalp))) = psi_num_exp_get_long((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), NULL, &P->preproc->defs);
6102 } else {
6103 (*(size_t*)(&(*yyvalp))) = 0;
6104 }
6105 psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6106 psi_validate_scope_dtor(&scope);
6107 }
6108 #line 6109 "src/parser_proc.c" /* glr.c:817 */
6109 break;
6110
6111 case 520:
6112 #line 1837 "src/parser_proc_grammar.y" /* glr.c:817 */
6113 {
6114 (*(size_t*)(&(*yyvalp))) = 0;
6115 }
6116 #line 6117 "src/parser_proc.c" /* glr.c:817 */
6117 break;
6118
6119 case 521:
6120 #line 1840 "src/parser_proc_grammar.y" /* glr.c:817 */
6121 {
6122 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6123 }
6124 #line 6125 "src/parser_proc.c" /* glr.c:817 */
6125 break;
6126
6127 case 523:
6128 #line 1847 "src/parser_proc_grammar.y" /* glr.c:817 */
6129 {
6130 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6131 }
6132 #line 6133 "src/parser_proc.c" /* glr.c:817 */
6133 break;
6134
6135 case 524:
6136 #line 1853 "src/parser_proc_grammar.y" /* glr.c:817 */
6137 {
6138 (*(size_t*)(&(*yyvalp))) = 1;
6139 }
6140 #line 6141 "src/parser_proc.c" /* glr.c:817 */
6141 break;
6142
6143 case 525:
6144 #line 1856 "src/parser_proc_grammar.y" /* glr.c:817 */
6145 {
6146 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1;
6147 }
6148 #line 6149 "src/parser_proc.c" /* glr.c:817 */
6149 break;
6150
6151 case 530:
6152 #line 1878 "src/parser_proc_grammar.y" /* glr.c:817 */
6153 {
6154 (*(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)));
6155 }
6156 #line 6157 "src/parser_proc.c" /* glr.c:817 */
6157 break;
6158
6159 case 531:
6160 #line 1881 "src/parser_proc_grammar.y" /* glr.c:817 */
6161 {
6162 (*(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)));
6163 (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1;
6164 }
6165 #line 6166 "src/parser_proc.c" /* glr.c:817 */
6166 break;
6167
6168 case 532:
6169 #line 1888 "src/parser_proc_grammar.y" /* glr.c:817 */
6170 {
6171 (*(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)));
6172 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6173 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval));
6174 }
6175 #line 6176 "src/parser_proc.c" /* glr.c:817 */
6176 break;
6177
6178 case 533:
6179 #line 1893 "src/parser_proc_grammar.y" /* glr.c:817 */
6180 {
6181 (*(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)));
6182 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6183 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval));
6184 }
6185 #line 6186 "src/parser_proc.c" /* glr.c:817 */
6186 break;
6187
6188 case 534:
6189 #line 1898 "src/parser_proc_grammar.y" /* glr.c:817 */
6190 {
6191 (*(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)));
6192 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)));
6193 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval));
6194 (*(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);
6195 (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6196 }
6197 #line 6198 "src/parser_proc.c" /* glr.c:817 */
6198 break;
6199
6200 case 535:
6201 #line 1908 "src/parser_proc_grammar.y" /* glr.c:817 */
6202 {
6203 (*(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)));
6204 }
6205 #line 6206 "src/parser_proc.c" /* glr.c:817 */
6206 break;
6207
6208 case 536:
6209 #line 1911 "src/parser_proc_grammar.y" /* glr.c:817 */
6210 {
6211 (*(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)));
6212 }
6213 #line 6214 "src/parser_proc.c" /* glr.c:817 */
6214 break;
6215
6216 case 537:
6217 #line 1917 "src/parser_proc_grammar.y" /* glr.c:817 */
6218 {
6219 (*(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);
6220 }
6221 #line 6222 "src/parser_proc.c" /* glr.c:817 */
6222 break;
6223
6224 case 538:
6225 #line 1920 "src/parser_proc_grammar.y" /* glr.c:817 */
6226 {
6227 (*(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)));
6228 }
6229 #line 6230 "src/parser_proc.c" /* glr.c:817 */
6230 break;
6231
6232 case 539:
6233 #line 1926 "src/parser_proc_grammar.y" /* glr.c:817 */
6234 {
6235 (*(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)));
6236 (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6237 }
6238 #line 6239 "src/parser_proc.c" /* glr.c:817 */
6239 break;
6240
6241 case 540:
6242 #line 1933 "src/parser_proc_grammar.y" /* glr.c:817 */
6243 {
6244 (*(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);
6245 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6246 }
6247 #line 6248 "src/parser_proc.c" /* glr.c:817 */
6248 break;
6249
6250 case 541:
6251 #line 1940 "src/parser_proc_grammar.y" /* glr.c:817 */
6252 {
6253 (*(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);
6254 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6255 }
6256 #line 6257 "src/parser_proc.c" /* glr.c:817 */
6257 break;
6258
6259 case 553:
6260 #line 1967 "src/parser_proc_grammar.y" /* glr.c:817 */
6261 {
6262 (*(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)));
6263 }
6264 #line 6265 "src/parser_proc.c" /* glr.c:817 */
6265 break;
6266
6267 case 554:
6268 #line 1970 "src/parser_proc_grammar.y" /* glr.c:817 */
6269 {
6270 (*(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)));
6271 }
6272 #line 6273 "src/parser_proc.c" /* glr.c:817 */
6273 break;
6274
6275 case 555:
6276 #line 1976 "src/parser_proc_grammar.y" /* glr.c:817 */
6277 {
6278 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6279 }
6280 #line 6281 "src/parser_proc.c" /* glr.c:817 */
6281 break;
6282
6283 case 556:
6284 #line 1979 "src/parser_proc_grammar.y" /* glr.c:817 */
6285 {
6286 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6287 }
6288 #line 6289 "src/parser_proc.c" /* glr.c:817 */
6289 break;
6290
6291 case 557:
6292 #line 1982 "src/parser_proc_grammar.y" /* glr.c:817 */
6293 {
6294 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6295 }
6296 #line 6297 "src/parser_proc.c" /* glr.c:817 */
6297 break;
6298
6299 case 558:
6300 #line 1985 "src/parser_proc_grammar.y" /* glr.c:817 */
6301 {
6302 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6303 }
6304 #line 6305 "src/parser_proc.c" /* glr.c:817 */
6305 break;
6306
6307 case 559:
6308 #line 1988 "src/parser_proc_grammar.y" /* glr.c:817 */
6309 {
6310 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6311 }
6312 #line 6313 "src/parser_proc.c" /* glr.c:817 */
6313 break;
6314
6315 case 560:
6316 #line 1994 "src/parser_proc_grammar.y" /* glr.c:817 */
6317 {
6318 (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6319 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6320 }
6321 #line 6322 "src/parser_proc.c" /* glr.c:817 */
6322 break;
6323
6324 case 561:
6325 #line 1998 "src/parser_proc_grammar.y" /* glr.c:817 */
6326 {
6327 (*(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))));
6328 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6329 (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6330 }
6331 #line 6332 "src/parser_proc.c" /* glr.c:817 */
6332 break;
6333
6334 case 563:
6335 #line 2007 "src/parser_proc_grammar.y" /* glr.c:817 */
6336 {
6337 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6338 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true;
6339 }
6340 #line 6341 "src/parser_proc.c" /* glr.c:817 */
6341 break;
6342
6343 case 564:
6344 #line 2011 "src/parser_proc_grammar.y" /* glr.c:817 */
6345 {
6346 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6347 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false;
6348 }
6349 #line 6350 "src/parser_proc.c" /* glr.c:817 */
6350 break;
6351
6352 case 565:
6353 #line 2018 "src/parser_proc_grammar.y" /* glr.c:817 */
6354 {
6355 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL);
6356 }
6357 #line 6358 "src/parser_proc.c" /* glr.c:817 */
6358 break;
6359
6360 case 566:
6361 #line 2021 "src/parser_proc_grammar.y" /* glr.c:817 */
6362 {
6363 (*(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)));
6364 }
6365 #line 6366 "src/parser_proc.c" /* glr.c:817 */
6366 break;
6367
6368 case 567:
6369 #line 2024 "src/parser_proc_grammar.y" /* glr.c:817 */
6370 {
6371 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6372 }
6373 #line 6374 "src/parser_proc.c" /* glr.c:817 */
6374 break;
6375
6376 case 568:
6377 #line 2027 "src/parser_proc_grammar.y" /* glr.c:817 */
6378 {
6379 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6380 (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1;
6381 }
6382 #line 6383 "src/parser_proc.c" /* glr.c:817 */
6383 break;
6384
6385 case 569:
6386 #line 2031 "src/parser_proc_grammar.y" /* glr.c:817 */
6387 {
6388 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6389 }
6390 #line 6391 "src/parser_proc.c" /* glr.c:817 */
6391 break;
6392
6393 case 570:
6394 #line 2034 "src/parser_proc_grammar.y" /* glr.c:817 */
6395 {
6396 (*(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)));
6397 }
6398 #line 6399 "src/parser_proc.c" /* glr.c:817 */
6399 break;
6400
6401 case 571:
6402 #line 2040 "src/parser_proc_grammar.y" /* glr.c:817 */
6403 {
6404 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6405 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6406 }
6407 #line 6408 "src/parser_proc.c" /* glr.c:817 */
6408 break;
6409
6410 case 572:
6411 #line 2044 "src/parser_proc_grammar.y" /* glr.c:817 */
6412 {
6413 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6414 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1;
6415 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
6416 }
6417 #line 6418 "src/parser_proc.c" /* glr.c:817 */
6418 break;
6419
6420 case 573:
6421 #line 2052 "src/parser_proc_grammar.y" /* glr.c:817 */
6422 {
6423 (*(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)));
6424 (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6425 }
6426 #line 6427 "src/parser_proc.c" /* glr.c:817 */
6427 break;
6428
6429 case 574:
6430 #line 2059 "src/parser_proc_grammar.y" /* glr.c:817 */
6431 {
6432 (*(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);
6433 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6434 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval)));
6435 }
6436 #line 6437 "src/parser_proc.c" /* glr.c:817 */
6437 break;
6438
6439 case 575:
6440 #line 2064 "src/parser_proc_grammar.y" /* glr.c:817 */
6441 {
6442 (*(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)));
6443 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6444 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)));
6445 }
6446 #line 6447 "src/parser_proc.c" /* glr.c:817 */
6447 break;
6448
6449 case 576:
6450 #line 2072 "src/parser_proc_grammar.y" /* glr.c:817 */
6451 {
6452 (*(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)));
6453 (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6454 (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6455 }
6456 #line 6457 "src/parser_proc.c" /* glr.c:817 */
6457 break;
6458
6459 case 587:
6460 #line 2093 "src/parser_proc_grammar.y" /* glr.c:817 */
6461 {
6462 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6463 }
6464 #line 6465 "src/parser_proc.c" /* glr.c:817 */
6465 break;
6466
6467 case 588:
6468 #line 2096 "src/parser_proc_grammar.y" /* glr.c:817 */
6469 {
6470 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6471 }
6472 #line 6473 "src/parser_proc.c" /* glr.c:817 */
6473 break;
6474
6475 case 589:
6476 #line 2102 "src/parser_proc_grammar.y" /* glr.c:817 */
6477 {
6478 (*(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)));
6479 }
6480 #line 6481 "src/parser_proc.c" /* glr.c:817 */
6481 break;
6482
6483 case 590:
6484 #line 2105 "src/parser_proc_grammar.y" /* glr.c:817 */
6485 {
6486 (*(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)));
6487 }
6488 #line 6489 "src/parser_proc.c" /* glr.c:817 */
6489 break;
6490
6491 case 593:
6492 #line 2116 "src/parser_proc_grammar.y" /* glr.c:817 */
6493 {
6494 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6495 }
6496 #line 6497 "src/parser_proc.c" /* glr.c:817 */
6497 break;
6498
6499 case 594:
6500 #line 2119 "src/parser_proc_grammar.y" /* glr.c:817 */
6501 {
6502 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6503 }
6504 #line 6505 "src/parser_proc.c" /* glr.c:817 */
6505 break;
6506
6507 case 595:
6508 #line 2125 "src/parser_proc_grammar.y" /* glr.c:817 */
6509 {
6510 (*(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)));
6511 }
6512 #line 6513 "src/parser_proc.c" /* glr.c:817 */
6513 break;
6514
6515 case 596:
6516 #line 2128 "src/parser_proc_grammar.y" /* glr.c:817 */
6517 {
6518 (*(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)));
6519 }
6520 #line 6521 "src/parser_proc.c" /* glr.c:817 */
6521 break;
6522
6523 case 597:
6524 #line 2134 "src/parser_proc_grammar.y" /* glr.c:817 */
6525 {
6526 (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6527 (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6528 }
6529 #line 6530 "src/parser_proc.c" /* glr.c:817 */
6530 break;
6531
6532 case 598:
6533 #line 2141 "src/parser_proc_grammar.y" /* glr.c:817 */
6534 {
6535 (*(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))));
6536 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token);
6537 }
6538 #line 6539 "src/parser_proc.c" /* glr.c:817 */
6539 break;
6540
6541 case 599:
6542 #line 2145 "src/parser_proc_grammar.y" /* glr.c:817 */
6543 {
6544 (*(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))));
6545 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
6546 }
6547 #line 6548 "src/parser_proc.c" /* glr.c:817 */
6548 break;
6549
6550 case 600:
6551 #line 2152 "src/parser_proc_grammar.y" /* glr.c:817 */
6552 {
6553 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6554 }
6555 #line 6556 "src/parser_proc.c" /* glr.c:817 */
6556 break;
6557
6558 case 601:
6559 #line 2155 "src/parser_proc_grammar.y" /* glr.c:817 */
6560 {
6561 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6562 }
6563 #line 6564 "src/parser_proc.c" /* glr.c:817 */
6564 break;
6565
6566 case 602:
6567 #line 2158 "src/parser_proc_grammar.y" /* glr.c:817 */
6568 {
6569 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6570 }
6571 #line 6572 "src/parser_proc.c" /* glr.c:817 */
6572 break;
6573
6574 case 603:
6575 #line 2164 "src/parser_proc_grammar.y" /* glr.c:817 */
6576 {
6577 (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6578 (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6579 }
6580 #line 6581 "src/parser_proc.c" /* glr.c:817 */
6581 break;
6582
6583 case 604:
6584 #line 2171 "src/parser_proc_grammar.y" /* glr.c:817 */
6585 {
6586 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6587 }
6588 #line 6589 "src/parser_proc.c" /* glr.c:817 */
6589 break;
6590
6591 case 605:
6592 #line 2174 "src/parser_proc_grammar.y" /* glr.c:817 */
6593 {
6594 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6595 }
6596 #line 6597 "src/parser_proc.c" /* glr.c:817 */
6597 break;
6598
6599 case 606:
6600 #line 2177 "src/parser_proc_grammar.y" /* glr.c:817 */
6601 {
6602 (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6603 (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6604 }
6605 #line 6606 "src/parser_proc.c" /* glr.c:817 */
6606 break;
6607
6608 case 607:
6609 #line 2184 "src/parser_proc_grammar.y" /* glr.c:817 */
6610 {
6611 (*(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)));
6612 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6613 (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6614 }
6615 #line 6616 "src/parser_proc.c" /* glr.c:817 */
6616 break;
6617
6618 case 608:
6619 #line 2189 "src/parser_proc_grammar.y" /* glr.c:817 */
6620 {
6621 (*(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)));
6622 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6623 (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1;
6624 }
6625 #line 6626 "src/parser_proc.c" /* glr.c:817 */
6626 break;
6627
6628 case 617:
6629 #line 2208 "src/parser_proc_grammar.y" /* glr.c:817 */
6630 {
6631 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6632 }
6633 #line 6634 "src/parser_proc.c" /* glr.c:817 */
6634 break;
6635
6636 case 618:
6637 #line 2211 "src/parser_proc_grammar.y" /* glr.c:817 */
6638 {
6639 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6640 }
6641 #line 6642 "src/parser_proc.c" /* glr.c:817 */
6642 break;
6643
6644 case 619:
6645 #line 2217 "src/parser_proc_grammar.y" /* glr.c:817 */
6646 {
6647 (*(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)));
6648 }
6649 #line 6650 "src/parser_proc.c" /* glr.c:817 */
6650 break;
6651
6652 case 620:
6653 #line 2220 "src/parser_proc_grammar.y" /* glr.c:817 */
6654 {
6655 (*(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)));
6656 }
6657 #line 6658 "src/parser_proc.c" /* glr.c:817 */
6658 break;
6659
6660 case 621:
6661 #line 2226 "src/parser_proc_grammar.y" /* glr.c:817 */
6662 {
6663 (*(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)));
6664 (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6665 }
6666 #line 6667 "src/parser_proc.c" /* glr.c:817 */
6667 break;
6668
6669 case 624:
6670 #line 2238 "src/parser_proc_grammar.y" /* glr.c:817 */
6671 {
6672 (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6673 (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6674 }
6675 #line 6676 "src/parser_proc.c" /* glr.c:817 */
6676 break;
6677
6678 case 625:
6679 #line 2245 "src/parser_proc_grammar.y" /* glr.c:817 */
6680 {
6681 (*(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)));
6682 }
6683 #line 6684 "src/parser_proc.c" /* glr.c:817 */
6684 break;
6685
6686 case 626:
6687 #line 2248 "src/parser_proc_grammar.y" /* glr.c:817 */
6688 {
6689 (*(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)));
6690 }
6691 #line 6692 "src/parser_proc.c" /* glr.c:817 */
6692 break;
6693
6694 case 627:
6695 #line 2254 "src/parser_proc_grammar.y" /* glr.c:817 */
6696 {
6697 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
6698 (*(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)));
6699 (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6700 }
6701 #line 6702 "src/parser_proc.c" /* glr.c:817 */
6702 break;
6703
6704 case 628:
6705 #line 2262 "src/parser_proc_grammar.y" /* glr.c:817 */
6706 {
6707 (*(bool*)(&(*yyvalp))) = false;
6708 }
6709 #line 6710 "src/parser_proc.c" /* glr.c:817 */
6710 break;
6711
6712 case 629:
6713 #line 2265 "src/parser_proc_grammar.y" /* glr.c:817 */
6714 {
6715 (*(bool*)(&(*yyvalp))) = true;
6716 }
6717 #line 6718 "src/parser_proc.c" /* glr.c:817 */
6718 break;
6719
6720
6721 #line 6722 "src/parser_proc.c" /* glr.c:817 */
6722 default: break;
6723 }
6724
6725 return yyok;
6726 # undef yyerrok
6727 # undef YYABORT
6728 # undef YYACCEPT
6729 # undef YYERROR
6730 # undef YYBACKUP
6731 # undef yyclearin
6732 # undef YYRECOVERING
6733 }
6734
6735
6736 static void
6737 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
6738 {
6739 YYUSE (yy0);
6740 YYUSE (yy1);
6741
6742 switch (yyn)
6743 {
6744
6745 default: break;
6746 }
6747 }
6748
6749 /* Bison grammar-table manipulation. */
6750
6751 /*-----------------------------------------------.
6752 | Release the memory associated to this symbol. |
6753 `-----------------------------------------------*/
6754
6755 static void
6756 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
6757 {
6758 YYUSE (yyvaluep);
6759 YYUSE (P);
6760 YYUSE (tokens);
6761 YYUSE (index);
6762 if (!yymsg)
6763 yymsg = "Deleting";
6764 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6765
6766 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6767 switch (yytype)
6768 {
6769 case 141: /* binary_op_token */
6770 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6771 {}
6772 #line 6773 "src/parser_proc.c" /* glr.c:847 */
6773 break;
6774
6775 case 142: /* unary_op_token */
6776 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6777 {}
6778 #line 6779 "src/parser_proc.c" /* glr.c:847 */
6779 break;
6780
6781 case 143: /* name_token */
6782 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6783 {}
6784 #line 6785 "src/parser_proc.c" /* glr.c:847 */
6785 break;
6786
6787 case 144: /* any_noeol_token */
6788 #line 315 "src/parser_proc_grammar.y" /* glr.c:847 */
6789 {}
6790 #line 6791 "src/parser_proc.c" /* glr.c:847 */
6791 break;
6792
6793 case 149: /* lib */
6794 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
6795 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6796 #line 6797 "src/parser_proc.c" /* glr.c:847 */
6797 break;
6798
6799 case 150: /* cpp */
6800 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6801 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6802 #line 6803 "src/parser_proc.c" /* glr.c:847 */
6803 break;
6804
6805 case 151: /* cpp_exp */
6806 #line 324 "src/parser_proc_grammar.y" /* glr.c:847 */
6807 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6808 #line 6809 "src/parser_proc.c" /* glr.c:847 */
6809 break;
6810
6811 case 153: /* cpp_message_token */
6812 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6813 {}
6814 #line 6815 "src/parser_proc.c" /* glr.c:847 */
6815 break;
6816
6817 case 154: /* cpp_include_token */
6818 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6819 {}
6820 #line 6821 "src/parser_proc.c" /* glr.c:847 */
6821 break;
6822
6823 case 155: /* cpp_header_token */
6824 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6825 {}
6826 #line 6827 "src/parser_proc.c" /* glr.c:847 */
6827 break;
6828
6829 case 156: /* cpp_no_arg_token */
6830 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6831 {}
6832 #line 6833 "src/parser_proc.c" /* glr.c:847 */
6833 break;
6834
6835 case 157: /* cpp_name_arg_token */
6836 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6837 {}
6838 #line 6839 "src/parser_proc.c" /* glr.c:847 */
6839 break;
6840
6841 case 158: /* cpp_exp_arg_token */
6842 #line 312 "src/parser_proc_grammar.y" /* glr.c:847 */
6843 {}
6844 #line 6845 "src/parser_proc.c" /* glr.c:847 */
6845 break;
6846
6847 case 159: /* cpp_macro_decl */
6848 #line 326 "src/parser_proc_grammar.y" /* glr.c:847 */
6849 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));}
6850 #line 6851 "src/parser_proc.c" /* glr.c:847 */
6851 break;
6852
6853 case 160: /* cpp_macro_sig */
6854 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6855 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6856 #line 6857 "src/parser_proc.c" /* glr.c:847 */
6857 break;
6858
6859 case 161: /* cpp_macro_sig_args */
6860 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6861 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6862 #line 6863 "src/parser_proc.c" /* glr.c:847 */
6863 break;
6864
6865 case 162: /* cpp_macro_decl_tokens */
6866 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6867 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6868 #line 6869 "src/parser_proc.c" /* glr.c:847 */
6869 break;
6870
6871 case 163: /* cpp_macro_decl_token_list */
6872 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6873 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6874 #line 6875 "src/parser_proc.c" /* glr.c:847 */
6875 break;
6876
6877 case 164: /* cpp_macro_exp */
6878 #line 330 "src/parser_proc_grammar.y" /* glr.c:847 */
6879 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
6880 #line 6881 "src/parser_proc.c" /* glr.c:847 */
6881 break;
6882
6883 case 165: /* cpp_macro_call_args */
6884 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6885 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6886 #line 6887 "src/parser_proc.c" /* glr.c:847 */
6887 break;
6888
6889 case 166: /* cpp_macro_call_arg_list */
6890 #line 328 "src/parser_proc_grammar.y" /* glr.c:847 */
6891 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6892 #line 6893 "src/parser_proc.c" /* glr.c:847 */
6893 break;
6894
6895 case 167: /* constant */
6896 #line 336 "src/parser_proc_grammar.y" /* glr.c:847 */
6897 {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));}
6898 #line 6899 "src/parser_proc.c" /* glr.c:847 */
6899 break;
6900
6901 case 168: /* impl_def_val */
6902 #line 338 "src/parser_proc_grammar.y" /* glr.c:847 */
6903 {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));}
6904 #line 6905 "src/parser_proc.c" /* glr.c:847 */
6905 break;
6906
6907 case 169: /* impl_def_val_token */
6908 #line 333 "src/parser_proc_grammar.y" /* glr.c:847 */
6909 {}
6910 #line 6911 "src/parser_proc.c" /* glr.c:847 */
6911 break;
6912
6913 case 170: /* decl_typedef */
6914 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6915 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6916 #line 6917 "src/parser_proc.c" /* glr.c:847 */
6917 break;
6918
6919 case 171: /* typedef */
6920 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6921 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6922 #line 6923 "src/parser_proc.c" /* glr.c:847 */
6923 break;
6924
6925 case 172: /* typedef_anon */
6926 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6927 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6928 #line 6929 "src/parser_proc.c" /* glr.c:847 */
6929 break;
6930
6931 case 173: /* typedef_decl */
6932 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6933 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6934 #line 6935 "src/parser_proc.c" /* glr.c:847 */
6935 break;
6936
6937 case 174: /* typedef_anon_decl */
6938 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
6939 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6940 #line 6941 "src/parser_proc.c" /* glr.c:847 */
6941 break;
6942
6943 case 175: /* qualified_decl_type */
6944 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6945 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6946 #line 6947 "src/parser_proc.c" /* glr.c:847 */
6947 break;
6948
6949 case 177: /* decl_type */
6950 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6951 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6952 #line 6953 "src/parser_proc.c" /* glr.c:847 */
6953 break;
6954
6955 case 178: /* decl_type_complex */
6956 #line 347 "src/parser_proc_grammar.y" /* glr.c:847 */
6957 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6958 #line 6959 "src/parser_proc.c" /* glr.c:847 */
6959 break;
6960
6961 case 179: /* decl_type_simple */
6962 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6963 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6964 #line 6965 "src/parser_proc.c" /* glr.c:847 */
6965 break;
6966
6967 case 180: /* decl_real_type */
6968 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6969 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6970 #line 6971 "src/parser_proc.c" /* glr.c:847 */
6971 break;
6972
6973 case 181: /* int_signed */
6974 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
6975 {}
6976 #line 6977 "src/parser_proc.c" /* glr.c:847 */
6977 break;
6978
6979 case 182: /* int_width */
6980 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6981 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6982 #line 6983 "src/parser_proc.c" /* glr.c:847 */
6983 break;
6984
6985 case 183: /* decl_int_type */
6986 #line 341 "src/parser_proc_grammar.y" /* glr.c:847 */
6987 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6988 #line 6989 "src/parser_proc.c" /* glr.c:847 */
6989 break;
6990
6991 case 184: /* int_signed_types */
6992 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
6993 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6994 #line 6995 "src/parser_proc.c" /* glr.c:847 */
6995 break;
6996
6997 case 185: /* signed_short_types */
6998 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
6999 {}
7000 #line 7001 "src/parser_proc.c" /* glr.c:847 */
7001 break;
7002
7003 case 186: /* signed_long_types */
7004 #line 321 "src/parser_proc_grammar.y" /* glr.c:847 */
7005 {}
7006 #line 7007 "src/parser_proc.c" /* glr.c:847 */
7007 break;
7008
7009 case 187: /* int_width_types */
7010 #line 318 "src/parser_proc_grammar.y" /* glr.c:847 */
7011 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7012 #line 7013 "src/parser_proc.c" /* glr.c:847 */
7013 break;
7014
7015 case 188: /* decl_stmt */
7016 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7017 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7018 #line 7019 "src/parser_proc.c" /* glr.c:847 */
7019 break;
7020
7021 case 189: /* decl_asm */
7022 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7023 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7024 #line 7025 "src/parser_proc.c" /* glr.c:847 */
7025 break;
7026
7027 case 190: /* quoted_strings */
7028 #line 344 "src/parser_proc_grammar.y" /* glr.c:847 */
7029 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7030 #line 7031 "src/parser_proc.c" /* glr.c:847 */
7031 break;
7032
7033 case 191: /* decl_extvar_stmt */
7034 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7035 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7036 #line 7037 "src/parser_proc.c" /* glr.c:847 */
7037 break;
7038
7039 case 192: /* decl_extvar_list */
7040 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7041 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7042 #line 7043 "src/parser_proc.c" /* glr.c:847 */
7043 break;
7044
7045 case 193: /* decl_vars */
7046 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7047 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7048 #line 7049 "src/parser_proc.c" /* glr.c:847 */
7049 break;
7050
7051 case 194: /* ignored_decl */
7052 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7053 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7054 #line 7055 "src/parser_proc.c" /* glr.c:847 */
7055 break;
7056
7057 case 199: /* decl */
7058 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7059 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7060 #line 7061 "src/parser_proc.c" /* glr.c:847 */
7061 break;
7062
7063 case 200: /* decl_body */
7064 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7065 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7066 #line 7067 "src/parser_proc.c" /* glr.c:847 */
7067 break;
7068
7069 case 201: /* decl_func_body */
7070 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7071 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7072 #line 7073 "src/parser_proc.c" /* glr.c:847 */
7073 break;
7074
7075 case 202: /* decl_functor_body */
7076 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7077 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7078 #line 7079 "src/parser_proc.c" /* glr.c:847 */
7079 break;
7080
7081 case 203: /* decl_anon_functor_body */
7082 #line 349 "src/parser_proc_grammar.y" /* glr.c:847 */
7083 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7084 #line 7085 "src/parser_proc.c" /* glr.c:847 */
7085 break;
7086
7087 case 204: /* decl_functor */
7088 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7089 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7090 #line 7091 "src/parser_proc.c" /* glr.c:847 */
7091 break;
7092
7093 case 205: /* decl_anon_functor */
7094 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7095 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7096 #line 7097 "src/parser_proc.c" /* glr.c:847 */
7097 break;
7098
7099 case 206: /* decl_func */
7100 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7101 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7102 #line 7103 "src/parser_proc.c" /* glr.c:847 */
7103 break;
7104
7105 case 207: /* decl_args */
7106 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7107 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7108 #line 7109 "src/parser_proc.c" /* glr.c:847 */
7109 break;
7110
7111 case 208: /* decl_arg_list */
7112 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7113 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7114 #line 7115 "src/parser_proc.c" /* glr.c:847 */
7115 break;
7116
7117 case 209: /* decl_anon_arg */
7118 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7119 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7120 #line 7121 "src/parser_proc.c" /* glr.c:847 */
7121 break;
7122
7123 case 210: /* decl_arg */
7124 #line 351 "src/parser_proc_grammar.y" /* glr.c:847 */
7125 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7126 #line 7127 "src/parser_proc.c" /* glr.c:847 */
7127 break;
7128
7129 case 211: /* decl_var */
7130 #line 353 "src/parser_proc_grammar.y" /* glr.c:847 */
7131 {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));}
7132 #line 7133 "src/parser_proc.c" /* glr.c:847 */
7133 break;
7134
7135 case 212: /* decl_union */
7136 #line 357 "src/parser_proc_grammar.y" /* glr.c:847 */
7137 {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));}
7138 #line 7139 "src/parser_proc.c" /* glr.c:847 */
7139 break;
7140
7141 case 213: /* decl_struct */
7142 #line 355 "src/parser_proc_grammar.y" /* glr.c:847 */
7143 {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));}
7144 #line 7145 "src/parser_proc.c" /* glr.c:847 */
7145 break;
7146
7147 case 214: /* decl_struct_args */
7148 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7149 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7150 #line 7151 "src/parser_proc.c" /* glr.c:847 */
7151 break;
7152
7153 case 215: /* struct_args_block */
7154 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7155 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7156 #line 7157 "src/parser_proc.c" /* glr.c:847 */
7157 break;
7158
7159 case 216: /* struct_args */
7160 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7161 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7162 #line 7163 "src/parser_proc.c" /* glr.c:847 */
7163 break;
7164
7165 case 217: /* struct_arg_var_list */
7166 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7167 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7168 #line 7169 "src/parser_proc.c" /* glr.c:847 */
7169 break;
7170
7171 case 218: /* decl_vars_with_layout */
7172 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7173 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7174 #line 7175 "src/parser_proc.c" /* glr.c:847 */
7175 break;
7176
7177 case 219: /* decl_enum */
7178 #line 359 "src/parser_proc_grammar.y" /* glr.c:847 */
7179 {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));}
7180 #line 7181 "src/parser_proc.c" /* glr.c:847 */
7181 break;
7182
7183 case 220: /* decl_enum_items */
7184 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7185 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7186 #line 7187 "src/parser_proc.c" /* glr.c:847 */
7187 break;
7188
7189 case 221: /* decl_enum_item */
7190 #line 361 "src/parser_proc_grammar.y" /* glr.c:847 */
7191 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));}
7192 #line 7193 "src/parser_proc.c" /* glr.c:847 */
7193 break;
7194
7195 case 222: /* num_exp */
7196 #line 419 "src/parser_proc_grammar.y" /* glr.c:847 */
7197 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
7198 #line 7199 "src/parser_proc.c" /* glr.c:847 */
7199 break;
7200
7201 case 223: /* number */
7202 #line 421 "src/parser_proc_grammar.y" /* glr.c:847 */
7203 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7204 #line 7205 "src/parser_proc.c" /* glr.c:847 */
7205 break;
7206
7207 case 224: /* sizeof */
7208 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7209 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7210 #line 7211 "src/parser_proc.c" /* glr.c:847 */
7211 break;
7212
7213 case 225: /* sizeof_body */
7214 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7215 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7216 #line 7217 "src/parser_proc.c" /* glr.c:847 */
7217 break;
7218
7219 case 226: /* sizeof_body_notypes */
7220 #line 371 "src/parser_proc_grammar.y" /* glr.c:847 */
7221 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7222 #line 7223 "src/parser_proc.c" /* glr.c:847 */
7223 break;
7224
7225 case 227: /* enum_name */
7226 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7227 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7228 #line 7229 "src/parser_proc.c" /* glr.c:847 */
7229 break;
7230
7231 case 228: /* union_name */
7232 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7233 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7234 #line 7235 "src/parser_proc.c" /* glr.c:847 */
7235 break;
7236
7237 case 229: /* struct_name */
7238 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7239 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7240 #line 7241 "src/parser_proc.c" /* glr.c:847 */
7241 break;
7242
7243 case 230: /* optional_name */
7244 #line 309 "src/parser_proc_grammar.y" /* glr.c:847 */
7245 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7246 #line 7247 "src/parser_proc.c" /* glr.c:847 */
7247 break;
7248
7249 case 232: /* decl_layout */
7250 #line 368 "src/parser_proc_grammar.y" /* glr.c:847 */
7251 {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));}
7252 #line 7253 "src/parser_proc.c" /* glr.c:847 */
7253 break;
7254
7255 case 233: /* align_and_size */
7256 #line 366 "src/parser_proc_grammar.y" /* glr.c:847 */
7257 {}
7258 #line 7259 "src/parser_proc.c" /* glr.c:847 */
7259 break;
7260
7261 case 234: /* array_size */
7262 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7263 {}
7264 #line 7265 "src/parser_proc.c" /* glr.c:847 */
7265 break;
7266
7267 case 236: /* indirection */
7268 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7269 {}
7270 #line 7271 "src/parser_proc.c" /* glr.c:847 */
7271 break;
7272
7273 case 237: /* pointers */
7274 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7275 {}
7276 #line 7277 "src/parser_proc.c" /* glr.c:847 */
7277 break;
7278
7279 case 238: /* asterisks */
7280 #line 424 "src/parser_proc_grammar.y" /* glr.c:847 */
7281 {}
7282 #line 7283 "src/parser_proc.c" /* glr.c:847 */
7283 break;
7284
7285 case 241: /* impl */
7286 #line 374 "src/parser_proc_grammar.y" /* glr.c:847 */
7287 {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));}
7288 #line 7289 "src/parser_proc.c" /* glr.c:847 */
7289 break;
7290
7291 case 242: /* impl_func */
7292 #line 376 "src/parser_proc_grammar.y" /* glr.c:847 */
7293 {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));}
7294 #line 7295 "src/parser_proc.c" /* glr.c:847 */
7295 break;
7296
7297 case 243: /* impl_args */
7298 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7299 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7300 #line 7301 "src/parser_proc.c" /* glr.c:847 */
7301 break;
7302
7303 case 244: /* impl_arg */
7304 #line 378 "src/parser_proc_grammar.y" /* glr.c:847 */
7305 {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));}
7306 #line 7307 "src/parser_proc.c" /* glr.c:847 */
7307 break;
7308
7309 case 245: /* impl_var */
7310 #line 382 "src/parser_proc_grammar.y" /* glr.c:847 */
7311 {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));}
7312 #line 7313 "src/parser_proc.c" /* glr.c:847 */
7313 break;
7314
7315 case 246: /* impl_type */
7316 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7317 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7318 #line 7319 "src/parser_proc.c" /* glr.c:847 */
7319 break;
7320
7321 case 247: /* impl_type_restricted */
7322 #line 380 "src/parser_proc_grammar.y" /* glr.c:847 */
7323 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7324 #line 7325 "src/parser_proc.c" /* glr.c:847 */
7325 break;
7326
7327 case 248: /* impl_type_token */
7328 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7329 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7330 #line 7331 "src/parser_proc.c" /* glr.c:847 */
7331 break;
7332
7333 case 249: /* impl_type_restricted_token */
7334 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7335 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7336 #line 7337 "src/parser_proc.c" /* glr.c:847 */
7337 break;
7338
7339 case 250: /* impl_type_extended_token */
7340 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7341 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7342 #line 7343 "src/parser_proc.c" /* glr.c:847 */
7343 break;
7344
7345 case 251: /* impl_stmts */
7346 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7347 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7348 #line 7349 "src/parser_proc.c" /* glr.c:847 */
7349 break;
7350
7351 case 252: /* impl_stmt */
7352 #line 412 "src/parser_proc_grammar.y" /* glr.c:847 */
7353 {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));}
7354 #line 7355 "src/parser_proc.c" /* glr.c:847 */
7355 break;
7356
7357 case 253: /* let_stmt */
7358 #line 385 "src/parser_proc_grammar.y" /* glr.c:847 */
7359 {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));}
7360 #line 7361 "src/parser_proc.c" /* glr.c:847 */
7361 break;
7362
7363 case 254: /* let_exp */
7364 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7365 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7366 #line 7367 "src/parser_proc.c" /* glr.c:847 */
7367 break;
7368
7369 case 255: /* let_exp_byref */
7370 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7371 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7372 #line 7373 "src/parser_proc.c" /* glr.c:847 */
7373 break;
7374
7375 case 256: /* let_exp_assign */
7376 #line 387 "src/parser_proc_grammar.y" /* glr.c:847 */
7377 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7378 #line 7379 "src/parser_proc.c" /* glr.c:847 */
7379 break;
7380
7381 case 257: /* let_calloc */
7382 #line 389 "src/parser_proc_grammar.y" /* glr.c:847 */
7383 {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));}
7384 #line 7385 "src/parser_proc.c" /* glr.c:847 */
7385 break;
7386
7387 case 258: /* let_callback */
7388 #line 391 "src/parser_proc_grammar.y" /* glr.c:847 */
7389 {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));}
7390 #line 7391 "src/parser_proc.c" /* glr.c:847 */
7391 break;
7392
7393 case 259: /* let_func */
7394 #line 393 "src/parser_proc_grammar.y" /* glr.c:847 */
7395 {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));}
7396 #line 7397 "src/parser_proc.c" /* glr.c:847 */
7397 break;
7398
7399 case 260: /* let_func_token */
7400 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7401 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7402 #line 7403 "src/parser_proc.c" /* glr.c:847 */
7403 break;
7404
7405 case 261: /* let_func_exps */
7406 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7407 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7408 #line 7409 "src/parser_proc.c" /* glr.c:847 */
7409 break;
7410
7411 case 262: /* let_exps */
7412 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7413 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7414 #line 7415 "src/parser_proc.c" /* glr.c:847 */
7415 break;
7416
7417 case 263: /* callback_rval */
7418 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7419 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7420 #line 7421 "src/parser_proc.c" /* glr.c:847 */
7421 break;
7422
7423 case 264: /* callback_arg_list */
7424 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7425 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7426 #line 7427 "src/parser_proc.c" /* glr.c:847 */
7427 break;
7428
7429 case 265: /* callback_args */
7430 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7431 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7432 #line 7433 "src/parser_proc.c" /* glr.c:847 */
7433 break;
7434
7435 case 266: /* return_stmt */
7436 #line 403 "src/parser_proc_grammar.y" /* glr.c:847 */
7437 {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));}
7438 #line 7439 "src/parser_proc.c" /* glr.c:847 */
7439 break;
7440
7441 case 267: /* return_exp */
7442 #line 405 "src/parser_proc_grammar.y" /* glr.c:847 */
7443 {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));}
7444 #line 7445 "src/parser_proc.c" /* glr.c:847 */
7445 break;
7446
7447 case 268: /* call_decl_vars */
7448 #line 363 "src/parser_proc_grammar.y" /* glr.c:847 */
7449 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7450 #line 7451 "src/parser_proc.c" /* glr.c:847 */
7451 break;
7452
7453 case 269: /* set_stmt */
7454 #line 395 "src/parser_proc_grammar.y" /* glr.c:847 */
7455 {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));}
7456 #line 7457 "src/parser_proc.c" /* glr.c:847 */
7457 break;
7458
7459 case 270: /* set_exp */
7460 #line 397 "src/parser_proc_grammar.y" /* glr.c:847 */
7461 {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));}
7462 #line 7463 "src/parser_proc.c" /* glr.c:847 */
7463 break;
7464
7465 case 271: /* set_func */
7466 #line 399 "src/parser_proc_grammar.y" /* glr.c:847 */
7467 {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));}
7468 #line 7469 "src/parser_proc.c" /* glr.c:847 */
7469 break;
7470
7471 case 272: /* set_func_token */
7472 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7473 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7474 #line 7475 "src/parser_proc.c" /* glr.c:847 */
7475 break;
7476
7477 case 273: /* set_func_exps */
7478 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7479 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7480 #line 7481 "src/parser_proc.c" /* glr.c:847 */
7481 break;
7482
7483 case 274: /* set_exps */
7484 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7485 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7486 #line 7487 "src/parser_proc.c" /* glr.c:847 */
7487 break;
7488
7489 case 275: /* assert_stmt */
7490 #line 401 "src/parser_proc_grammar.y" /* glr.c:847 */
7491 {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));}
7492 #line 7493 "src/parser_proc.c" /* glr.c:847 */
7493 break;
7494
7495 case 276: /* assert_stmt_token */
7496 #line 414 "src/parser_proc_grammar.y" /* glr.c:847 */
7497 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7498 #line 7499 "src/parser_proc.c" /* glr.c:847 */
7499 break;
7500
7501 case 277: /* free_stmt */
7502 #line 407 "src/parser_proc_grammar.y" /* glr.c:847 */
7503 {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));}
7504 #line 7505 "src/parser_proc.c" /* glr.c:847 */
7505 break;
7506
7507 case 278: /* free_exps */
7508 #line 416 "src/parser_proc_grammar.y" /* glr.c:847 */
7509 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7510 #line 7511 "src/parser_proc.c" /* glr.c:847 */
7511 break;
7512
7513 case 279: /* free_exp */
7514 #line 409 "src/parser_proc_grammar.y" /* glr.c:847 */
7515 {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));}
7516 #line 7517 "src/parser_proc.c" /* glr.c:847 */
7517 break;
7518
7519 case 280: /* reference */
7520 #line 426 "src/parser_proc_grammar.y" /* glr.c:847 */
7521 {}
7522 #line 7523 "src/parser_proc.c" /* glr.c:847 */
7523 break;
7524
7525
7526 default:
7527 break;
7528 }
7529 YY_IGNORE_MAYBE_UNINITIALIZED_END
7530 }
7531
7532 /** Number of symbols composing the right hand side of rule #RULE. */
7533 static inline int
7534 yyrhsLength (yyRuleNum yyrule)
7535 {
7536 return yyr2[yyrule];
7537 }
7538
7539 static void
7540 yydestroyGLRState (char const *yymsg, yyGLRState *yys, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7541 {
7542 if (yys->yyresolved)
7543 yydestruct (yymsg, yystos[yys->yylrState],
7544 &yys->yysemantics.yysval, P, tokens, index);
7545 else
7546 {
7547 #if YYDEBUG
7548 if (yydebug)
7549 {
7550 if (yys->yysemantics.yyfirstVal)
7551 YYFPRINTF (stderr, "%s unresolved", yymsg);
7552 else
7553 YYFPRINTF (stderr, "%s incomplete", yymsg);
7554 YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc);
7555 }
7556 #endif
7557
7558 if (yys->yysemantics.yyfirstVal)
7559 {
7560 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
7561 yyGLRState *yyrh;
7562 int yyn;
7563 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
7564 yyn > 0;
7565 yyrh = yyrh->yypred, yyn -= 1)
7566 yydestroyGLRState (yymsg, yyrh, P, tokens, index);
7567 }
7568 }
7569 }
7570
7571 /** Left-hand-side symbol for rule #YYRULE. */
7572 static inline yySymbol
7573 yylhsNonterm (yyRuleNum yyrule)
7574 {
7575 return yyr1[yyrule];
7576 }
7577
7578 #define yypact_value_is_default(Yystate) \
7579 (!!((Yystate) == (-714)))
7580
7581 /** True iff LR state YYSTATE has only a default reduction (regardless
7582 * of token). */
7583 static inline yybool
7584 yyisDefaultedState (yyStateNum yystate)
7585 {
7586 return yypact_value_is_default (yypact[yystate]);
7587 }
7588
7589 /** The default reduction for YYSTATE, assuming it has one. */
7590 static inline yyRuleNum
7591 yydefaultAction (yyStateNum yystate)
7592 {
7593 return yydefact[yystate];
7594 }
7595
7596 #define yytable_value_is_error(Yytable_value) \
7597 0
7598
7599 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7600 * Result R means
7601 * R < 0: Reduce on rule -R.
7602 * R = 0: Error.
7603 * R > 0: Shift to state R.
7604 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7605 * of conflicting reductions.
7606 */
7607 static inline void
7608 yygetLRActions (yyStateNum yystate, int yytoken,
7609 int* yyaction, const short** yyconflicts)
7610 {
7611 int yyindex = yypact[yystate] + yytoken;
7612 if (yypact_value_is_default (yypact[yystate])
7613 || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
7614 {
7615 *yyaction = -yydefact[yystate];
7616 *yyconflicts = yyconfl;
7617 }
7618 else if (! yytable_value_is_error (yytable[yyindex]))
7619 {
7620 *yyaction = yytable[yyindex];
7621 *yyconflicts = yyconfl + yyconflp[yyindex];
7622 }
7623 else
7624 {
7625 *yyaction = 0;
7626 *yyconflicts = yyconfl + yyconflp[yyindex];
7627 }
7628 }
7629
7630 /** Compute post-reduction state.
7631 * \param yystate the current state
7632 * \param yysym the nonterminal to push on the stack
7633 */
7634 static inline yyStateNum
7635 yyLRgotoState (yyStateNum yystate, yySymbol yysym)
7636 {
7637 int yyr = yypgoto[yysym - YYNTOKENS] + yystate;
7638 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
7639 return yytable[yyr];
7640 else
7641 return yydefgoto[yysym - YYNTOKENS];
7642 }
7643
7644 static inline yybool
7645 yyisShiftAction (int yyaction)
7646 {
7647 return 0 < yyaction;
7648 }
7649
7650 static inline yybool
7651 yyisErrorAction (int yyaction)
7652 {
7653 return yyaction == 0;
7654 }
7655
7656 /* GLRStates */
7657
7658 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7659 * if YYISSTATE, and otherwise a semantic option. Callers should call
7660 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7661 * headroom. */
7662
7663 static inline yyGLRStackItem*
7664 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
7665 {
7666 yyGLRStackItem* yynewItem = yystackp->yynextFree;
7667 yystackp->yyspaceLeft -= 1;
7668 yystackp->yynextFree += 1;
7669 yynewItem->yystate.yyisState = yyisState;
7670 return yynewItem;
7671 }
7672
7673 /** Add a new semantic action that will execute the action for rule
7674 * YYRULE on the semantic values in YYRHS to the list of
7675 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7676 * stack #YYK of *YYSTACKP. */
7677 static void
7678 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
7679 yyGLRState* yyrhs, yyRuleNum yyrule)
7680 {
7681 yySemanticOption* yynewOption =
7682 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
7683 YYASSERT (!yynewOption->yyisState);
7684 yynewOption->yystate = yyrhs;
7685 yynewOption->yyrule = yyrule;
7686 if (yystackp->yytops.yylookaheadNeeds[yyk])
7687 {
7688 yynewOption->yyrawchar = yychar;
7689 yynewOption->yyval = yylval;
7690 }
7691 else
7692 yynewOption->yyrawchar = YYEMPTY;
7693 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
7694 yystate->yysemantics.yyfirstVal = yynewOption;
7695
7696 YY_RESERVE_GLRSTACK (yystackp);
7697 }
7698
7699 /* GLRStacks */
7700
7701 /** Initialize YYSET to a singleton set containing an empty stack. */
7702 static yybool
7703 yyinitStateSet (yyGLRStateSet* yyset)
7704 {
7705 yyset->yysize = 1;
7706 yyset->yycapacity = 16;
7707 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
7708 if (! yyset->yystates)
7709 return yyfalse;
7710 yyset->yystates[0] = YY_NULLPTR;
7711 yyset->yylookaheadNeeds =
7712 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
7713 if (! yyset->yylookaheadNeeds)
7714 {
7715 YYFREE (yyset->yystates);
7716 return yyfalse;
7717 }
7718 return yytrue;
7719 }
7720
7721 static void yyfreeStateSet (yyGLRStateSet* yyset)
7722 {
7723 YYFREE (yyset->yystates);
7724 YYFREE (yyset->yylookaheadNeeds);
7725 }
7726
7727 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7728 * capacity for all stacks of YYSIZE. */
7729 static yybool
7730 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
7731 {
7732 yystackp->yyerrState = 0;
7733 yynerrs = 0;
7734 yystackp->yyspaceLeft = yysize;
7735 yystackp->yyitems =
7736 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
7737 if (!yystackp->yyitems)
7738 return yyfalse;
7739 yystackp->yynextFree = yystackp->yyitems;
7740 yystackp->yysplitPoint = YY_NULLPTR;
7741 yystackp->yylastDeleted = YY_NULLPTR;
7742 return yyinitStateSet (&yystackp->yytops);
7743 }
7744
7745
7746 #if YYSTACKEXPANDABLE
7747 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7748 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7749
7750 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7751 stack from outside should be considered invalid after this call.
7752 We always expand when there are 1 or fewer items left AFTER an
7753 allocation, so that we can avoid having external pointers exist
7754 across an allocation. */
7755 static void
7756 yyexpandGLRStack (yyGLRStack* yystackp)
7757 {
7758 yyGLRStackItem* yynewItems;
7759 yyGLRStackItem* yyp0, *yyp1;
7760 size_t yynewSize;
7761 size_t yyn;
7762 size_t yysize = yystackp->yynextFree - yystackp->yyitems;
7763 if (YYMAXDEPTH - YYHEADROOM < yysize)
7764 yyMemoryExhausted (yystackp);
7765 yynewSize = 2*yysize;
7766 if (YYMAXDEPTH < yynewSize)
7767 yynewSize = YYMAXDEPTH;
7768 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
7769 if (! yynewItems)
7770 yyMemoryExhausted (yystackp);
7771 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
7772 0 < yyn;
7773 yyn -= 1, yyp0 += 1, yyp1 += 1)
7774 {
7775 *yyp1 = *yyp0;
7776 if (*(yybool *) yyp0)
7777 {
7778 yyGLRState* yys0 = &yyp0->yystate;
7779 yyGLRState* yys1 = &yyp1->yystate;
7780 if (yys0->yypred != YY_NULLPTR)
7781 yys1->yypred =
7782 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
7783 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR)
7784 yys1->yysemantics.yyfirstVal =
7785 YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
7786 }
7787 else
7788 {
7789 yySemanticOption* yyv0 = &yyp0->yyoption;
7790 yySemanticOption* yyv1 = &yyp1->yyoption;
7791 if (yyv0->yystate != YY_NULLPTR)
7792 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
7793 if (yyv0->yynext != YY_NULLPTR)
7794 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
7795 }
7796 }
7797 if (yystackp->yysplitPoint != YY_NULLPTR)
7798 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
7799 yystackp->yysplitPoint, yystate);
7800
7801 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
7802 if (yystackp->yytops.yystates[yyn] != YY_NULLPTR)
7803 yystackp->yytops.yystates[yyn] =
7804 YYRELOC (yystackp->yyitems, yynewItems,
7805 yystackp->yytops.yystates[yyn], yystate);
7806 YYFREE (yystackp->yyitems);
7807 yystackp->yyitems = yynewItems;
7808 yystackp->yynextFree = yynewItems + yysize;
7809 yystackp->yyspaceLeft = yynewSize - yysize;
7810 }
7811 #endif
7812
7813 static void
7814 yyfreeGLRStack (yyGLRStack* yystackp)
7815 {
7816 YYFREE (yystackp->yyitems);
7817 yyfreeStateSet (&yystackp->yytops);
7818 }
7819
7820 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7821 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7822 * YYS. */
7823 static inline void
7824 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
7825 {
7826 if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys)
7827 yystackp->yysplitPoint = yys;
7828 }
7829
7830 /** Invalidate stack #YYK in *YYSTACKP. */
7831 static inline void
7832 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
7833 {
7834 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
7835 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
7836 yystackp->yytops.yystates[yyk] = YY_NULLPTR;
7837 }
7838
7839 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7840 only be done once after a deletion, and only when all other stacks have
7841 been deleted. */
7842 static void
7843 yyundeleteLastStack (yyGLRStack* yystackp)
7844 {
7845 if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0)
7846 return;
7847 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
7848 yystackp->yytops.yysize = 1;
7849 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
7850 yystackp->yylastDeleted = YY_NULLPTR;
7851 }
7852
7853 static inline void
7854 yyremoveDeletes (yyGLRStack* yystackp)
7855 {
7856 size_t yyi, yyj;
7857 yyi = yyj = 0;
7858 while (yyj < yystackp->yytops.yysize)
7859 {
7860 if (yystackp->yytops.yystates[yyi] == YY_NULLPTR)
7861 {
7862 if (yyi == yyj)
7863 {
7864 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
7865 }
7866 yystackp->yytops.yysize -= 1;
7867 }
7868 else
7869 {
7870 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
7871 /* In the current implementation, it's unnecessary to copy
7872 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7873 yyremoveDeletes returns, the parser immediately either enters
7874 deterministic operation or shifts a token. However, it doesn't
7875 hurt, and the code might evolve to need it. */
7876 yystackp->yytops.yylookaheadNeeds[yyj] =
7877 yystackp->yytops.yylookaheadNeeds[yyi];
7878 if (yyj != yyi)
7879 {
7880 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
7881 (unsigned long) yyi, (unsigned long) yyj));
7882 }
7883 yyj += 1;
7884 }
7885 yyi += 1;
7886 }
7887 }
7888
7889 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7890 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7891 * value *YYVALP and source location *YYLOCP. */
7892 static inline void
7893 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7894 size_t yyposn,
7895 YYSTYPE* yyvalp)
7896 {
7897 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7898
7899 yynewState->yylrState = yylrState;
7900 yynewState->yyposn = yyposn;
7901 yynewState->yyresolved = yytrue;
7902 yynewState->yypred = yystackp->yytops.yystates[yyk];
7903 yynewState->yysemantics.yysval = *yyvalp;
7904 yystackp->yytops.yystates[yyk] = yynewState;
7905
7906 YY_RESERVE_GLRSTACK (yystackp);
7907 }
7908
7909 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7910 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7911 * semantic value of YYRHS under the action for YYRULE. */
7912 static inline void
7913 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7914 size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
7915 {
7916 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7917 YYASSERT (yynewState->yyisState);
7918
7919 yynewState->yylrState = yylrState;
7920 yynewState->yyposn = yyposn;
7921 yynewState->yyresolved = yyfalse;
7922 yynewState->yypred = yystackp->yytops.yystates[yyk];
7923 yynewState->yysemantics.yyfirstVal = YY_NULLPTR;
7924 yystackp->yytops.yystates[yyk] = yynewState;
7925
7926 /* Invokes YY_RESERVE_GLRSTACK. */
7927 yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
7928 }
7929
7930 #if !YYDEBUG
7931 # define YY_REDUCE_PRINT(Args)
7932 #else
7933 # define YY_REDUCE_PRINT(Args) \
7934 do { \
7935 if (yydebug) \
7936 yy_reduce_print Args; \
7937 } while (0)
7938
7939 /*----------------------------------------------------------------------.
7940 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7941 `----------------------------------------------------------------------*/
7942
7943 static inline void
7944 yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
7945 yyRuleNum yyrule, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7946 {
7947 int yynrhs = yyrhsLength (yyrule);
7948 int yyi;
7949 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
7950 (unsigned long) yyk, yyrule - 1,
7951 (unsigned long) yyrline[yyrule]);
7952 if (! yynormal)
7953 yyfillin (yyvsp, 1, -yynrhs);
7954 /* The symbols being reduced. */
7955 for (yyi = 0; yyi < yynrhs; yyi++)
7956 {
7957 YYFPRINTF (stderr, " $%d = ", yyi + 1);
7958 yy_symbol_print (stderr,
7959 yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
7960 &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
7961 , P, tokens, index);
7962 if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
7963 YYFPRINTF (stderr, " (unresolved)");
7964 YYFPRINTF (stderr, "\n");
7965 }
7966 }
7967 #endif
7968
7969 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
7970 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
7971 * semantic values. Assumes that all ambiguities in semantic values
7972 * have been previously resolved. Set *YYVALP to the resulting value,
7973 * and *YYLOCP to the computed location (if any). Return value is as
7974 * for userAction. */
7975 static inline YYRESULTTAG
7976 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
7977 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7978 {
7979 int yynrhs = yyrhsLength (yyrule);
7980
7981 if (yystackp->yysplitPoint == YY_NULLPTR)
7982 {
7983 /* Standard special case: single stack. */
7984 yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
7985 YYASSERT (yyk == 0);
7986 yystackp->yynextFree -= yynrhs;
7987 yystackp->yyspaceLeft += yynrhs;
7988 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
7989 YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, P, tokens, index));
7990 return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
7991 yyvalp, P, tokens, index);
7992 }
7993 else
7994 {
7995 int yyi;
7996 yyGLRState* yys;
7997 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
7998 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
7999 = yystackp->yytops.yystates[yyk];
8000 for (yyi = 0; yyi < yynrhs; yyi += 1)
8001 {
8002 yys = yys->yypred;
8003 YYASSERT (yys);
8004 }
8005 yyupdateSplit (yystackp, yys);
8006 yystackp->yytops.yystates[yyk] = yys;
8007 YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, P, tokens, index));
8008 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8009 yystackp, yyvalp, P, tokens, index);
8010 }
8011 }
8012
8013 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8014 * and push back on the resulting nonterminal symbol. Perform the
8015 * semantic action associated with YYRULE and store its value with the
8016 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8017 * unambiguous. Otherwise, store the deferred semantic action with
8018 * the new state. If the new state would have an identical input
8019 * position, LR state, and predecessor to an existing state on the stack,
8020 * it is identified with that existing state, eliminating stack #YYK from
8021 * *YYSTACKP. In this case, the semantic value is
8022 * added to the options for the existing state's semantic value.
8023 */
8024 static inline YYRESULTTAG
8025 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8026 yybool yyforceEval, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8027 {
8028 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
8029
8030 if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
8031 {
8032 YYSTYPE yysval;
8033
8034 YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, P, tokens, index);
8035 if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
8036 {
8037 YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
8038 (unsigned long) yyk, yyrule - 1));
8039 }
8040 if (yyflag != yyok)
8041 return yyflag;
8042 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
8043 yyglrShift (yystackp, yyk,
8044 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
8045 yylhsNonterm (yyrule)),
8046 yyposn, &yysval);
8047 }
8048 else
8049 {
8050 size_t yyi;
8051 int yyn;
8052 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
8053 yyStateNum yynewLRState;
8054
8055 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
8056 0 < yyn; yyn -= 1)
8057 {
8058 yys = yys->yypred;
8059 YYASSERT (yys);
8060 }
8061 yyupdateSplit (yystackp, yys);
8062 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
8063 YYDPRINTF ((stderr,
8064 "Reduced stack %lu by rule #%d; action deferred. "
8065 "Now in state %d.\n",
8066 (unsigned long) yyk, yyrule - 1, yynewLRState));
8067 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
8068 if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR)
8069 {
8070 yyGLRState *yysplit = yystackp->yysplitPoint;
8071 yyGLRState *yyp = yystackp->yytops.yystates[yyi];
8072 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
8073 {
8074 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
8075 {
8076 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
8077 yymarkStackDeleted (yystackp, yyk);
8078 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
8079 (unsigned long) yyk,
8080 (unsigned long) yyi));
8081 return yyok;
8082 }
8083 yyp = yyp->yypred;
8084 }
8085 }
8086 yystackp->yytops.yystates[yyk] = yys;
8087 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
8088 }
8089 return yyok;
8090 }
8091
8092 static size_t
8093 yysplitStack (yyGLRStack* yystackp, size_t yyk)
8094 {
8095 if (yystackp->yysplitPoint == YY_NULLPTR)
8096 {
8097 YYASSERT (yyk == 0);
8098 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
8099 }
8100 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
8101 {
8102 yyGLRState** yynewStates;
8103 yybool* yynewLookaheadNeeds;
8104
8105 yynewStates = YY_NULLPTR;
8106
8107 if (yystackp->yytops.yycapacity
8108 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
8109 yyMemoryExhausted (yystackp);
8110 yystackp->yytops.yycapacity *= 2;
8111
8112 yynewStates =
8113 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
8114 (yystackp->yytops.yycapacity
8115 * sizeof yynewStates[0]));
8116 if (yynewStates == YY_NULLPTR)
8117 yyMemoryExhausted (yystackp);
8118 yystackp->yytops.yystates = yynewStates;
8119
8120 yynewLookaheadNeeds =
8121 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
8122 (yystackp->yytops.yycapacity
8123 * sizeof yynewLookaheadNeeds[0]));
8124 if (yynewLookaheadNeeds == YY_NULLPTR)
8125 yyMemoryExhausted (yystackp);
8126 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
8127 }
8128 yystackp->yytops.yystates[yystackp->yytops.yysize]
8129 = yystackp->yytops.yystates[yyk];
8130 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
8131 = yystackp->yytops.yylookaheadNeeds[yyk];
8132 yystackp->yytops.yysize += 1;
8133 return yystackp->yytops.yysize-1;
8134 }
8135
8136 /** True iff YYY0 and YYY1 represent identical options at the top level.
8137 * That is, they represent the same rule applied to RHS symbols
8138 * that produce the same terminal symbols. */
8139 static yybool
8140 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
8141 {
8142 if (yyy0->yyrule == yyy1->yyrule)
8143 {
8144 yyGLRState *yys0, *yys1;
8145 int yyn;
8146 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8147 yyn = yyrhsLength (yyy0->yyrule);
8148 yyn > 0;
8149 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8150 if (yys0->yyposn != yys1->yyposn)
8151 return yyfalse;
8152 return yytrue;
8153 }
8154 else
8155 return yyfalse;
8156 }
8157
8158 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8159 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8160 static void
8161 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
8162 {
8163 yyGLRState *yys0, *yys1;
8164 int yyn;
8165 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8166 yyn = yyrhsLength (yyy0->yyrule);
8167 yyn > 0;
8168 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8169 {
8170 if (yys0 == yys1)
8171 break;
8172 else if (yys0->yyresolved)
8173 {
8174 yys1->yyresolved = yytrue;
8175 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
8176 }
8177 else if (yys1->yyresolved)
8178 {
8179 yys0->yyresolved = yytrue;
8180 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
8181 }
8182 else
8183 {
8184 yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
8185 yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
8186 while (yytrue)
8187 {
8188 if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR)
8189 break;
8190 else if (*yyz0p == YY_NULLPTR)
8191 {
8192 *yyz0p = yyz1;
8193 break;
8194 }
8195 else if (*yyz0p < yyz1)
8196 {
8197 yySemanticOption* yyz = *yyz0p;
8198 *yyz0p = yyz1;
8199 yyz1 = yyz1->yynext;
8200 (*yyz0p)->yynext = yyz;
8201 }
8202 yyz0p = &(*yyz0p)->yynext;
8203 }
8204 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
8205 }
8206 }
8207 }
8208
8209 /** Y0 and Y1 represent two possible actions to take in a given
8210 * parsing state; return 0 if no combination is possible,
8211 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8212 static int
8213 yypreference (yySemanticOption* y0, yySemanticOption* y1)
8214 {
8215 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
8216 int p0 = yydprec[r0], p1 = yydprec[r1];
8217
8218 if (p0 == p1)
8219 {
8220 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
8221 return 0;
8222 else
8223 return 1;
8224 }
8225 if (p0 == 0 || p1 == 0)
8226 return 0;
8227 if (p0 < p1)
8228 return 3;
8229 if (p1 < p0)
8230 return 2;
8231 return 0;
8232 }
8233
8234 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
8235 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
8236
8237
8238 /** Resolve the previous YYN states starting at and including state YYS
8239 * on *YYSTACKP. If result != yyok, some states may have been left
8240 * unresolved possibly with empty semantic option chains. Regardless
8241 * of whether result = yyok, each state has been left with consistent
8242 * data so that yydestroyGLRState can be invoked if necessary. */
8243 static YYRESULTTAG
8244 yyresolveStates (yyGLRState* yys, int yyn,
8245 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8246 {
8247 if (0 < yyn)
8248 {
8249 YYASSERT (yys->yypred);
8250 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, P, tokens, index));
8251 if (! yys->yyresolved)
8252 YYCHK (yyresolveValue (yys, yystackp, P, tokens, index));
8253 }
8254 return yyok;
8255 }
8256
8257 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8258 * user action, and return the semantic value and location in *YYVALP
8259 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8260 * have been destroyed (assuming the user action destroys all RHS
8261 * semantic values if invoked). */
8262 static YYRESULTTAG
8263 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
8264 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8265 {
8266 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8267 int yynrhs = yyrhsLength (yyopt->yyrule);
8268 YYRESULTTAG yyflag =
8269 yyresolveStates (yyopt->yystate, yynrhs, yystackp, P, tokens, index);
8270 if (yyflag != yyok)
8271 {
8272 yyGLRState *yys;
8273 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
8274 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
8275 return yyflag;
8276 }
8277
8278 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
8279 {
8280 int yychar_current = yychar;
8281 YYSTYPE yylval_current = yylval;
8282 yychar = yyopt->yyrawchar;
8283 yylval = yyopt->yyval;
8284 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
8285 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8286 yystackp, yyvalp, P, tokens, index);
8287 yychar = yychar_current;
8288 yylval = yylval_current;
8289 }
8290 return yyflag;
8291 }
8292
8293 #if YYDEBUG
8294 static void
8295 yyreportTree (yySemanticOption* yyx, int yyindent)
8296 {
8297 int yynrhs = yyrhsLength (yyx->yyrule);
8298 int yyi;
8299 yyGLRState* yys;
8300 yyGLRState* yystates[1 + YYMAXRHS];
8301 yyGLRState yyleftmost_state;
8302
8303 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
8304 yystates[yyi] = yys;
8305 if (yys == YY_NULLPTR)
8306 {
8307 yyleftmost_state.yyposn = 0;
8308 yystates[0] = &yyleftmost_state;
8309 }
8310 else
8311 yystates[0] = yys;
8312
8313 if (yyx->yystate->yyposn < yys->yyposn + 1)
8314 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
8315 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8316 yyx->yyrule - 1);
8317 else
8318 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8319 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8320 yyx->yyrule - 1, (unsigned long) (yys->yyposn + 1),
8321 (unsigned long) yyx->yystate->yyposn);
8322 for (yyi = 1; yyi <= yynrhs; yyi += 1)
8323 {
8324 if (yystates[yyi]->yyresolved)
8325 {
8326 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
8327 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
8328 yytokenName (yystos[yystates[yyi]->yylrState]));
8329 else
8330 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
8331 yytokenName (yystos[yystates[yyi]->yylrState]),
8332 (unsigned long) (yystates[yyi-1]->yyposn + 1),
8333 (unsigned long) yystates[yyi]->yyposn);
8334 }
8335 else
8336 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
8337 }
8338 }
8339 #endif
8340
8341 static YYRESULTTAG
8342 yyreportAmbiguity (yySemanticOption* yyx0,
8343 yySemanticOption* yyx1, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8344 {
8345 YYUSE (yyx0);
8346 YYUSE (yyx1);
8347
8348 #if YYDEBUG
8349 YYFPRINTF (stderr, "Ambiguity detected.\n");
8350 YYFPRINTF (stderr, "Option 1,\n");
8351 yyreportTree (yyx0, 2);
8352 YYFPRINTF (stderr, "\nOption 2,\n");
8353 yyreportTree (yyx1, 2);
8354 YYFPRINTF (stderr, "\n");
8355 #endif
8356
8357 yyerror (P, tokens, index, YY_("syntax is ambiguous"));
8358 return yyabort;
8359 }
8360
8361 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8362 * perform the indicated actions, and set the semantic value of YYS.
8363 * If result != yyok, the chain of semantic options in YYS has been
8364 * cleared instead or it has been left unmodified except that
8365 * redundant options may have been removed. Regardless of whether
8366 * result = yyok, YYS has been left with consistent data so that
8367 * yydestroyGLRState can be invoked if necessary. */
8368 static YYRESULTTAG
8369 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8370 {
8371 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
8372 yySemanticOption* yybest = yyoptionList;
8373 yySemanticOption** yypp;
8374 yybool yymerge = yyfalse;
8375 YYSTYPE yysval;
8376 YYRESULTTAG yyflag;
8377
8378 for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; )
8379 {
8380 yySemanticOption* yyp = *yypp;
8381
8382 if (yyidenticalOptions (yybest, yyp))
8383 {
8384 yymergeOptionSets (yybest, yyp);
8385 *yypp = yyp->yynext;
8386 }
8387 else
8388 {
8389 switch (yypreference (yybest, yyp))
8390 {
8391 case 0:
8392 return yyreportAmbiguity (yybest, yyp, P, tokens, index);
8393 break;
8394 case 1:
8395 yymerge = yytrue;
8396 break;
8397 case 2:
8398 break;
8399 case 3:
8400 yybest = yyp;
8401 yymerge = yyfalse;
8402 break;
8403 default:
8404 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8405 but some compilers complain if the default case is
8406 omitted. */
8407 break;
8408 }
8409 yypp = &yyp->yynext;
8410 }
8411 }
8412
8413 if (yymerge)
8414 {
8415 yySemanticOption* yyp;
8416 int yyprec = yydprec[yybest->yyrule];
8417 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8418 if (yyflag == yyok)
8419 for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
8420 {
8421 if (yyprec == yydprec[yyp->yyrule])
8422 {
8423 YYSTYPE yysval_other;
8424 yyflag = yyresolveAction (yyp, yystackp, &yysval_other, P, tokens, index);
8425 if (yyflag != yyok)
8426 {
8427 yydestruct ("Cleanup: discarding incompletely merged value for",
8428 yystos[yys->yylrState],
8429 &yysval, P, tokens, index);
8430 break;
8431 }
8432 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
8433 }
8434 }
8435 }
8436 else
8437 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8438
8439 if (yyflag == yyok)
8440 {
8441 yys->yyresolved = yytrue;
8442 yys->yysemantics.yysval = yysval;
8443 }
8444 else
8445 yys->yysemantics.yyfirstVal = YY_NULLPTR;
8446 return yyflag;
8447 }
8448
8449 static YYRESULTTAG
8450 yyresolveStack (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8451 {
8452 if (yystackp->yysplitPoint != YY_NULLPTR)
8453 {
8454 yyGLRState* yys;
8455 int yyn;
8456
8457 for (yyn = 0, yys = yystackp->yytops.yystates[0];
8458 yys != yystackp->yysplitPoint;
8459 yys = yys->yypred, yyn += 1)
8460 continue;
8461 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
8462 , P, tokens, index));
8463 }
8464 return yyok;
8465 }
8466
8467 static void
8468 yycompressStack (yyGLRStack* yystackp)
8469 {
8470 yyGLRState* yyp, *yyq, *yyr;
8471
8472 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR)
8473 return;
8474
8475 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR;
8476 yyp != yystackp->yysplitPoint;
8477 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
8478 yyp->yypred = yyr;
8479
8480 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
8481 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
8482 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
8483 yystackp->yysplitPoint = YY_NULLPTR;
8484 yystackp->yylastDeleted = YY_NULLPTR;
8485
8486 while (yyr != YY_NULLPTR)
8487 {
8488 yystackp->yynextFree->yystate = *yyr;
8489 yyr = yyr->yypred;
8490 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
8491 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
8492 yystackp->yynextFree += 1;
8493 yystackp->yyspaceLeft -= 1;
8494 }
8495 }
8496
8497 static YYRESULTTAG
8498 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
8499 size_t yyposn, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8500 {
8501 while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8502 {
8503 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
8504 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
8505 (unsigned long) yyk, yystate));
8506
8507 YYASSERT (yystate != YYFINAL);
8508
8509 if (yyisDefaultedState (yystate))
8510 {
8511 YYRESULTTAG yyflag;
8512 yyRuleNum yyrule = yydefaultAction (yystate);
8513 if (yyrule == 0)
8514 {
8515 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8516 (unsigned long) yyk));
8517 yymarkStackDeleted (yystackp, yyk);
8518 return yyok;
8519 }
8520 yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], P, tokens, index);
8521 if (yyflag == yyerr)
8522 {
8523 YYDPRINTF ((stderr,
8524 "Stack %lu dies "
8525 "(predicate failure or explicit user error).\n",
8526 (unsigned long) yyk));
8527 yymarkStackDeleted (yystackp, yyk);
8528 return yyok;
8529 }
8530 if (yyflag != yyok)
8531 return yyflag;
8532 }
8533 else
8534 {
8535 yySymbol yytoken;
8536 int yyaction;
8537 const short* yyconflicts;
8538
8539 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
8540 if (yychar == YYEMPTY)
8541 {
8542 YYDPRINTF ((stderr, "Reading a token: "));
8543 yychar = yylex (&yylval, P, tokens, index);
8544 }
8545
8546 if (yychar <= YYEOF)
8547 {
8548 yychar = yytoken = YYEOF;
8549 YYDPRINTF ((stderr, "Now at end of input.\n"));
8550 }
8551 else
8552 {
8553 yytoken = YYTRANSLATE (yychar);
8554 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8555 }
8556
8557 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8558
8559 while (*yyconflicts != 0)
8560 {
8561 YYRESULTTAG yyflag;
8562 size_t yynewStack = yysplitStack (yystackp, yyk);
8563 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
8564 (unsigned long) yynewStack,
8565 (unsigned long) yyk));
8566 yyflag = yyglrReduce (yystackp, yynewStack,
8567 *yyconflicts,
8568 yyimmediate[*yyconflicts], P, tokens, index);
8569 if (yyflag == yyok)
8570 YYCHK (yyprocessOneStack (yystackp, yynewStack,
8571 yyposn, P, tokens, index));
8572 else if (yyflag == yyerr)
8573 {
8574 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8575 (unsigned long) yynewStack));
8576 yymarkStackDeleted (yystackp, yynewStack);
8577 }
8578 else
8579 return yyflag;
8580 yyconflicts += 1;
8581 }
8582
8583 if (yyisShiftAction (yyaction))
8584 break;
8585 else if (yyisErrorAction (yyaction))
8586 {
8587 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8588 (unsigned long) yyk));
8589 yymarkStackDeleted (yystackp, yyk);
8590 break;
8591 }
8592 else
8593 {
8594 YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
8595 yyimmediate[-yyaction], P, tokens, index);
8596 if (yyflag == yyerr)
8597 {
8598 YYDPRINTF ((stderr,
8599 "Stack %lu dies "
8600 "(predicate failure or explicit user error).\n",
8601 (unsigned long) yyk));
8602 yymarkStackDeleted (yystackp, yyk);
8603 break;
8604 }
8605 else if (yyflag != yyok)
8606 return yyflag;
8607 }
8608 }
8609 }
8610 return yyok;
8611 }
8612
8613 static void
8614 yyreportSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8615 {
8616 if (yystackp->yyerrState != 0)
8617 return;
8618 #if ! YYERROR_VERBOSE
8619 yyerror (P, tokens, index, YY_("syntax error"));
8620 #else
8621 {
8622 yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8623 size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken));
8624 size_t yysize = yysize0;
8625 yybool yysize_overflow = yyfalse;
8626 char* yymsg = YY_NULLPTR;
8627 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
8628 /* Internationalized format string. */
8629 const char *yyformat = YY_NULLPTR;
8630 /* Arguments of yyformat. */
8631 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
8632 /* Number of reported tokens (one for the "unexpected", one per
8633 "expected"). */
8634 int yycount = 0;
8635
8636 /* There are many possibilities here to consider:
8637 - If this state is a consistent state with a default action, then
8638 the only way this function was invoked is if the default action
8639 is an error action. In that case, don't check for expected
8640 tokens because there are none.
8641 - The only way there can be no lookahead present (in yychar) is if
8642 this state is a consistent state with a default action. Thus,
8643 detecting the absence of a lookahead is sufficient to determine
8644 that there is no unexpected or expected token to report. In that
8645 case, just report a simple "syntax error".
8646 - Don't assume there isn't a lookahead just because this state is a
8647 consistent state with a default action. There might have been a
8648 previous inconsistent state, consistent state with a non-default
8649 action, or user semantic action that manipulated yychar.
8650 - Of course, the expected token list depends on states to have
8651 correct lookahead information, and it depends on the parser not
8652 to perform extra reductions after fetching a lookahead from the
8653 scanner and before detecting a syntax error. Thus, state merging
8654 (from LALR or IELR) and default reductions corrupt the expected
8655 token list. However, the list is correct for canonical LR with
8656 one exception: it will still contain any token that will not be
8657 accepted due to an error action in a later state.
8658 */
8659 if (yytoken != YYEMPTY)
8660 {
8661 int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
8662 yyarg[yycount++] = yytokenName (yytoken);
8663 if (!yypact_value_is_default (yyn))
8664 {
8665 /* Start YYX at -YYN if negative to avoid negative indexes in
8666 YYCHECK. In other words, skip the first -YYN actions for this
8667 state because they are default actions. */
8668 int yyxbegin = yyn < 0 ? -yyn : 0;
8669 /* Stay within bounds of both yycheck and yytname. */
8670 int yychecklim = YYLAST - yyn + 1;
8671 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
8672 int yyx;
8673 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
8674 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
8675 && !yytable_value_is_error (yytable[yyx + yyn]))
8676 {
8677 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
8678 {
8679 yycount = 1;
8680 yysize = yysize0;
8681 break;
8682 }
8683 yyarg[yycount++] = yytokenName (yyx);
8684 {
8685 size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx));
8686 yysize_overflow |= yysz < yysize;
8687 yysize = yysz;
8688 }
8689 }
8690 }
8691 }
8692
8693 switch (yycount)
8694 {
8695 #define YYCASE_(N, S) \
8696 case N: \
8697 yyformat = S; \
8698 break
8699 default: /* Avoid compiler warnings. */
8700 YYCASE_(0, YY_("syntax error"));
8701 YYCASE_(1, YY_("syntax error, unexpected %s"));
8702 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8703 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8704 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8705 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8706 #undef YYCASE_
8707 }
8708
8709 {
8710 size_t yysz = yysize + strlen (yyformat);
8711 yysize_overflow |= yysz < yysize;
8712 yysize = yysz;
8713 }
8714
8715 if (!yysize_overflow)
8716 yymsg = (char *) YYMALLOC (yysize);
8717
8718 if (yymsg)
8719 {
8720 char *yyp = yymsg;
8721 int yyi = 0;
8722 while ((*yyp = *yyformat))
8723 {
8724 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
8725 {
8726 yyp += yytnamerr (yyp, yyarg[yyi++]);
8727 yyformat += 2;
8728 }
8729 else
8730 {
8731 yyp++;
8732 yyformat++;
8733 }
8734 }
8735 yyerror (P, tokens, index, yymsg);
8736 YYFREE (yymsg);
8737 }
8738 else
8739 {
8740 yyerror (P, tokens, index, YY_("syntax error"));
8741 yyMemoryExhausted (yystackp);
8742 }
8743 }
8744 #endif /* YYERROR_VERBOSE */
8745 yynerrs += 1;
8746 }
8747
8748 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8749 yylval, and yylloc are the syntactic category, semantic value, and location
8750 of the lookahead. */
8751 static void
8752 yyrecoverSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8753 {
8754 size_t yyk;
8755 int yyj;
8756
8757 if (yystackp->yyerrState == 3)
8758 /* We just shifted the error token and (perhaps) took some
8759 reductions. Skip tokens until we can proceed. */
8760 while (yytrue)
8761 {
8762 yySymbol yytoken;
8763 if (yychar == YYEOF)
8764 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8765 if (yychar != YYEMPTY)
8766 {
8767 yytoken = YYTRANSLATE (yychar);
8768 yydestruct ("Error: discarding",
8769 yytoken, &yylval, P, tokens, index);
8770 }
8771 YYDPRINTF ((stderr, "Reading a token: "));
8772 yychar = yylex (&yylval, P, tokens, index);
8773 if (yychar <= YYEOF)
8774 {
8775 yychar = yytoken = YYEOF;
8776 YYDPRINTF ((stderr, "Now at end of input.\n"));
8777 }
8778 else
8779 {
8780 yytoken = YYTRANSLATE (yychar);
8781 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8782 }
8783 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
8784 if (yypact_value_is_default (yyj))
8785 return;
8786 yyj += yytoken;
8787 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
8788 {
8789 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
8790 return;
8791 }
8792 else if (! yytable_value_is_error (yytable[yyj]))
8793 return;
8794 }
8795
8796 /* Reduce to one stack. */
8797 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
8798 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8799 break;
8800 if (yyk >= yystackp->yytops.yysize)
8801 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8802 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
8803 yymarkStackDeleted (yystackp, yyk);
8804 yyremoveDeletes (yystackp);
8805 yycompressStack (yystackp);
8806
8807 /* Now pop stack until we find a state that shifts the error token. */
8808 yystackp->yyerrState = 3;
8809 while (yystackp->yytops.yystates[0] != YY_NULLPTR)
8810 {
8811 yyGLRState *yys = yystackp->yytops.yystates[0];
8812 yyj = yypact[yys->yylrState];
8813 if (! yypact_value_is_default (yyj))
8814 {
8815 yyj += YYTERROR;
8816 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
8817 && yyisShiftAction (yytable[yyj]))
8818 {
8819 /* Shift the error token. */
8820 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
8821 &yylval, &yyerrloc);
8822 yyglrShift (yystackp, 0, yytable[yyj],
8823 yys->yyposn, &yylval);
8824 yys = yystackp->yytops.yystates[0];
8825 break;
8826 }
8827 }
8828 if (yys->yypred != YY_NULLPTR)
8829 yydestroyGLRState ("Error: popping", yys, P, tokens, index);
8830 yystackp->yytops.yystates[0] = yys->yypred;
8831 yystackp->yynextFree -= 1;
8832 yystackp->yyspaceLeft += 1;
8833 }
8834 if (yystackp->yytops.yystates[0] == YY_NULLPTR)
8835 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8836 }
8837
8838 #define YYCHK1(YYE) \
8839 do { \
8840 switch (YYE) { \
8841 case yyok: \
8842 break; \
8843 case yyabort: \
8844 goto yyabortlab; \
8845 case yyaccept: \
8846 goto yyacceptlab; \
8847 case yyerr: \
8848 goto yyuser_error; \
8849 default: \
8850 goto yybuglab; \
8851 } \
8852 } while (0)
8853
8854 /*----------.
8855 | yyparse. |
8856 `----------*/
8857
8858 int
8859 yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8860 {
8861 int yyresult;
8862 yyGLRStack yystack;
8863 yyGLRStack* const yystackp = &yystack;
8864 size_t yyposn;
8865
8866 YYDPRINTF ((stderr, "Starting parse\n"));
8867
8868 yychar = YYEMPTY;
8869 yylval = yyval_default;
8870
8871 /* User initialization code. */
8872 #line 144 "src/parser_proc_grammar.y" /* glr.c:2261 */
8873 {
8874 }
8875
8876 #line 8877 "src/parser_proc.c" /* glr.c:2261 */
8877
8878 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
8879 goto yyexhaustedlab;
8880 switch (YYSETJMP (yystack.yyexception_buffer))
8881 {
8882 case 0: break;
8883 case 1: goto yyabortlab;
8884 case 2: goto yyexhaustedlab;
8885 default: goto yybuglab;
8886 }
8887 yyglrShift (&yystack, 0, 0, 0, &yylval);
8888 yyposn = 0;
8889
8890 while (yytrue)
8891 {
8892 /* For efficiency, we have two loops, the first of which is
8893 specialized to deterministic operation (single stack, no
8894 potential ambiguity). */
8895 /* Standard mode */
8896 while (yytrue)
8897 {
8898 yyRuleNum yyrule;
8899 int yyaction;
8900 const short* yyconflicts;
8901
8902 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
8903 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
8904 if (yystate == YYFINAL)
8905 goto yyacceptlab;
8906 if (yyisDefaultedState (yystate))
8907 {
8908 yyrule = yydefaultAction (yystate);
8909 if (yyrule == 0)
8910 {
8911 yyreportSyntaxError (&yystack, P, tokens, index);
8912 goto yyuser_error;
8913 }
8914 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, P, tokens, index));
8915 }
8916 else
8917 {
8918 yySymbol yytoken;
8919 if (yychar == YYEMPTY)
8920 {
8921 YYDPRINTF ((stderr, "Reading a token: "));
8922 yychar = yylex (&yylval, P, tokens, index);
8923 }
8924
8925 if (yychar <= YYEOF)
8926 {
8927 yychar = yytoken = YYEOF;
8928 YYDPRINTF ((stderr, "Now at end of input.\n"));
8929 }
8930 else
8931 {
8932 yytoken = YYTRANSLATE (yychar);
8933 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8934 }
8935
8936 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8937 if (*yyconflicts != 0)
8938 break;
8939 if (yyisShiftAction (yyaction))
8940 {
8941 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
8942 yychar = YYEMPTY;
8943 yyposn += 1;
8944 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval);
8945 if (0 < yystack.yyerrState)
8946 yystack.yyerrState -= 1;
8947 }
8948 else if (yyisErrorAction (yyaction))
8949 {
8950 yyreportSyntaxError (&yystack, P, tokens, index);
8951 goto yyuser_error;
8952 }
8953 else
8954 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, P, tokens, index));
8955 }
8956 }
8957
8958 while (yytrue)
8959 {
8960 yySymbol yytoken_to_shift;
8961 size_t yys;
8962
8963 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8964 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
8965
8966 /* yyprocessOneStack returns one of three things:
8967
8968 - An error flag. If the caller is yyprocessOneStack, it
8969 immediately returns as well. When the caller is finally
8970 yyparse, it jumps to an error label via YYCHK1.
8971
8972 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
8973 (&yystack, yys), which sets the top state of yys to NULL. Thus,
8974 yyparse's following invocation of yyremoveDeletes will remove
8975 the stack.
8976
8977 - yyok, when ready to shift a token.
8978
8979 Except in the first case, yyparse will invoke yyremoveDeletes and
8980 then shift the next token onto all remaining stacks. This
8981 synchronization of the shift (that is, after all preceding
8982 reductions on all stacks) helps prevent double destructor calls
8983 on yylval in the event of memory exhaustion. */
8984
8985 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8986 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, P, tokens, index));
8987 yyremoveDeletes (&yystack);
8988 if (yystack.yytops.yysize == 0)
8989 {
8990 yyundeleteLastStack (&yystack);
8991 if (yystack.yytops.yysize == 0)
8992 yyFail (&yystack, P, tokens, index, YY_("syntax error"));
8993 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
8994 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
8995 yyreportSyntaxError (&yystack, P, tokens, index);
8996 goto yyuser_error;
8997 }
8998
8999 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9000 a copy of yylval will already be on stack 0 in the event of a
9001 failure in the following loop. Thus, yychar is set to YYEMPTY
9002 before the loop to make sure the user destructor for yylval isn't
9003 called twice. */
9004 yytoken_to_shift = YYTRANSLATE (yychar);
9005 yychar = YYEMPTY;
9006 yyposn += 1;
9007 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9008 {
9009 int yyaction;
9010 const short* yyconflicts;
9011 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
9012 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
9013 &yyconflicts);
9014 /* Note that yyconflicts were handled by yyprocessOneStack. */
9015 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long) yys));
9016 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
9017 yyglrShift (&yystack, yys, yyaction, yyposn,
9018 &yylval);
9019 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
9020 (unsigned long) yys,
9021 yystack.yytops.yystates[yys]->yylrState));
9022 }
9023
9024 if (yystack.yytops.yysize == 1)
9025 {
9026 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9027 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9028 yycompressStack (&yystack);
9029 break;
9030 }
9031 }
9032 continue;
9033 yyuser_error:
9034 yyrecoverSyntaxError (&yystack, P, tokens, index);
9035 yyposn = yystack.yytops.yystates[0]->yyposn;
9036 }
9037
9038 yyacceptlab:
9039 yyresult = 0;
9040 goto yyreturn;
9041
9042 yybuglab:
9043 YYASSERT (yyfalse);
9044 goto yyabortlab;
9045
9046 yyabortlab:
9047 yyresult = 1;
9048 goto yyreturn;
9049
9050 yyexhaustedlab:
9051 yyerror (P, tokens, index, YY_("memory exhausted"));
9052 yyresult = 2;
9053 goto yyreturn;
9054
9055 yyreturn:
9056 if (yychar != YYEMPTY)
9057 yydestruct ("Cleanup: discarding lookahead",
9058 YYTRANSLATE (yychar), &yylval, P, tokens, index);
9059
9060 /* If the stack is well-formed, pop the stack until it is empty,
9061 destroying its entries as we go. But free the stack regardless
9062 of whether it is well-formed. */
9063 if (yystack.yyitems)
9064 {
9065 yyGLRState** yystates = yystack.yytops.yystates;
9066 if (yystates)
9067 {
9068 size_t yysize = yystack.yytops.yysize;
9069 size_t yyk;
9070 for (yyk = 0; yyk < yysize; yyk += 1)
9071 if (yystates[yyk])
9072 {
9073 while (yystates[yyk])
9074 {
9075 yyGLRState *yys = yystates[yyk];
9076 if (yys->yypred != YY_NULLPTR)
9077 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
9078 yystates[yyk] = yys->yypred;
9079 yystack.yynextFree -= 1;
9080 yystack.yyspaceLeft += 1;
9081 }
9082 break;
9083 }
9084 }
9085 yyfreeGLRStack (&yystack);
9086 }
9087
9088 return yyresult;
9089 }
9090
9091 /* DEBUGGING ONLY */
9092 #if YYDEBUG
9093 static void
9094 yy_yypstack (yyGLRState* yys)
9095 {
9096 if (yys->yypred)
9097 {
9098 yy_yypstack (yys->yypred);
9099 YYFPRINTF (stderr, " -> ");
9100 }
9101 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
9102 (unsigned long) yys->yyposn);
9103 }
9104
9105 static void
9106 yypstates (yyGLRState* yyst)
9107 {
9108 if (yyst == YY_NULLPTR)
9109 YYFPRINTF (stderr, "<null>");
9110 else
9111 yy_yypstack (yyst);
9112 YYFPRINTF (stderr, "\n");
9113 }
9114
9115 static void
9116 yypstack (yyGLRStack* yystackp, size_t yyk)
9117 {
9118 yypstates (yystackp->yytops.yystates[yyk]);
9119 }
9120
9121 #define YYINDEX(YYX) \
9122 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9123
9124
9125 static void
9126 yypdumpstack (yyGLRStack* yystackp)
9127 {
9128 yyGLRStackItem* yyp;
9129 size_t yyi;
9130 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
9131 {
9132 YYFPRINTF (stderr, "%3lu. ",
9133 (unsigned long) (yyp - yystackp->yyitems));
9134 if (*(yybool *) yyp)
9135 {
9136 YYASSERT (yyp->yystate.yyisState);
9137 YYASSERT (yyp->yyoption.yyisState);
9138 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9139 yyp->yystate.yyresolved, yyp->yystate.yylrState,
9140 (unsigned long) yyp->yystate.yyposn,
9141 (long) YYINDEX (yyp->yystate.yypred));
9142 if (! yyp->yystate.yyresolved)
9143 YYFPRINTF (stderr, ", firstVal: %ld",
9144 (long) YYINDEX (yyp->yystate
9145 .yysemantics.yyfirstVal));
9146 }
9147 else
9148 {
9149 YYASSERT (!yyp->yystate.yyisState);
9150 YYASSERT (!yyp->yyoption.yyisState);
9151 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
9152 yyp->yyoption.yyrule - 1,
9153 (long) YYINDEX (yyp->yyoption.yystate),
9154 (long) YYINDEX (yyp->yyoption.yynext));
9155 }
9156 YYFPRINTF (stderr, "\n");
9157 }
9158 YYFPRINTF (stderr, "Tops:");
9159 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
9160 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long) yyi,
9161 (long) YYINDEX (yystackp->yytops.yystates[yyi]));
9162 YYFPRINTF (stderr, "\n");
9163 }
9164 #endif
9165
9166 #undef yylval
9167 #undef yychar
9168 #undef yynerrs
9169
9170 /* Substitute the variable and function names. */
9171 #define yyparse psi_parser_proc_parse
9172 #define yylex psi_parser_proc_lex
9173 #define yyerror psi_parser_proc_error
9174 #define yylval psi_parser_proc_lval
9175 #define yychar psi_parser_proc_char
9176 #define yydebug psi_parser_proc_debug
9177 #define yynerrs psi_parser_proc_nerrs
9178
9179 #line 2274 "src/parser_proc_grammar.y" /* glr.c:2575 */
9180
9181
9182 /* epilogue */
9183
9184 static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
9185 {
9186 struct psi_token *token;
9187
9188 if (psi_plist_get(tokens, (*index)++, &token)) {
9189 if (P->flags & PSI_DEBUG) {
9190 psi_token_dump(2, token);
9191 }
9192
9193 *((struct psi_token **)lvalp) = token;
9194 return token->type;
9195 } else {
9196 (*index)--;
9197 PSI_DEBUG_PRINT(P, "EOF(%d)\n", PSI_T_EOF);
9198 }
9199
9200 return PSI_T_EOF;
9201 }
9202
9203 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg)
9204 {
9205 struct psi_token *T = NULL;
9206 size_t last;
9207
9208 if (*index == 0) {
9209 last = 0;
9210 } else {
9211 last = --(*index);
9212 }
9213
9214 psi_plist_get(tokens, last, &T);
9215 if (T) {
9216 P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col);
9217 } else {
9218 P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);
9219 }
9220 P->errors++;
9221 }
9222