Merge branch 'slimconfigure'
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default;
90
91 /* Copy the second part of user declarations. */
92
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102
103 #define YYDEBUG 1
104 #define PSI_PARSER_PROC_DEBUG 1
105
106 static int psi_parser_proc_lex(YYSTYPE *u, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
107 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg);
108
109 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
110 {
111 assert(strct);
112 if (!P->structs) {
113 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
114 }
115 P->structs = psi_plist_add(P->structs, &strct);
116 }
117 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
118 {
119 assert(u);
120 if (!P->unions) {
121 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
122 }
123 P->unions = psi_plist_add(P->unions, &u);
124 }
125 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
126 {
127 assert(e);
128 if (!P->enums) {
129 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
130 }
131 P->enums = psi_plist_add(P->enums, &e);
132 }
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg *def)
134 {
135 switch (def->type->type) {
136 case PSI_T_STRUCT:
137 if (!psi_decl_type_is_anon(def->type->name, "struct")) {
138 return;
139 }
140 break;
141 case PSI_T_UNION:
142 if (!psi_decl_type_is_anon(def->type->name, "union")) {
143 return;
144 }
145 break;
146 case PSI_T_ENUM:
147 if (!psi_decl_type_is_anon(def->type->name, "enum")) {
148 return;
149 }
150 break;
151 default:
152 return;
153 }
154 free(def->type->name);
155 def->type->name = strdup(def->var->name);
156 }
157 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
158 {
159 assert(def);
160 if (!P->types) {
161 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
162 }
163 //psi_parser_proc_deanon_typedef(def);
164 P->types = psi_plist_add(P->types, &def);
165 }
166 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
167 assert(cnst);
168 if (!P->consts) {
169 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
170 }
171 P->consts = psi_plist_add(P->consts, &cnst);
172
173 }
174 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
175 assert(decl);
176
177 if (psi_decl_is_blacklisted(decl->func->var->name)) {
178 psi_decl_free(&decl);
179 return;
180 }
181
182 if (!P->decls) {
183 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
184 }
185 P->decls = psi_plist_add(P->decls, &decl);
186 }
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser *P, struct psi_plist *list) {
188 assert(list);
189 if (!P->vars) {
190 P->vars = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
191 }
192 P->vars = psi_plist_add_r(P->vars, psi_plist_count(list), psi_plist_eles(list));
193 free(list);
194 }
195 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
196 assert(impl);
197 if (!P->impls) {
198 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
199 }
200 P->impls = psi_plist_add(P->impls, &impl);
201 }
202
203 /* end code */
204
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
206
207 #include <stdio.h>
208 #include <stdlib.h>
209 #include <string.h>
210
211 #ifndef YY_
212 # if defined YYENABLE_NLS && YYENABLE_NLS
213 # if ENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
216 # endif
217 # endif
218 # ifndef YY_
219 # define YY_(Msgid) Msgid
220 # endif
221 #endif
222
223 #ifndef YYFREE
224 # define YYFREE free
225 #endif
226 #ifndef YYMALLOC
227 # define YYMALLOC malloc
228 #endif
229 #ifndef YYREALLOC
230 # define YYREALLOC realloc
231 #endif
232
233 #define YYSIZEMAX ((size_t) -1)
234
235 #ifdef __cplusplus
236 typedef bool yybool;
237 #else
238 typedef unsigned char yybool;
239 #endif
240 #define yytrue 1
241 #define yyfalse 0
242
243 #ifndef YYSETJMP
244 # include <setjmp.h>
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
247 /* Pacify clang. */
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
249 #endif
250
251 #ifndef YY_ATTRIBUTE
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
256 # else
257 # define YY_ATTRIBUTE(Spec) /* empty */
258 # endif
259 #endif
260
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
263 #endif
264
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
267 #endif
268
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
273 # else
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
275 # endif
276 #endif
277
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
281 #else
282 # define YYUSE(E) /* empty */
283 #endif
284
285 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
293 #else
294 # define YY_INITIAL_VALUE(Value) Value
295 #endif
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
299 #endif
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
302 #endif
303
304
305 #ifndef YYASSERT
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
307 #endif
308
309 /* YYFINAL -- State number of the termination state. */
310 #define YYFINAL 160
311 /* YYLAST -- Last index in YYTABLE. */
312 #define YYLAST 7599
313
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
317 #define YYNNTS 141
318 /* YYNRULES -- Number of rules. */
319 #define YYNRULES 626
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 925
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
323 #define YYMAXRHS 13
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
326 #define YYMAXLEFT 0
327
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
329 #define YYUNDEFTOK 2
330 #define YYMAXUTOK 394
331
332 #define YYTRANSLATE(YYX) \
333 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
334
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate[] =
337 {
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
378 };
379
380 #if YYDEBUG
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short int yyrline[] =
383 {
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 466, 469, 472, 475,
413 481, 484, 487, 490, 493, 499, 505, 508, 514, 537,
414 541, 545, 550, 554, 558, 562, 569, 570, 574, 575,
415 579, 580, 581, 585, 586, 590, 591, 595, 596, 597,
416 601, 602, 606, 611, 616, 621, 630, 633, 636, 637,
417 643, 648, 656, 659, 663, 667, 674, 678, 682, 686,
418 691, 702, 713, 718, 723, 727, 733, 743, 746, 750,
419 754, 760, 767, 771, 775, 782, 783, 784, 788, 802,
420 808, 811, 817, 820, 826, 827, 835, 846, 855, 867,
421 868, 872, 882, 891, 903, 904, 907, 913, 914, 918,
422 922, 926, 931, 936, 944, 945, 946, 949, 955, 958,
423 961, 967, 968, 972, 975, 978, 984, 987, 990, 998,
424 1010, 1013, 1016, 1019, 1026, 1029, 1039, 1042, 1045, 1048,
425 1049, 1050, 1054, 1057, 1060, 1071, 1078, 1088, 1091, 1097,
426 1100, 1107, 1137, 1140, 1146, 1149, 1155, 1158, 1161, 1164,
427 1170, 1174, 1175, 1179, 1180, 1184, 1185, 1192, 1193, 1197,
428 1204, 1215, 1222, 1230, 1258, 1265, 1276, 1322, 1363, 1378,
429 1381, 1384, 1390, 1393, 1399, 1414, 1417, 1446, 1454, 1482,
430 1487, 1495, 1505, 1515, 1518, 1522, 1528, 1542, 1559, 1562,
431 1568, 1575, 1585, 1592, 1595, 1601, 1606, 1614, 1618, 1622,
432 1626, 1630, 1634, 1641, 1645, 1649, 1653, 1657, 1661, 1667,
433 1671, 1678, 1681, 1693, 1697, 1701, 1708, 1721, 1734, 1747,
434 1750, 1757, 1758, 1762, 1765, 1768, 1771, 1777, 1781, 1788,
435 1791, 1794, 1809, 1810, 1811, 1812, 1816, 1819, 1825, 1826,
436 1832, 1835, 1841, 1842, 1846, 1847, 1857, 1860, 1867, 1872,
437 1877, 1887, 1890, 1896, 1899, 1905, 1912, 1919, 1926, 1927,
438 1931, 1932, 1933, 1934, 1938, 1939, 1940, 1941, 1942, 1946,
439 1949, 1955, 1958, 1961, 1964, 1967, 1973, 1977, 1985, 1986,
440 1990, 1997, 2000, 2003, 2006, 2010, 2013, 2019, 2023, 2031,
441 2038, 2043, 2051, 2059, 2060, 2061, 2062, 2063, 2064, 2065,
442 2066, 2067, 2068, 2072, 2075, 2081, 2084, 2090, 2091, 2095,
443 2098, 2104, 2107, 2113, 2120, 2124, 2131, 2134, 2137, 2143,
444 2150, 2153, 2156, 2163, 2168, 2176, 2177, 2178, 2179, 2180,
445 2181, 2182, 2183, 2187, 2190, 2196, 2199, 2205, 2212, 2213,
446 2217, 2224, 2227, 2233, 2241, 2244, 2250
447 };
448 #endif
449
450 #if YYDEBUG || YYERROR_VERBOSE || 1
451 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
452 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
453 static const char *const yytname[] =
454 {
455 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
456 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
457 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
458 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
459 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
460 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
461 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
462 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
463 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
464 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
465 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
466 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
467 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
468 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
469 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
470 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
471 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
472 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
473 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
474 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
475 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
476 "$accept", "binary_op_token", "unary_op_token", "name_token",
477 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
478 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
479 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
480 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
481 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
482 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
483 "cpp_macro_call_arg_list", "constant", "impl_def_val",
484 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
485 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
486 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
487 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
488 "decl_int_type", "int_signed_types", "signed_short_types",
489 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
490 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
491 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
492 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
493 "decl_functor_body", "decl_anon_functor_body", "decl_functor",
494 "decl_anon_functor", "decl_func", "decl_args", "decl_arg_list",
495 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
496 "decl_struct_args", "struct_args_block", "struct_args",
497 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
498 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
499 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
500 "struct_name", "optional_name", "optional_comma", "decl_layout",
501 "align_and_size", "array_size", "array_qualifier_token", "indirection",
502 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
503 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
504 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
505 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
506 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
507 "let_callback", "let_func", "let_func_token", "let_func_exps",
508 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
509 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
510 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
511 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
512 "byref", YY_NULLPTR
513 };
514 #endif
515
516 #define YYPACT_NINF -714
517 #define YYTABLE_NINF -625
518
519 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
520 STATE-NUM. */
521 static const short int yypact[] =
522 {
523 521, -714, -714, -714, -714, -714, 97, -714, -714, -714,
524 708, -714, -714, -714, 730, 1396, 7333, 7333, 7333, 101,
525 34, 243, 28, -714, 5528, 1654, 89, 521, -714, -714,
526 -714, -714, -714, 6704, 562, -714, -714, -714, -714, 126,
527 177, -714, -714, -714, -714, -45, -714, -714, 143, 78,
528 102, -714, -714, -714, -714, 59, -714, 104, -714, -714,
529 -714, 7333, 7333, 7333, -714, 1654, -714, 95, -714, -714,
530 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
531 871, -714, -714, -714, -714, 123, 997, 997, 23, -714,
532 997, 6478, 7333, 7333, 1767, 113, -714, -714, -714, 124,
533 7333, 125, 125, -714, -714, -714, 5461, -714, -714, -714,
534 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
535 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
536 -714, -714, -714, -714, -714, -714, -714, 115, -714, -714,
537 115, 122, -714, -714, -714, -714, -714, 139, -714, 145,
538 1654, 134, 169, -714, 190, -714, 1880, 1396, -45, 134,
539 -714, -714, 38, 188, -714, -714, 197, 7333, 2, -714,
540 -714, -714, 216, -714, 114, -714, -714, -714, 132, -714,
541 202, 206, 1993, 1993, 7333, 248, -714, -714, -714, 134,
542 6817, 209, -714, 1506, -714, -714, -714, -714, -714, -714,
543 -714, -714, 1619, -714, -714, -714, -714, 1732, 1845, -714,
544 -714, -714, 1958, -714, -714, -714, -714, -714, -714, -714,
545 -714, -714, -714, -714, -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, 2071, 2184, 2297, 2410, 2523,
549 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
550 -714, -714, -714, -714, -714, 2636, -714, 2749, 2862, 2975,
551 3088, 3201, 3314, -714, 3427, -714, -714, 3540, 3653, 3766,
552 3879, 3992, 4105, 4218, 4331, 4444, 4557, 4670, 4783, 4896,
553 5009, 5122, 5235, -714, -714, -714, -714, -714, -714, -714,
554 5348, 997, -714, -714, -714, -714, -714, -714, -714, -714,
555 -714, -714, -714, -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 997, -714, -714, -714, -714, -714, -714, -714, 70, 6478,
559 -714, -714, -714, -714, 6930, 6478, 212, 7462, -714, 144,
560 -714, 153, -714, -714, -714, -714, 210, 220, 220, 47,
561 47, 217, -714, 134, 1249, -714, 248, 214, 228, 231,
562 -714, -714, -714, -714, 1363, -714, 219, 188, -714, -714,
563 -714, -714, -714, 260, -714, -714, 244, -714, 82, 6704,
564 -714, 237, 166, 239, -714, -714, 176, 234, 252, -714,
565 6817, 6139, 6817, 7333, 6817, -714, -714, 224, -714, -714,
566 -714, -714, -714, 6365, -714, -714, 254, -714, 7333, -714,
567 -714, 259, 7462, 245, -714, -714, -714, -714, 6624, 270,
568 -714, 6692, 7333, -714, -714, 6478, -714, -714, -714, -714,
569 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
570 -714, -714, -714, -714, 6478, 6478, 262, 1484, 6817, 6817,
571 -714, -714, -714, -714, 5687, -714, -714, -714, -714, -714,
572 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
573 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
574 -714, -714, -714, -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, 1123, -714, 328, 478, -714, -714,
584 -714, -714, -714, -714, -714, 5574, -714, -714, 6365, -714,
585 7438, -714, -714, 256, 7333, -714, -714, -714, 33, 264,
586 1993, 188, 233, 1654, 188, 235, 6365, 7333, 261, 263,
587 271, 7486, 265, 275, -714, 289, 300, 286, 303, 118,
588 -714, 306, 301, -714, -714, -714, 799, 6817, 6989, -714,
589 219, 315, -714, -714, -714, 316, 7462, 317, 305, 7207,
590 -714, 326, 1767, 319, -714, -714, 6591, 742, 7333, 125,
591 125, -714, -714, 163, -714, -714, 321, -714, 245, 7486,
592 -714, -714, -714, -714, -714, -714, -714, -714, 320, 178,
593 -714, 28, -714, -714, -714, 25, 32, 35, 6798, -714,
594 -714, 6365, 6365, -714, 184, -714, 219, 187, -714, 323,
595 -714, -714, 324, 7486, -714, -714, 5800, -714, 6139, -714,
596 6817, -714, 28, 6817, -714, 7333, 7102, -714, -714, -714,
597 -714, -714, 329, 330, -714, -714, -714, -714, 6478, 6478,
598 333, -714, 63, 334, -714, 319, 220, 220, -714, 584,
599 335, 584, 332, 6365, -714, 7414, -714, 1993, -714, 7215,
600 188, 299, 188, 188, 170, 267, 207, 337, 7486, -714,
601 -714, -714, -714, 341, 6252, -714, 340, 6817, 198, -714,
602 344, 254, 346, 997, 7274, 7462, 7510, 356, 347, 353,
603 6817, 355, 334, 6817, 6817, -714, 584, -714, 28, 5687,
604 -714, 6365, 354, -714, -714, 359, -714, -714, 337, -714,
605 -714, -714, 7102, -714, 363, 6365, 28, -714, 5913, 365,
606 357, -714, 304, -714, -714, -714, 371, 370, 381, 319,
607 375, -714, 379, -714, 39, -714, 7534, 378, 188, 380,
608 28, 7083, 382, 385, -714, 394, -714, -714, 53, -714,
609 383, 395, -714, 6817, -714, 390, 387, -714, 338, 398,
610 6365, 5800, 403, -714, 6139, -714, -714, 405, 413, 415,
611 319, 408, 1993, 175, 6026, 6921, 263, -714, -714, -714,
612 409, 6252, -714, -714, 410, 412, -714, 407, 417, 420,
613 422, 419, -714, -714, 5800, -714, 434, -714, 584, 188,
614 28, 433, 6139, -714, 437, -714, -714, 441, -714, -714,
615 -714, 6026, 443, 445, -714
616 };
617
618 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
619 Performed when YYTABLE does not specify something else to do. Zero
620 means the default is an error. */
621 static const unsigned short int yydefact[] =
622 {
623 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
624 386, 378, 282, 281, 0, 0, 0, 0, 499, 377,
625 0, 0, 624, 283, 0, 0, 0, 278, 279, 285,
626 284, 286, 290, 516, 0, 374, 380, 379, 385, 400,
627 412, 384, 287, 288, 289, 417, 435, 437, 438, 0,
628 0, 448, 292, 291, 293, 0, 294, 0, 395, 390,
629 386, 0, 0, 0, 377, 0, 436, 422, 296, 307,
630 304, 306, 308, 309, 320, 317, 318, 315, 321, 316,
631 0, 319, 310, 311, 312, 0, 332, 332, 0, 300,
632 0, 0, 499, 499, 0, 0, 360, 365, 457, 364,
633 0, 507, 507, 33, 34, 612, 573, 24, 39, 38,
634 37, 35, 36, 32, 31, 25, 29, 28, 26, 27,
635 40, 581, 580, 578, 576, 577, 579, 575, 574, 582,
636 30, 610, 608, 607, 609, 606, 605, 381, 41, 42,
637 382, 383, 496, 540, 541, 542, 543, 0, 537, 0,
638 0, 0, 0, 626, 0, 625, 386, 0, 417, 0,
639 1, 280, 522, 509, 376, 458, 0, 517, 518, 520,
640 375, 402, 406, 404, 408, 401, 398, 413, 400, 399,
641 0, 0, 449, 449, 0, 0, 381, 382, 383, 0,
642 0, 0, 68, 43, 44, 45, 46, 47, 48, 49,
643 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
644 60, 61, 62, 63, 64, 65, 66, 67, 158, 159,
645 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
646 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
647 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
648 99, 100, 101, 102, 108, 106, 107, 105, 103, 104,
649 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
650 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
651 129, 130, 131, 132, 160, 133, 134, 135, 136, 137,
652 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
653 148, 149, 150, 151, 152, 156, 153, 154, 155, 157,
654 0, 332, 302, 297, 43, 52, 57, 58, 62, 106,
655 107, 105, 103, 104, 124, 126, 127, 128, 129, 130,
656 131, 160, 135, 136, 137, 138, 139, 140, 141, 142,
657 143, 144, 145, 146, 147, 148, 149, 150, 334, 305,
658 333, 298, 313, 314, 299, 301, 342, 343, 0, 0,
659 22, 23, 20, 21, 0, 0, 345, 303, 344, 381,
660 498, 382, 497, 361, 358, 366, 0, 0, 0, 0,
661 0, 0, 295, 0, 0, 426, 0, 0, 0, 0,
662 428, 525, 524, 523, 512, 460, 516, 509, 519, 521,
663 407, 403, 409, 410, 405, 414, 0, 415, 387, 516,
664 454, 0, 0, 451, 452, 455, 0, 475, 501, 473,
665 0, 624, 0, 0, 0, 618, 619, 0, 549, 552,
666 551, 553, 554, 0, 555, 429, 423, 424, 0, 421,
667 419, 0, 324, 325, 322, 335, 495, 494, 0, 0,
668 490, 0, 0, 340, 337, 347, 2, 3, 4, 5,
669 6, 7, 8, 9, 10, 11, 13, 12, 14, 15,
670 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
671 463, 462, 464, 461, 0, 427, 186, 161, 162, 163,
672 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
673 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
674 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
675 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
676 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
677 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
678 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
679 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
680 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
681 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
682 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
683 271, 273, 433, 434, 0, 431, 0, 0, 359, 416,
684 486, 484, 483, 485, 514, 0, 515, 513, 0, 487,
685 0, 477, 488, 0, 0, 517, 459, 411, 0, 456,
686 449, 509, 0, 0, 509, 0, 0, 502, 0, 0,
687 0, 601, 0, 0, 600, 42, 0, 0, 0, 0,
688 621, 0, 0, 595, 526, 550, 0, 0, 326, 420,
689 516, 0, 491, 493, 336, 0, 349, 0, 348, 0,
690 338, 0, 0, 503, 369, 362, 370, 0, 371, 507,
691 507, 368, 367, 486, 356, 357, 0, 352, 354, 353,
692 430, 432, 527, 545, 546, 547, 548, 544, 0, 0,
693 531, 624, 536, 538, 539, 612, 24, 0, 0, 481,
694 511, 0, 0, 510, 0, 418, 516, 0, 441, 0,
695 453, 439, 0, 476, 474, 472, 0, 556, 624, 599,
696 0, 535, 624, 0, 620, 0, 596, 593, 617, 425,
697 327, 330, 0, 328, 492, 489, 341, 346, 0, 0,
698 0, 363, 0, 468, 465, 503, 0, 0, 351, 0,
699 0, 0, 533, 0, 479, 0, 480, 449, 446, 0,
700 509, 0, 509, 509, 486, 0, 31, 30, 562, 567,
701 563, 565, 566, 41, 0, 602, 613, 0, 0, 622,
702 612, 598, 0, 332, 0, 350, 339, 0, 504, 0,
703 0, 0, 468, 373, 372, 528, 0, 532, 624, 0,
704 478, 0, 0, 447, 444, 0, 442, 440, 0, 564,
705 587, 573, 596, 588, 0, 0, 624, 568, 624, 0,
706 0, 623, 0, 323, 329, 331, 0, 0, 0, 503,
707 469, 466, 0, 529, 0, 534, 482, 0, 509, 0,
708 624, 0, 583, 0, 615, 614, 603, 557, 0, 508,
709 0, 0, 470, 0, 467, 0, 0, 445, 0, 0,
710 0, 0, 0, 604, 624, 611, 594, 0, 0, 0,
711 503, 0, 449, 0, 589, 0, 487, 585, 560, 558,
712 584, 0, 572, 616, 0, 0, 471, 0, 0, 0,
713 0, 590, 591, 569, 0, 559, 0, 505, 0, 509,
714 624, 0, 624, 586, 0, 530, 443, 0, 570, 592,
715 506, 589, 0, 0, 571
716 };
717
718 /* YYPGOTO[NTERM-NUM]. */
719 static const short int yypgoto[] =
720 {
721 -714, -333, -75, -6, -50, -714, -714, -714, 452, -714,
722 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
723 -714, -714, -84, -714, -284, -714, -714, -714, -329, -714,
724 -714, 325, -194, 30, -187, -176, -19, -14, -714, -714,
725 -714, 449, -714, -714, 322, -714, -714, -714, -714, 339,
726 -263, -714, -714, -173, -714, -120, -714, -106, 475, 80,
727 -2, 52, -714, -714, -714, -714, -179, -714, -131, -10,
728 -31, -714, -714, 127, -349, -714, -299, -714, 9, -714,
729 -133, -351, -714, -72, -714, 57, -714, -454, -444, 150,
730 -714, -711, -87, -376, -714, -371, -25, -714, 342, -714,
731 -714, 485, -714, -253, -669, -713, -714, -714, 493, -714,
732 128, -392, -714, -391, -684, 96, -258, -714, -714, -685,
733 -714, -714, -365, -400, -714, -714, -714, -300, -714, -403,
734 -402, -397, -714, -714, -714, -714, -714, -714, -212, -21,
735 -689
736 };
737
738 /* YYDEFGOTO[NTERM-NUM]. */
739 static const short int yydefgoto[] =
740 {
741 -1, 712, 618, 163, 348, 602, 26, 27, 28, 29,
742 30, 85, 86, 87, 88, 354, 89, 90, 91, 312,
743 742, 743, 349, 350, 367, 667, 668, 31, 686, 687,
744 32, 95, 673, 674, 675, 33, 34, 35, 36, 37,
745 38, 39, 40, 41, 176, 401, 404, 179, 42, 181,
746 688, 43, 191, 791, 44, 603, 604, 605, 45, 46,
747 47, 98, 410, 49, 411, 50, 412, 413, 414, 51,
748 619, 52, 53, 481, 482, 677, 801, 840, 100, 418,
749 419, 641, 621, 622, 661, 450, 55, 101, 102, 142,
750 638, 753, 377, 395, 623, 166, 438, 168, 169, 393,
751 56, 57, 699, 700, 642, 701, 147, 702, 703, 704,
752 427, 428, 429, 887, 888, 889, 780, 781, 782, 138,
753 872, 890, 824, 900, 901, 430, 652, 792, 431, 902,
754 644, 139, 829, 855, 432, 433, 434, 649, 650, 646,
755 155
756 };
757
758 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
759 positive, shift that token. If negative, reduce the rule whose
760 number is the opposite. If YYTABLE_NINF, syntax error. */
761 static const short int yytable[] =
762 {
763 67, 154, 165, 351, 416, 99, 409, 409, 167, 54,
764 137, 140, 141, 97, 164, 378, 365, 436, 643, 368,
765 170, 626, 653, 679, 645, 624, 442, 645, 478, 479,
766 311, 385, 762, 680, 475, 655, 54, 784, 629, 390,
767 355, 783, 779, 620, 802, 96, 805, 443, 808, 352,
768 379, 162, 48, 380, -387, 186, 187, 188, -387, 659,
769 149, -386, 48, 731, 11, -24, 715, 391, 763, 435,
770 105, 875, 153, 48, 310, 451, 48, 48, 480, 48,
771 180, 454, 656, 477, 99, 366, 369, 371, 798, 160,
772 66, 823, 97, 843, 375, 184, 446, 447, 799, 783,
773 827, 151, 448, 865, 143, 159, 58, 144, 59, 475,
774 182, 145, -387, 146, 449, -387, -387, 48, 475, -386,
775 402, 475, 64, 403, 373, 392, 398, -448, 862, 190,
776 171, 172, 173, 689, 183, 174, 171, 172, 173, 762,
777 185, 174, 353, 628, 374, 189, -507, 99, 175, 734,
778 376, -507, 735, 313, 175, 97, -448, 852, -500, 437,
779 376, 397, 381, 131, 132, 133, 134, 135, 136, 896,
780 384, 666, 415, 415, -438, -457, 382, -457, 417, -381,
781 -500, 869, 891, 177, 4, 5, 783, 96, -382, -500,
782 669, 670, 820, 821, -355, 915, -355, -355, 823, 631,
783 632, -486, 48, -486, -486, 386, 783, 905, 48, 634,
784 635, 760, 761, 387, 655, 891, 767, 768, 679, 783,
785 770, 771, 400, 679, 820, 821, 394, 444, 680, 396,
786 383, 831, 657, 680, 406, 365, 66, 407, 368, 822,
787 439, 917, 370, 372, 455, 476, 607, 1, 2, 3,
788 4, 5, 6, 7, 8, 718, 477, 484, 721, 608,
789 9, 654, 609, 485, 708, 60, 627, 709, 162, 630,
790 440, 659, 11, 633, 636, 121, 122, 123, 124, 125,
791 126, 127, 128, 129, 365, 723, 637, 368, 657, 744,
792 365, 658, 663, 368, 671, 713, 716, 719, 725, 722,
793 445, 676, 727, 726, 366, 728, 729, 121, 122, 123,
794 124, 125, 126, 127, 128, 129, 420, 421, 422, 423,
795 424, 730, 425, 426, 731, 785, 732, 61, 62, 63,
796 64, 645, 737, 475, 22, 733, 475, 475, 736, 748,
797 420, 421, 422, 423, 424, 769, 425, 426, 745, 746,
798 747, 750, 758, 366, 752, 759, 772, 773, 453, 366,
799 765, 766, 793, 815, 794, 692, 150, 797, 800, 825,
800 806, 625, 809, 826, 828, 778, 818, -597, 165, 832,
801 365, 836, 837, 368, 167, 838, 841, 847, 857, 639,
802 164, 647, 848, 651, 814, 850, 816, 817, 856, 365,
803 365, 858, 368, 368, 859, 860, 861, 803, 804, 863,
804 864, 866, 810, 868, 881, 878, 871, 648, 873, 882,
805 420, 421, 422, 423, 424, 854, 425, 426, 874, 879,
806 884, 645, 397, 778, 660, 883, 892, 730, 894, 707,
807 895, 897, 908, 904, 906, 907, 665, 681, 682, 366,
808 909, 717, 910, 912, 409, 911, 876, 409, 689, 914,
809 846, 877, 475, 475, 795, 796, 918, 99, 366, 366,
810 920, 893, 867, 921, 851, 97, 923, 645, 924, 161,
811 845, 143, 388, 755, 144, 751, 678, 645, 145, 178,
812 146, 693, 694, 695, 696, 697, 676, 389, 691, 158,
813 405, 676, 720, 842, 724, 662, 152, 483, 807, 919,
814 399, 698, 148, 913, 606, 645, 640, 819, 899, 885,
815 778, 922, 849, 789, 645, 1, 2, 3, 4, 5,
816 6, 7, 8, 916, 0, 0, 0, 0, 9, 0,
817 778, 0, 0, 10, 0, 0, 0, 0, 0, 0,
818 11, 12, 13, 778, 0, 0, 0, 0, 0, 0,
819 788, 0, 14, 0, 0, 0, 1, 2, 3, 4,
820 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
821 0, 0, 0, 0, 60, 0, 0, 143, 812, 0,
822 144, 409, 756, 757, 145, 0, 146, 693, 694, 695,
823 696, 697, 0, 0, 15, 16, 17, 18, 19, 20,
824 21, 0, 22, 0, 0, 0, 0, 0, 714, 0,
825 415, 0, 0, 415, 0, 0, 739, 0, 0, 0,
826 0, 417, 0, 0, 0, 625, 0, 23, 0, 0,
827 0, 0, 24, 0, 25, 165, 61, 62, 63, 0,
828 0, 167, 741, 0, 0, 0, 0, 164, 0, 0,
829 0, 0, 99, 0, 0, 0, 0, 99, 0, 0,
830 97, 0, 375, 365, 365, 97, 368, 368, 0, 0,
831 0, 678, 0, 0, 0, 0, 678, 0, 164, 0,
832 0, 625, 0, 0, 0, 0, 0, 0, 0, 786,
833 0, 0, 437, 898, 0, 437, 409, 0, 0, 833,
834 0, 787, 1, 2, 3, 4, 5, 6, 7, 8,
835 0, 0, 0, 0, 0, 9, 0, 0, 0, 648,
836 60, 0, 0, 0, 0, 0, 0, 11, 0, 0,
837 0, 0, 366, 366, 0, 0, 1, 2, 3, 4,
838 5, 6, 7, 8, 0, 0, 830, 415, 0, 9,
839 68, 0, 0, 714, 60, 0, 0, 0, 0, 839,
840 0, 11, 681, 682, 0, 0, 0, 0, 0, 754,
841 0, 0, 0, 0, 0, 0, 0, 844, 835, 0,
842 0, 437, 61, 62, 63, 64, 69, 70, 71, 72,
843 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
844 82, 83, 84, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 92, 93, 18, 64,
846 738, 65, 880, 0, 0, 0, 0, 0, 0, 0,
847 886, 456, 457, 458, 459, 460, 461, 462, 463, 464,
848 465, 466, 467, 468, 469, 470, 471, 472, 473, 0,
849 0, 0, 0, 672, 711, 0, 0, 0, 0, 0,
850 0, 192, 415, 886, 193, 194, 195, 196, 197, 198,
851 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
852 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
853 219, 0, 220, 221, 222, 223, 224, 225, 226, 227,
854 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
855 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
856 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
857 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
858 268, 0, 269, 0, 270, 271, 272, 273, 274, 275,
859 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
860 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
861 296, 297, 298, 299, 300, 301, 302, 303, 0, 0,
862 304, 0, 305, 306, 307, 308, 309, 192, 0, 0,
863 314, 194, 195, 196, 197, 198, 199, 200, 201, 315,
864 203, 204, 205, 206, 316, 317, 209, 210, 211, 318,
865 213, 214, 215, 216, 217, 218, 219, 0, 220, 221,
866 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
867 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
868 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
869 252, 253, 254, 319, 320, 321, 322, 323, 260, 261,
870 262, 263, 264, 265, 266, 267, 268, 0, 269, 0,
871 270, 271, 272, 273, 274, 324, 276, 325, 326, 327,
872 328, 329, 330, 283, 331, 285, 286, 332, 333, 334,
873 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
874 345, 346, 347, 303, 0, 0, 304, 0, 305, 306,
875 307, 308, 309, 486, 0, 0, 487, 488, 489, 490,
876 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
877 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
878 511, 512, 513, 0, 514, 515, 516, 517, 518, 384,
879 690, 519, 520, 521, 522, 523, 524, 525, 526, 527,
880 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
881 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
882 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
883 558, 559, 560, 0, 561, 0, 562, 563, 564, 565,
884 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
885 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
886 586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
887 0, 0, 596, 0, 597, 598, 599, 600, 601, 486,
888 0, 0, 487, 488, 489, 490, 491, 492, 493, 494,
889 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
890 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
891 514, 515, 516, 517, 518, 384, 0, 519, 520, 521,
892 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
893 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
894 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
895 552, 553, 554, 555, 556, 557, 558, 559, 560, 0,
896 561, 0, 562, 563, 564, 565, 566, 567, 568, 569,
897 570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
898 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
899 590, 591, 592, 593, 594, 595, 103, 0, 596, 0,
900 597, 598, 599, 600, 601, 104, 0, 0, 0, 0,
901 105, 106, 610, 0, 0, 107, 611, 0, 612, 0,
902 613, 358, 614, 0, 0, 615, 0, 0, 0, 0,
903 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
904 360, 361, 162, 9, 0, 0, 0, 0, 60, 0,
905 0, 0, 0, 362, 363, 11, 0, 0, 0, 108,
906 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 616, 113, 0, 114, 115, 116, 117, 118, 119, 0,
909 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
910 128, 129, 130, 131, 132, 133, 134, 135, 136, 0,
911 92, 93, 18, 64, 0, 0, 0, 617, 1, 2,
912 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
913 0, 9, 0, 0, 0, 0, 60, 0, 0, -33,
914 0, 0, 0, 11, 0, 0, 0, 94, -33, 0,
915 0, 0, 0, -33, -33, 0, 0, 0, -33, 0,
916 0, -33, -33, -33, -33, 0, 0, 0, -33, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, -33, -33, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, -33, -33, 92, 93,
920 18, 64, -33, -33, -33, -33, -33, 0, 0, 0,
921 0, 0, 0, 0, -33, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, -33, 0, -33, -33, -33, -33,
923 -33, -33, 0, -33, 0, 672, -33, -33, -33, -33,
924 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
925 -33, -33, -34, 0, -33, 0, 0, 0, 0, 0,
926 0, -34, 0, 0, 0, 0, -34, -34, 0, 0,
927 0, -34, 0, 0, -34, -34, -34, -34, 0, 0,
928 0, -34, 0, 0, 0, 0, 0, 0, 1, 2,
929 3, 4, 5, 6, 7, 8, -34, -34, 0, 0,
930 0, 9, 0, 0, 0, 0, 60, 0, 0, -34,
931 -34, 0, 0, 11, 0, -34, -34, -34, -34, -34,
932 0, 0, 0, 0, 0, 0, 0, -34, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, -34, 0, -34,
934 -34, -34, -34, -34, -34, 0, -34, 0, 0, -34,
935 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
936 -34, -34, -34, -34, -34, -57, 0, -34, 61, 62,
937 63, 64, 0, 0, -57, 0, 0, 0, 0, -57,
938 -57, 0, 0, 0, -57, 0, 0, -57, -57, -57,
939 -57, 0, 0, 0, -57, 0, 0, 0, 0, 0,
940 0, 1, 2, 3, 4, 5, 6, 7, 8, -57,
941 -57, 0, 0, 0, 9, 0, 0, 0, 0, 60,
942 0, 0, -57, -57, 0, 0, 11, 0, -57, -57,
943 -57, -57, -57, 0, 0, 0, 0, 0, 0, 0,
944 -57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
945 -57, 0, -57, -57, -57, -57, -57, -57, 0, -57,
946 0, 0, -57, -57, -57, -57, -57, -57, -57, -57,
947 -57, -57, -57, -57, -57, -57, -57, -57, -58, 0,
948 -612, 92, 93, 18, 64, 0, 0, -58, 0, 0,
949 0, 0, -58, -58, 0, 0, 0, -58, 0, 0,
950 -58, -58, -58, -58, 0, 0, 0, -58, 0, 0,
951 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
952 7, 8, -58, -58, 0, 0, 0, 9, 0, 0,
953 0, 0, 60, 0, 0, -58, -58, 0, 0, 11,
954 0, -58, -58, -58, -58, -58, 0, 0, 0, 0,
955 0, 0, 0, -58, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, -58, 0, -58, -58, -58, -58, -58,
957 -58, 0, -58, 0, 0, -58, -58, -58, -58, -58,
958 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
959 -58, -24, 0, -573, 61, 62, 63, 64, 0, 0,
960 -24, 0, 0, 0, 0, -24, -24, 0, 0, 0,
961 -24, 0, 0, -24, -24, -24, -24, 0, 0, 0,
962 -24, 0, 0, 0, 0, 0, 0, 1, 2, 3,
963 4, 5, 6, 7, 8, -24, -24, 0, 0, 0,
964 408, 0, 0, 0, 0, 60, 0, 0, -24, -24,
965 0, 0, 11, 0, -24, -24, -24, -24, -24, 0,
966 0, 0, 0, 0, 0, 0, -24, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, -24, 0, -24, -24,
968 -24, -24, -24, -24, 0, -24, 0, 0, -24, -24,
969 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
970 -24, -24, -24, -24, -39, 0, -24, 61, 62, 63,
971 64, 0, 0, -39, 0, 0, 0, 0, -39, -39,
972 0, 0, 0, -39, 0, 0, -39, -39, -39, -39,
973 0, 0, 0, -39, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, -39, -39,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, -39, -39, 0, 0, 0, 0, -39, -39, -39,
977 -39, -39, 0, 0, 0, 0, 0, 0, 0, -39,
978 0, 0, 0, 0, 0, 0, 0, 0, 0, -39,
979 0, -39, -39, -39, -39, -39, -39, 0, -39, 0,
980 0, -39, -39, -39, -39, -39, -39, -39, -39, -39,
981 -39, -39, -39, -39, -39, -39, -39, -38, 0, -39,
982 0, 0, 0, 0, 0, 0, -38, 0, 0, 0,
983 0, -38, -38, 0, 0, 0, -38, 0, 0, -38,
984 -38, -38, -38, 0, 0, 0, -38, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, -38, -38, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, -38, -38, 0, 0, 0, 0,
988 -38, -38, -38, -38, -38, 0, 0, 0, 0, 0,
989 0, 0, -38, 0, 0, 0, 0, 0, 0, 0,
990 0, 0, -38, 0, -38, -38, -38, -38, -38, -38,
991 0, -38, 0, 0, -38, -38, -38, -38, -38, -38,
992 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
993 -37, 0, -38, 0, 0, 0, 0, 0, 0, -37,
994 0, 0, 0, 0, -37, -37, 0, 0, 0, -37,
995 0, 0, -37, -37, -37, -37, 0, 0, 0, -37,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, -37, -37, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, -37, -37, 0,
999 0, 0, 0, -37, -37, -37, -37, -37, 0, 0,
1000 0, 0, 0, 0, 0, -37, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, -37, 0, -37, -37, -37,
1002 -37, -37, -37, 0, -37, 0, 0, -37, -37, -37,
1003 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1004 -37, -37, -37, -35, 0, -37, 0, 0, 0, 0,
1005 0, 0, -35, 0, 0, 0, 0, -35, -35, 0,
1006 0, 0, -35, 0, 0, -35, -35, -35, -35, 0,
1007 0, 0, -35, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, -35, -35, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 -35, -35, 0, 0, 0, 0, -35, -35, -35, -35,
1011 -35, 0, 0, 0, 0, 0, 0, 0, -35, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, -35, 0,
1013 -35, -35, -35, -35, -35, -35, 0, -35, 0, 0,
1014 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1015 -35, -35, -35, -35, -35, -35, -36, 0, -35, 0,
1016 0, 0, 0, 0, 0, -36, 0, 0, 0, 0,
1017 -36, -36, 0, 0, 0, -36, 0, 0, -36, -36,
1018 -36, -36, 0, 0, 0, -36, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 -36, -36, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, -36, -36, 0, 0, 0, 0, -36,
1022 -36, -36, -36, -36, 0, 0, 0, 0, 0, 0,
1023 0, -36, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, -36, 0, -36, -36, -36, -36, -36, -36, 0,
1025 -36, 0, 0, -36, -36, -36, -36, -36, -36, -36,
1026 -36, -36, -36, -36, -36, -36, -36, -36, -36, -32,
1027 0, -36, 0, 0, 0, 0, 0, 0, -32, 0,
1028 0, 0, 0, -32, -32, 0, 0, 0, -32, 0,
1029 0, -32, -32, -32, -32, 0, 0, 0, -32, 0,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, -32, -32, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, -32, -32, 0, 0,
1033 0, 0, -32, -32, -32, -32, -32, 0, 0, 0,
1034 0, 0, 0, 0, -32, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, -32, 0, -32, -32, -32, -32,
1036 -32, -32, 0, -32, 0, 0, -32, -32, -32, -32,
1037 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1038 -32, -32, -31, 0, -32, 0, 0, 0, 0, 0,
1039 0, -31, 0, 0, 0, 0, -31, -31, 0, 0,
1040 0, -31, 0, 0, -31, -31, -31, -31, 0, 0,
1041 0, -31, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, -31, -31, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 0, -31,
1044 -31, 0, 0, 0, 0, -31, -31, -31, -31, -31,
1045 0, 0, 0, 0, 0, 0, 0, -31, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, -31, 0, -31,
1047 -31, -31, -31, -31, -31, 0, -31, 0, 0, -31,
1048 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1049 -31, -31, -31, -31, -31, -25, 0, -31, 0, 0,
1050 0, 0, 0, 0, -25, 0, 0, 0, 0, -25,
1051 -25, 0, 0, 0, -25, 0, 0, -25, -25, -25,
1052 -25, 0, 0, 0, -25, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, -25,
1054 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, -25, -25, 0, 0, 0, 0, -25, -25,
1056 -25, -25, -25, 0, 0, 0, 0, 0, 0, 0,
1057 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 -25, 0, -25, -25, -25, -25, -25, -25, 0, -25,
1059 0, 0, -25, -25, -25, -25, -25, -25, -25, -25,
1060 -25, -25, -25, -25, -25, -25, -25, -25, -29, 0,
1061 -25, 0, 0, 0, 0, 0, 0, -29, 0, 0,
1062 0, 0, -29, -29, 0, 0, 0, -29, 0, 0,
1063 -29, -29, -29, -29, 0, 0, 0, -29, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, -29, -29, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1067 0, -29, -29, -29, -29, -29, 0, 0, 0, 0,
1068 0, 0, 0, -29, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, -29, 0, -29, -29, -29, -29, -29,
1070 -29, 0, -29, 0, 0, -29, -29, -29, -29, -29,
1071 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1072 -29, -28, 0, -29, 0, 0, 0, 0, 0, 0,
1073 -28, 0, 0, 0, 0, -28, -28, 0, 0, 0,
1074 -28, 0, 0, -28, -28, -28, -28, 0, 0, 0,
1075 -28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, -28, -28, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, -28, -28,
1078 0, 0, 0, 0, -28, -28, -28, -28, -28, 0,
1079 0, 0, 0, 0, 0, 0, -28, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, -28, 0, -28, -28,
1081 -28, -28, -28, -28, 0, -28, 0, 0, -28, -28,
1082 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1083 -28, -28, -28, -28, -26, 0, -28, 0, 0, 0,
1084 0, 0, 0, -26, 0, 0, 0, 0, -26, -26,
1085 0, 0, 0, -26, 0, 0, -26, -26, -26, -26,
1086 0, 0, 0, -26, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, -26, -26,
1088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, -26, -26, 0, 0, 0, 0, -26, -26, -26,
1090 -26, -26, 0, 0, 0, 0, 0, 0, 0, -26,
1091 0, 0, 0, 0, 0, 0, 0, 0, 0, -26,
1092 0, -26, -26, -26, -26, -26, -26, 0, -26, 0,
1093 0, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1094 -26, -26, -26, -26, -26, -26, -26, -27, 0, -26,
1095 0, 0, 0, 0, 0, 0, -27, 0, 0, 0,
1096 0, -27, -27, 0, 0, 0, -27, 0, 0, -27,
1097 -27, -27, -27, 0, 0, 0, -27, 0, 0, 0,
1098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, -27, -27, 0, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, -27, -27, 0, 0, 0, 0,
1101 -27, -27, -27, -27, -27, 0, 0, 0, 0, 0,
1102 0, 0, -27, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, -27, 0, -27, -27, -27, -27, -27, -27,
1104 0, -27, 0, 0, -27, -27, -27, -27, -27, -27,
1105 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1106 -40, 0, -27, 0, 0, 0, 0, 0, 0, -40,
1107 0, 0, 0, 0, -40, -40, 0, 0, 0, -40,
1108 0, 0, -40, -40, -40, -40, 0, 0, 0, -40,
1109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, -40, -40, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, -40, -40, 0,
1112 0, 0, 0, -40, -40, -40, -40, -40, 0, 0,
1113 0, 0, 0, 0, 0, -40, 0, 0, 0, 0,
1114 0, 0, 0, 0, 0, -40, 0, -40, -40, -40,
1115 -40, -40, -40, 0, -40, 0, 0, -40, -40, -40,
1116 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1117 -40, -40, -40, -135, 0, -40, 0, 0, 0, 0,
1118 0, 0, -135, 0, 0, 0, 0, -135, -135, 0,
1119 0, 0, -135, 0, 0, -135, -135, -135, -135, 0,
1120 0, 0, -135, 0, 0, 0, 0, 0, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, -135, -135, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 -135, -135, 0, 0, 0, 0, -135, -135, -135, -135,
1124 -135, 0, 0, 0, 0, 0, 0, 0, -135, 0,
1125 0, 0, 0, 0, 0, 0, 0, 0, -135, 0,
1126 -135, -135, -135, -135, -135, -135, 0, -135, 0, 0,
1127 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1128 -135, -135, -135, -135, -135, -135, -136, 0, -581, 0,
1129 0, 0, 0, 0, 0, -136, 0, 0, 0, 0,
1130 -136, -136, 0, 0, 0, -136, 0, 0, -136, -136,
1131 -136, -136, 0, 0, 0, -136, 0, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 -136, -136, 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, -136, -136, 0, 0, 0, 0, -136,
1135 -136, -136, -136, -136, 0, 0, 0, 0, 0, 0,
1136 0, -136, 0, 0, 0, 0, 0, 0, 0, 0,
1137 0, -136, 0, -136, -136, -136, -136, -136, -136, 0,
1138 -136, 0, 0, -136, -136, -136, -136, -136, -136, -136,
1139 -136, -136, -136, -136, -136, -136, -136, -136, -136, -137,
1140 0, -580, 0, 0, 0, 0, 0, 0, -137, 0,
1141 0, 0, 0, -137, -137, 0, 0, 0, -137, 0,
1142 0, -137, -137, -137, -137, 0, 0, 0, -137, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, -137, -137, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, -137, -137, 0, 0,
1146 0, 0, -137, -137, -137, -137, -137, 0, 0, 0,
1147 0, 0, 0, 0, -137, 0, 0, 0, 0, 0,
1148 0, 0, 0, 0, -137, 0, -137, -137, -137, -137,
1149 -137, -137, 0, -137, 0, 0, -137, -137, -137, -137,
1150 -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1151 -137, -137, -138, 0, -578, 0, 0, 0, 0, 0,
1152 0, -138, 0, 0, 0, 0, -138, -138, 0, 0,
1153 0, -138, 0, 0, -138, -138, -138, -138, 0, 0,
1154 0, -138, 0, 0, 0, 0, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, -138, -138, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
1157 -138, 0, 0, 0, 0, -138, -138, -138, -138, -138,
1158 0, 0, 0, 0, 0, 0, 0, -138, 0, 0,
1159 0, 0, 0, 0, 0, 0, 0, -138, 0, -138,
1160 -138, -138, -138, -138, -138, 0, -138, 0, 0, -138,
1161 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1162 -138, -138, -138, -138, -138, -139, 0, -576, 0, 0,
1163 0, 0, 0, 0, -139, 0, 0, 0, 0, -139,
1164 -139, 0, 0, 0, -139, 0, 0, -139, -139, -139,
1165 -139, 0, 0, 0, -139, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, -139,
1167 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, -139, -139, 0, 0, 0, 0, -139, -139,
1169 -139, -139, -139, 0, 0, 0, 0, 0, 0, 0,
1170 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1171 -139, 0, -139, -139, -139, -139, -139, -139, 0, -139,
1172 0, 0, -139, -139, -139, -139, -139, -139, -139, -139,
1173 -139, -139, -139, -139, -139, -139, -139, -139, -140, 0,
1174 -577, 0, 0, 0, 0, 0, 0, -140, 0, 0,
1175 0, 0, -140, -140, 0, 0, 0, -140, 0, 0,
1176 -140, -140, -140, -140, 0, 0, 0, -140, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, -140, -140, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1180 0, -140, -140, -140, -140, -140, 0, 0, 0, 0,
1181 0, 0, 0, -140, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, -140, 0, -140, -140, -140, -140, -140,
1183 -140, 0, -140, 0, 0, -140, -140, -140, -140, -140,
1184 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1185 -140, -141, 0, -579, 0, 0, 0, 0, 0, 0,
1186 -141, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1187 -141, 0, 0, -141, -141, -141, -141, 0, 0, 0,
1188 -141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, -141, -141,
1191 0, 0, 0, 0, -141, -141, -141, -141, -141, 0,
1192 0, 0, 0, 0, 0, 0, -141, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, -141, 0, -141, -141,
1194 -141, -141, -141, -141, 0, -141, 0, 0, -141, -141,
1195 -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1196 -141, -141, -141, -141, -142, 0, -575, 0, 0, 0,
1197 0, 0, 0, -142, 0, 0, 0, 0, -142, -142,
1198 0, 0, 0, -142, 0, 0, -142, -142, -142, -142,
1199 0, 0, 0, -142, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, -142, -142,
1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, -142, -142, 0, 0, 0, 0, -142, -142, -142,
1203 -142, -142, 0, 0, 0, 0, 0, 0, 0, -142,
1204 0, 0, 0, 0, 0, 0, 0, 0, 0, -142,
1205 0, -142, -142, -142, -142, -142, -142, 0, -142, 0,
1206 0, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1207 -142, -142, -142, -142, -142, -142, -142, -143, 0, -574,
1208 0, 0, 0, 0, 0, 0, -143, 0, 0, 0,
1209 0, -143, -143, 0, 0, 0, -143, 0, 0, -143,
1210 -143, -143, -143, 0, 0, 0, -143, 0, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, -143, -143, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, -143, -143, 0, 0, 0, 0,
1214 -143, -143, -143, -143, -143, 0, 0, 0, 0, 0,
1215 0, 0, -143, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, -143, 0, -143, -143, -143, -143, -143, -143,
1217 0, -143, 0, 0, -143, -143, -143, -143, -143, -143,
1218 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1219 -30, 0, -582, 0, 0, 0, 0, 0, 0, -30,
1220 0, 0, 0, 0, -30, -30, 0, 0, 0, -30,
1221 0, 0, -30, -30, -30, -30, 0, 0, 0, -30,
1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, -30, -30, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, -30, -30, 0,
1225 0, 0, 0, -30, -30, -30, -30, -30, 0, 0,
1226 0, 0, 0, 0, 0, -30, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, -30, 0, -30, -30, -30,
1228 -30, -30, -30, 0, -30, 0, 0, -30, -30, -30,
1229 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1230 -30, -30, -30, -145, 0, -30, 0, 0, 0, 0,
1231 0, 0, -145, 0, 0, 0, 0, -145, -145, 0,
1232 0, 0, -145, 0, 0, -145, -145, -145, -145, 0,
1233 0, 0, -145, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, -145, -145, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 -145, -145, 0, 0, 0, 0, -145, -145, -145, -145,
1237 -145, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1238 0, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1239 -145, -145, -145, -145, -145, -145, 0, -145, 0, 0,
1240 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1241 -145, -145, -145, -145, -145, -145, -146, 0, -610, 0,
1242 0, 0, 0, 0, 0, -146, 0, 0, 0, 0,
1243 -146, -146, 0, 0, 0, -146, 0, 0, -146, -146,
1244 -146, -146, 0, 0, 0, -146, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 -146, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, -146, -146, 0, 0, 0, 0, -146,
1248 -146, -146, -146, -146, 0, 0, 0, 0, 0, 0,
1249 0, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, -146, 0, -146, -146, -146, -146, -146, -146, 0,
1251 -146, 0, 0, -146, -146, -146, -146, -146, -146, -146,
1252 -146, -146, -146, -146, -146, -146, -146, -146, -146, -147,
1253 0, -608, 0, 0, 0, 0, 0, 0, -147, 0,
1254 0, 0, 0, -147, -147, 0, 0, 0, -147, 0,
1255 0, -147, -147, -147, -147, 0, 0, 0, -147, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, -147, -147, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, -147, -147, 0, 0,
1259 0, 0, -147, -147, -147, -147, -147, 0, 0, 0,
1260 0, 0, 0, 0, -147, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, -147, 0, -147, -147, -147, -147,
1262 -147, -147, 0, -147, 0, 0, -147, -147, -147, -147,
1263 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1264 -147, -147, -148, 0, -607, 0, 0, 0, 0, 0,
1265 0, -148, 0, 0, 0, 0, -148, -148, 0, 0,
1266 0, -148, 0, 0, -148, -148, -148, -148, 0, 0,
1267 0, -148, 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, -148, -148, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, -148,
1270 -148, 0, 0, 0, 0, -148, -148, -148, -148, -148,
1271 0, 0, 0, 0, 0, 0, 0, -148, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, -148, 0, -148,
1273 -148, -148, -148, -148, -148, 0, -148, 0, 0, -148,
1274 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1275 -148, -148, -148, -148, -148, -149, 0, -609, 0, 0,
1276 0, 0, 0, 0, -149, 0, 0, 0, 0, -149,
1277 -149, 0, 0, 0, -149, 0, 0, -149, -149, -149,
1278 -149, 0, 0, 0, -149, 0, 0, 0, 0, 0,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
1280 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281 0, 0, -149, -149, 0, 0, 0, 0, -149, -149,
1282 -149, -149, -149, 0, 0, 0, 0, 0, 0, 0,
1283 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1284 -149, 0, -149, -149, -149, -149, -149, -149, 0, -149,
1285 0, 0, -149, -149, -149, -149, -149, -149, -149, -149,
1286 -149, -149, -149, -149, -149, -149, -149, -149, -150, 0,
1287 -606, 0, 0, 0, 0, 0, 0, -150, 0, 0,
1288 0, 0, -150, -150, 0, 0, 0, -150, 0, 0,
1289 -150, -150, -150, -150, 0, 0, 0, -150, 0, 0,
1290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, -150, -150, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1293 0, -150, -150, -150, -150, -150, 0, 0, 0, 0,
1294 0, 0, 0, -150, 0, 0, 0, 0, 0, 0,
1295 0, 0, 0, -150, 0, -150, -150, -150, -150, -150,
1296 -150, 0, -150, 0, 0, -150, -150, -150, -150, -150,
1297 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1298 -150, 103, 0, -605, 0, 0, 0, 0, 0, 0,
1299 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1300 107, 0, 0, 356, 440, 357, 358, 0, 0, 0,
1301 359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 360, 361, 0, 0, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1304 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1305 0, 0, 0, 0, 0, 0, 364, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1307 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1308 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1309 133, 134, 135, 136, -573, 0, 441, 0, 0, 0,
1310 0, 0, 0, -573, 0, 0, 0, 0, -573, -573,
1311 0, 0, 0, -573, 0, 0, 0, 0, 0, 0,
1312 -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1313 -573, -573, 0, -573, -573, -573, -573, -573, -573, -573,
1314 -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1315 -573, 0, 0, 0, 0, 0, -573, -573, -573, -573,
1316 -573, -573, 1, 2, 3, 4, 5, 6, 7, 8,
1317 0, 0, 0, 0, 0, 9, 0, 0, -573, -573,
1318 156, -573, -573, -573, -573, -573, -573, 11, -573, 0,
1319 0, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1320 -573, -573, -573, -573, -573, -573, -573, 103, 1, 2,
1321 3, 4, 5, 6, 7, 8, 104, 0, 0, 0,
1322 0, 705, 106, 610, 0, 0, 706, 611, 0, 612,
1323 0, 613, 358, 11, 0, 0, 615, 0, 0, 0,
1324 0, 157, 61, 62, 63, 64, 0, 0, 0, 0,
1325 0, 360, 361, 162, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 362, 363, 0, 0, 0, 0,
1327 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1328 0, 0, 0, 0, 0, 0, 0, 0, 61, 62,
1329 63, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1330 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1331 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1332 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1333 0, 0, 0, 0, 105, 106, 683, 684, 685, 107,
1334 611, 0, 612, 440, 613, 358, 0, 0, 0, 615,
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 360, 361, 162, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 362, 363, 0,
1338 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 113, 0, 114, 115, 116,
1341 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1342 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1343 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1344 0, 0, 104, 0, 0, 0, 0, 105, 106, 774,
1345 0, 0, 107, 611, 0, 612, 0, 613, 358, 0,
1346 0, 0, 615, 0, 0, 0, 0, 0, 0, 0,
1347 0, 0, 0, 0, 153, 0, 0, 360, 361, 162,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 362, 363, 0, 0, 0, 0, 108, 109, 110, 111,
1350 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 113, 775,
1352 776, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1353 121, 122, 123, 124, 125, 126, 127, 128, 129, 777,
1354 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1355 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
1356 105, 106, 610, 0, 0, 107, 611, 0, 612, 0,
1357 613, 358, 0, 0, 0, 615, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 0, 0, 153, 0, 0,
1359 360, 361, 162, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 362, 363, 0, 0, 853, 0, 108,
1361 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1364 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1365 128, 129, 130, 131, 132, 133, 134, 135, 136, 103,
1366 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1367 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
1368 -624, 612, 0, 613, 358, 0, 0, 0, 615, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370 153, 0, 0, 360, 361, 162, 0, 0, 0, 0,
1371 0, 0, 0, 0, 0, 0, 362, 363, 0, 0,
1372 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1375 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1377 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1378 0, 104, 0, 0, 0, 0, 105, 106, 610, 0,
1379 0, 107, 611, 0, 612, 0, 613, 358, 0, 0,
1380 0, 615, 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 153, 0, 0, 360, 361, 162, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 362,
1383 363, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1386 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1387 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1388 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1389 0, 0, 0, 0, 104, 0, 0, 0, 0, 105,
1390 106, 774, 0, 0, 107, 611, 0, 612, 0, 613,
1391 358, 0, 0, 0, 615, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 360,
1393 361, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 362, 363, 0, 0, 0, 0, 108, 109,
1395 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 113, 775, 776, 115, 116, 117, 118, 119, 0, 120,
1398 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1399 129, 777, 131, 132, 133, 134, 135, 136, 103, 0,
1400 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1401 0, 0, 105, 106, 610, 0, 0, 107, 611, 0,
1402 612, 0, 613, 358, 0, 0, 0, 615, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 360, 361, 162, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 362, 363, 0, 0, 0,
1406 0, 108, 109, 110, 111, 112, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 113, 0, 114, 115, 116, 117, 118,
1409 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1410 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1411 136, 103, 0, 0, 0, 0, 0, 0, 0, 0,
1412 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1413 107, 0, 0, 356, 0, 357, 358, 0, 0, 0,
1414 359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 360, 361, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1417 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1418 0, 0, 0, 0, 0, 0, 364, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1420 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1421 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1422 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1423 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1424 0, 0, 0, 107, 0, 0, 0, 0, 0, 0,
1425 11, 0, 0, -516, 0, 0, 0, 0, 1, 2,
1426 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1427 162, 9, 0, 0, 0, 0, 60, 0, 0, 0,
1428 446, 447, 0, 0, 0, 0, 0, 108, 109, 110,
1429 111, 112, 0, 0, 0, 0, 0, 0, 449, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0, 64, 113,
1431 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1432 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1433 130, 131, 132, 133, 134, 135, 136, 103, 61, 62,
1434 63, 0, 0, 0, 0, 0, 104, 0, 0, 0,
1435 0, 105, 106, 0, 0, 664, 107, 0, 0, 0,
1436 0, 0, 0, 11, 456, 457, 458, 459, 460, 461,
1437 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1438 472, 473, 0, 162, 0, 0, 0, 474, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1443 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1444 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1445 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1446 0, 764, 0, 0, 105, 106, 0, 0, 0, 107,
1447 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1448 466, 467, 468, 469, 470, 471, 472, 473, 0, 0,
1449 0, 0, 0, 711, 0, 0, 162, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 113, 0, 114, 115, 116,
1454 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1455 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1456 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1457 0, 0, 104, 0, 0, 0, 0, 105, 106, 0,
1458 0, 0, 107, 0, 903, 0, 0, 0, 0, 0,
1459 0, 0, 452, 456, 457, 458, 459, 460, 461, 462,
1460 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1461 473, 0, 0, 0, 0, 0, 711, 0, 0, 0,
1462 0, 0, 103, 0, 0, 0, 108, 109, 110, 111,
1463 112, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1464 0, 107, 0, 0, 0, 0, 0, 0, 113, 0,
1465 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1466 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1467 131, 132, 133, 134, 135, 136, 0, 0, 0, 0,
1468 0, 0, 0, 740, 0, 108, 109, 110, 111, 112,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1471 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1472 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1473 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1474 0, 0, 0, 0, 104, 0, 0, 870, 0, 790,
1475 106, 0, 0, 0, 107, 456, 457, 458, 459, 460,
1476 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1477 471, 472, 473, 0, 0, 0, 0, 0, 711, 0,
1478 0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 108, 109,
1480 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 113, 0, 114, 115, 116, 117, 118, 119, 0, 120,
1483 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1484 129, 130, 131, 132, 133, 134, 135, 136, 103, 0,
1485 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1486 0, 0, 105, 106, 0, 0, 0, 107, 0, 0,
1487 0, 0, 749, 0, 0, 0, 0, 0, 813, 456,
1488 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1489 467, 468, 469, 470, 471, 472, 473, 0, 0, 0,
1490 0, 0, 474, 0, 0, 0, 0, 103, 0, 0,
1491 0, 108, 109, 110, 111, 112, 104, 0, 0, 0,
1492 0, 105, 106, 0, 0, 0, 107, 0, 0, 0,
1493 0, 0, 0, 113, 0, 114, 115, 116, 117, 118,
1494 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1495 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1496 136, 0, 0, 0, 0, 0, 103, 0, 834, 0,
1497 108, 109, 110, 111, 112, 104, 0, 0, 0, 0,
1498 105, 106, 0, 0, 0, 107, 0, 0, 0, 0,
1499 0, 0, 113, 0, 114, 115, 116, 117, 118, 119,
1500 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1501 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1503 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1506 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1507 128, 129, 130, 131, 132, 133, 134, 135, 136, 811,
1508 0, 0, 0, 0, 0, 0, 456, 457, 458, 459,
1509 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1510 470, 471, 472, 473, 0, 0, 0, 710, 0, 711,
1511 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1512 466, 467, 468, 469, 470, 471, 472, 473, 0, 0,
1513 0, 0, 0, 711, 456, 457, 458, 459, 460, 461,
1514 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1515 472, 473, 0, 0, 0, 0, 0, 474, 456, 457,
1516 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
1517 468, 469, 470, 471, 472, 473, 0, 0, 0, 0,
1518 0, 711, 456, 457, 458, 459, 460, 461, 462, 463,
1519 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1520 0, 0, 0, 0, 0, 474, 456, 457, 458, 459,
1521 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1522 470, 471, 472, 473, 0, 0, 0, 0, 0, 711
1523 };
1524
1525 static const short int yycheck[] =
1526 {
1527 10, 22, 33, 87, 183, 15, 182, 183, 33, 0,
1528 16, 17, 18, 15, 33, 102, 91, 190, 421, 91,
1529 34, 397, 424, 477, 421, 396, 310, 424, 377, 378,
1530 80, 151, 701, 477, 367, 427, 27, 726, 409, 159,
1531 90, 726, 726, 394, 755, 15, 759, 310, 761, 26,
1532 137, 49, 0, 140, 29, 61, 62, 63, 33, 26,
1533 26, 29, 10, 24, 29, 33, 33, 29, 33, 189,
1534 17, 18, 44, 21, 80, 359, 24, 25, 31, 27,
1535 125, 365, 433, 36, 94, 91, 92, 93, 25, 0,
1536 10, 776, 94, 806, 100, 36, 26, 27, 35, 784,
1537 784, 21, 32, 64, 3, 25, 9, 6, 11, 442,
1538 32, 10, 87, 12, 44, 33, 34, 65, 451, 87,
1539 6, 454, 87, 9, 94, 87, 124, 32, 839, 34,
1540 4, 5, 6, 484, 32, 9, 4, 5, 6, 808,
1541 36, 9, 119, 406, 31, 65, 31, 157, 22, 31,
1542 35, 36, 34, 30, 22, 157, 32, 826, 36, 190,
1543 35, 167, 23, 110, 111, 112, 113, 114, 115, 880,
1544 36, 455, 182, 183, 31, 32, 31, 34, 184, 35,
1545 36, 850, 871, 6, 7, 8, 871, 157, 35, 36,
1546 474, 475, 17, 18, 31, 908, 33, 34, 883, 33,
1547 34, 31, 150, 33, 34, 36, 891, 891, 156, 33,
1548 34, 33, 34, 23, 606, 904, 32, 33, 672, 904,
1549 33, 34, 6, 677, 17, 18, 38, 311, 672, 32,
1550 150, 33, 34, 677, 32, 310, 156, 31, 310, 32,
1551 31, 910, 92, 93, 32, 35, 32, 4, 5, 6,
1552 7, 8, 9, 10, 11, 631, 36, 40, 634, 31,
1553 17, 37, 31, 383, 615, 22, 6, 618, 49, 32,
1554 26, 26, 29, 34, 40, 100, 101, 102, 103, 104,
1555 105, 106, 107, 108, 359, 636, 34, 359, 34, 660,
1556 365, 32, 22, 365, 32, 39, 32, 64, 37, 64,
1557 350, 477, 31, 40, 310, 40, 31, 100, 101, 102,
1558 103, 104, 105, 106, 107, 108, 92, 93, 94, 95,
1559 96, 32, 98, 99, 24, 728, 40, 84, 85, 86,
1560 87, 728, 31, 666, 91, 32, 669, 670, 32, 34,
1561 92, 93, 94, 95, 96, 716, 98, 99, 33, 33,
1562 33, 25, 31, 359, 35, 35, 33, 33, 364, 365,
1563 711, 712, 33, 64, 34, 37, 123, 34, 34, 32,
1564 35, 396, 40, 32, 34, 726, 109, 33, 409, 33,
1565 455, 25, 35, 455, 409, 32, 31, 33, 31, 420,
1566 409, 422, 33, 424, 770, 32, 772, 773, 33, 474,
1567 475, 97, 474, 475, 33, 35, 25, 756, 757, 34,
1568 31, 33, 763, 33, 24, 32, 34, 423, 33, 32,
1569 92, 93, 94, 95, 96, 828, 98, 99, 34, 34,
1570 32, 828, 438, 784, 448, 97, 33, 32, 25, 615,
1571 25, 33, 35, 34, 34, 33, 452, 478, 479, 455,
1572 33, 630, 32, 34, 630, 33, 858, 633, 809, 25,
1573 811, 858, 795, 796, 748, 749, 33, 477, 474, 475,
1574 33, 874, 848, 32, 825, 477, 33, 874, 33, 27,
1575 809, 3, 157, 677, 6, 672, 477, 884, 10, 40,
1576 12, 13, 14, 15, 16, 17, 672, 158, 604, 24,
1577 178, 677, 633, 802, 637, 448, 21, 380, 761, 912,
1578 168, 33, 19, 904, 386, 912, 420, 775, 883, 870,
1579 871, 921, 822, 735, 921, 4, 5, 6, 7, 8,
1580 9, 10, 11, 909, -1, -1, -1, -1, 17, -1,
1581 891, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1582 29, 30, 31, 904, -1, -1, -1, -1, -1, -1,
1583 733, -1, 41, -1, -1, -1, 4, 5, 6, 7,
1584 8, 9, 10, 11, -1, -1, -1, -1, -1, 17,
1585 -1, -1, -1, -1, 22, -1, -1, 3, 767, -1,
1586 6, 767, 679, 680, 10, -1, 12, 13, 14, 15,
1587 16, 17, -1, -1, 83, 84, 85, 86, 87, 88,
1588 89, -1, 91, -1, -1, -1, -1, -1, 624, -1,
1589 630, -1, -1, 633, -1, -1, 657, -1, -1, -1,
1590 -1, 637, -1, -1, -1, 660, -1, 116, -1, -1,
1591 -1, -1, 121, -1, 123, 676, 84, 85, 86, -1,
1592 -1, 676, 658, -1, -1, -1, -1, 676, -1, -1,
1593 -1, -1, 672, -1, -1, -1, -1, 677, -1, -1,
1594 672, -1, 678, 748, 749, 677, 748, 749, -1, -1,
1595 -1, 672, -1, -1, -1, -1, 677, -1, 707, -1,
1596 -1, 716, -1, -1, -1, -1, -1, -1, -1, 730,
1597 -1, -1, 733, 882, -1, 736, 882, -1, -1, 793,
1598 -1, 732, 4, 5, 6, 7, 8, 9, 10, 11,
1599 -1, -1, -1, -1, -1, 17, -1, -1, -1, 735,
1600 22, -1, -1, -1, -1, -1, -1, 29, -1, -1,
1601 -1, -1, 748, 749, -1, -1, 4, 5, 6, 7,
1602 8, 9, 10, 11, -1, -1, 787, 767, -1, 17,
1603 30, -1, -1, 769, 22, -1, -1, -1, -1, 800,
1604 -1, 29, 803, 804, -1, -1, -1, -1, -1, 37,
1605 -1, -1, -1, -1, -1, -1, -1, 808, 794, -1,
1606 -1, 822, 84, 85, 86, 87, 66, 67, 68, 69,
1607 70, 71, 72, 73, 74, 75, 76, 77, -1, 79,
1608 80, 81, 82, -1, -1, -1, -1, -1, -1, -1,
1609 -1, -1, -1, -1, -1, -1, 84, 85, 86, 87,
1610 31, 123, 863, -1, -1, -1, -1, -1, -1, -1,
1611 871, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1612 51, 52, 53, 54, 55, 56, 57, 58, 59, -1,
1613 -1, -1, -1, 121, 65, -1, -1, -1, -1, -1,
1614 -1, 0, 882, 904, 3, 4, 5, 6, 7, 8,
1615 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1616 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1617 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
1618 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1619 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1620 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1621 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1622 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1623 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1624 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1625 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1626 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1627 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1628 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1629 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1630 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1631 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1632 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1633 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1634 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1635 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1636 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1637 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1638 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1639 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1640 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1641 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1642 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1643 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1644 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1645 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1646 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1647 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1648 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1649 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1650 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1651 -1, -1, 119, -1, 121, 122, 123, 124, 125, 0,
1652 -1, -1, 3, 4, 5, 6, 7, 8, 9, 10,
1653 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1654 21, 22, 23, 24, 25, 26, 27, 28, 29, -1,
1655 31, 32, 33, 34, 35, 36, -1, 38, 39, 40,
1656 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1657 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1658 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1659 71, 72, 73, 74, 75, 76, 77, 78, 79, -1,
1660 81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
1661 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1662 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1663 111, 112, 113, 114, 115, 116, 3, -1, 119, -1,
1664 121, 122, 123, 124, 125, 12, -1, -1, -1, -1,
1665 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1666 27, 28, 29, -1, -1, 32, -1, -1, -1, -1,
1667 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1668 47, 48, 49, 17, -1, -1, -1, -1, 22, -1,
1669 -1, -1, -1, 60, 61, 29, -1, -1, -1, 66,
1670 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1671 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1672 87, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1673 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1674 107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
1675 84, 85, 86, 87, -1, -1, -1, 124, 4, 5,
1676 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1677 -1, 17, -1, -1, -1, -1, 22, -1, -1, 3,
1678 -1, -1, -1, 29, -1, -1, -1, 121, 12, -1,
1679 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1680 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1681 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1682 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1683 -1, -1, -1, -1, -1, -1, 60, 61, 84, 85,
1684 86, 87, 66, 67, 68, 69, 70, -1, -1, -1,
1685 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1686 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1687 94, 95, -1, 97, -1, 121, 100, 101, 102, 103,
1688 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1689 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1690 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1691 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1692 -1, 32, -1, -1, -1, -1, -1, -1, 4, 5,
1693 6, 7, 8, 9, 10, 11, 47, 48, -1, -1,
1694 -1, 17, -1, -1, -1, -1, 22, -1, -1, 60,
1695 61, -1, -1, 29, -1, 66, 67, 68, 69, 70,
1696 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1697 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1698 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1699 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1700 111, 112, 113, 114, 115, 3, -1, 118, 84, 85,
1701 86, 87, -1, -1, 12, -1, -1, -1, -1, 17,
1702 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1703 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1704 -1, 4, 5, 6, 7, 8, 9, 10, 11, 47,
1705 48, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1706 -1, -1, 60, 61, -1, -1, 29, -1, 66, 67,
1707 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1708 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1709 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1710 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1711 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1712 118, 84, 85, 86, 87, -1, -1, 12, -1, -1,
1713 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1714 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1715 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1716 10, 11, 47, 48, -1, -1, -1, 17, -1, -1,
1717 -1, -1, 22, -1, -1, 60, 61, -1, -1, 29,
1718 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1719 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1720 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1721 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1722 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1723 115, 3, -1, 118, 84, 85, 86, 87, -1, -1,
1724 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1725 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1726 32, -1, -1, -1, -1, -1, -1, 4, 5, 6,
1727 7, 8, 9, 10, 11, 47, 48, -1, -1, -1,
1728 17, -1, -1, -1, -1, 22, -1, -1, 60, 61,
1729 -1, -1, 29, -1, 66, 67, 68, 69, 70, -1,
1730 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1731 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1732 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1733 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1734 112, 113, 114, 115, 3, -1, 118, 84, 85, 86,
1735 87, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1736 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1737 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1738 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1740 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1741 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1742 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1743 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1744 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1745 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1746 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1747 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1748 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1749 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1750 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1751 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1752 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1753 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1754 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1755 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1756 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1757 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1758 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1759 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1760 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1761 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1762 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1763 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1764 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1765 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1766 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1767 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1768 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1769 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1770 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1771 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1772 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1773 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1774 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1775 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1776 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1777 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1778 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1779 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1780 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1781 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1782 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1784 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1785 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1786 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1787 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1788 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1789 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1790 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1791 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1792 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1793 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1794 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1795 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1796 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1797 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1798 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1799 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1800 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1801 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1802 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1803 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1804 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1805 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1806 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1807 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1808 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1809 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1810 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1811 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1812 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1813 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1814 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1815 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1816 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1817 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1818 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1819 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1820 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1821 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1822 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1823 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1824 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1825 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1826 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1827 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1829 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1830 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1831 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1832 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1833 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1834 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1835 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1836 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1837 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1838 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1839 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1840 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1841 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1842 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1843 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1844 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1845 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1846 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1847 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1848 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1849 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1850 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1851 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1853 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1854 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1855 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1856 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1857 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1858 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1859 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1860 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1861 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1862 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1863 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1864 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1865 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1866 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1867 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1868 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1869 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1870 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1871 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1872 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1874 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1875 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1876 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1877 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1878 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1879 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1880 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1881 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1882 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1883 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1884 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1886 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1887 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1888 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1889 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1890 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1891 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1892 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1893 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1894 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1895 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1897 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1898 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1899 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1900 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1901 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1902 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1903 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1904 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1905 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1906 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1908 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1909 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1910 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1911 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1912 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1913 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1914 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1915 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1916 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1917 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1918 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1919 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1920 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1921 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1922 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1923 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1924 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1925 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1926 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1927 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1928 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1929 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1930 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1931 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1932 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1933 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1934 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1935 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1936 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1937 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1938 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1939 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1940 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1942 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1943 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1944 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1945 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1946 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1947 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1948 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1949 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1950 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1951 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1952 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1953 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1954 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1955 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1956 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1958 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1959 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1960 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1961 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1962 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1963 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1964 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1966 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1967 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1968 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1969 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1970 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1971 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1972 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1973 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1974 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1975 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1976 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1977 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1978 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1979 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1980 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1981 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1982 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1983 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1984 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1985 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1988 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1989 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1990 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1991 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1992 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1993 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1994 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1995 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1996 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1997 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1998 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1999 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2000 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2001 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2002 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2003 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2004 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2005 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2006 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2007 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2008 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2010 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2011 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2012 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2013 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2014 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2015 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2016 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2017 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2018 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2019 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2021 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2022 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2023 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2024 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2025 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2026 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2027 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2028 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2029 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2030 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2031 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2032 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2034 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2035 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2036 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2037 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2038 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2039 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2040 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2041 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2042 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2044 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2045 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2046 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2047 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2048 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2049 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2050 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2051 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2052 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2053 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2055 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2056 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2057 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2058 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2059 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2060 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2061 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2062 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2063 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2064 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2065 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2067 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2068 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2069 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2070 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2071 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2072 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2073 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2074 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2075 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
2076 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2077 39, 40, -1, 42, 43, 44, 45, 46, 47, 48,
2078 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2079 59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
2080 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
2081 -1, -1, -1, -1, -1, 17, -1, -1, 87, 88,
2082 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
2083 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2084 109, 110, 111, 112, 113, 114, 115, 3, 4, 5,
2085 6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
2086 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
2087 -1, 27, 28, 29, -1, -1, 32, -1, -1, -1,
2088 -1, 83, 84, 85, 86, 87, -1, -1, -1, -1,
2089 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
2090 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
2091 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2092 -1, -1, -1, -1, -1, -1, -1, -1, 84, 85,
2093 86, 87, 88, -1, 90, 91, 92, 93, 94, 95,
2094 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2095 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2096 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2097 -1, -1, -1, -1, 17, 18, 19, 20, 21, 22,
2098 23, -1, 25, 26, 27, 28, -1, -1, -1, 32,
2099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2100 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2101 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2102 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2104 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2105 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2106 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2107 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2108 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2109 -1, -1, 22, 23, -1, 25, -1, 27, 28, -1,
2110 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2111 -1, -1, -1, -1, 44, -1, -1, 47, 48, 49,
2112 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2113 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2114 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2115 -1, -1, -1, -1, -1, -1, -1, -1, 88, 89,
2116 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2117 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2118 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2119 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2120 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
2121 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2122 -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
2123 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2124 -1, -1, -1, 60, 61, -1, -1, 64, -1, 66,
2125 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2127 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2128 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2129 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2130 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2131 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
2132 24, 25, -1, 27, 28, -1, -1, -1, 32, -1,
2133 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2134 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2135 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2136 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2137 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2138 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2139 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2140 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2141 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2142 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2143 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
2144 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2145 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2146 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2147 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2149 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2150 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2151 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2152 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2153 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2154 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
2155 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2156 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2157 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2158 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2159 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2160 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2161 88, 89, 90, 91, 92, 93, 94, 95, -1, 97,
2162 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2163 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2164 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2165 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2166 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2168 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2169 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2170 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2172 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2173 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2174 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2175 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2176 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2177 22, -1, -1, 25, -1, 27, 28, -1, -1, -1,
2178 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2179 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2180 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2181 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2182 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2183 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2184 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2185 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2186 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2187 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2188 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
2189 29, -1, -1, 32, -1, -1, -1, -1, 4, 5,
2190 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
2191 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
2192 26, 27, -1, -1, -1, -1, -1, 66, 67, 68,
2193 69, 70, -1, -1, -1, -1, -1, -1, 44, -1,
2194 -1, -1, -1, -1, -1, -1, -1, -1, 87, 88,
2195 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2196 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2197 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
2198 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2199 -1, 17, 18, -1, -1, 33, 22, -1, -1, -1,
2200 -1, -1, -1, 29, 42, 43, 44, 45, 46, 47,
2201 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2202 58, 59, -1, 49, -1, -1, -1, 65, -1, -1,
2203 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2204 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2205 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2206 -1, 87, 88, -1, 90, 91, 92, 93, 94, 95,
2207 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2208 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2209 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2210 -1, 33, -1, -1, 17, 18, -1, -1, -1, 22,
2211 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2212 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2213 -1, -1, -1, 65, -1, -1, 49, -1, -1, -1,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2215 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2216 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2217 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
2218 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2219 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2220 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2221 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2222 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
2223 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
2224 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2225 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
2226 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
2227 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2228 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
2229 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2230 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2231 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2232 -1, -1, -1, 64, -1, 66, 67, 68, 69, 70,
2233 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2234 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2235 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2236 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2237 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2238 -1, -1, -1, -1, 12, -1, -1, 34, -1, 17,
2239 18, -1, -1, -1, 22, 42, 43, 44, 45, 46,
2240 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2241 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
2242 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2244 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2246 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2247 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2248 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2249 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2250 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2251 -1, -1, 35, -1, -1, -1, -1, -1, 33, 42,
2252 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2253 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
2254 -1, -1, 65, -1, -1, -1, -1, 3, -1, -1,
2255 -1, 66, 67, 68, 69, 70, 12, -1, -1, -1,
2256 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2257 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2258 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2259 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2260 115, -1, -1, -1, -1, -1, 3, -1, 64, -1,
2261 66, 67, 68, 69, 70, 12, -1, -1, -1, -1,
2262 17, 18, -1, -1, -1, 22, -1, -1, -1, -1,
2263 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
2264 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2265 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2266 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2267 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2269 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2270 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2271 107, 108, 109, 110, 111, 112, 113, 114, 115, 35,
2272 -1, -1, -1, -1, -1, -1, 42, 43, 44, 45,
2273 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2274 56, 57, 58, 59, -1, -1, -1, 39, -1, 65,
2275 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2276 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2277 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2278 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2279 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
2280 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2281 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2282 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2283 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2284 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
2285 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2286 56, 57, 58, 59, -1, -1, -1, -1, -1, 65
2287 };
2288
2289 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2290 symbol of state STATE-NUM. */
2291 static const unsigned short int yystos[] =
2292 {
2293 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2294 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2295 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2296 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2297 182, 183, 188, 191, 194, 198, 199, 200, 201, 203,
2298 205, 209, 211, 212, 218, 226, 240, 241, 9, 11,
2299 22, 84, 85, 86, 87, 123, 199, 209, 30, 66,
2300 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2301 77, 79, 80, 81, 82, 151, 152, 153, 154, 156,
2302 157, 158, 84, 85, 121, 171, 173, 200, 201, 209,
2303 218, 227, 228, 3, 12, 17, 18, 22, 66, 67,
2304 68, 69, 70, 88, 90, 91, 92, 93, 94, 95,
2305 97, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2306 109, 110, 111, 112, 113, 114, 115, 143, 259, 271,
2307 143, 143, 229, 3, 6, 10, 12, 246, 248, 26,
2308 123, 199, 241, 44, 279, 280, 22, 83, 198, 199,
2309 0, 148, 49, 143, 176, 210, 235, 236, 237, 238,
2310 177, 4, 5, 6, 9, 22, 184, 6, 181, 187,
2311 125, 189, 32, 32, 36, 36, 143, 143, 143, 199,
2312 34, 192, 0, 3, 4, 5, 6, 7, 8, 9,
2313 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2314 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2315 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2316 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2317 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2318 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2319 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
2320 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2321 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2322 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2323 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
2324 143, 144, 159, 30, 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, 144, 162,
2328 163, 162, 26, 119, 155, 144, 25, 27, 28, 32,
2329 47, 48, 60, 61, 78, 142, 143, 164, 223, 143,
2330 229, 143, 229, 173, 31, 143, 35, 232, 232, 232,
2331 232, 23, 31, 199, 36, 195, 36, 23, 171, 189,
2332 195, 29, 87, 239, 38, 233, 32, 143, 124, 238,
2333 6, 185, 6, 9, 186, 184, 32, 31, 17, 175,
2334 202, 204, 206, 207, 208, 209, 206, 143, 219, 220,
2335 92, 93, 94, 95, 96, 98, 99, 250, 251, 252,
2336 265, 268, 274, 275, 276, 195, 193, 210, 236, 31,
2337 26, 118, 164, 190, 162, 144, 26, 27, 32, 44,
2338 225, 164, 32, 143, 164, 32, 42, 43, 44, 45,
2339 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2340 56, 57, 58, 59, 65, 141, 35, 36, 214, 214,
2341 31, 213, 214, 213, 40, 195, 0, 3, 4, 5,
2342 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2343 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2344 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2345 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2346 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2347 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2348 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2349 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2350 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2351 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2352 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2353 124, 125, 145, 195, 196, 197, 250, 32, 31, 31,
2354 19, 23, 25, 27, 29, 32, 87, 124, 142, 210,
2355 221, 222, 223, 234, 235, 236, 233, 6, 190, 235,
2356 32, 33, 34, 34, 33, 34, 40, 34, 230, 210,
2357 255, 221, 244, 269, 270, 271, 279, 210, 143, 277,
2358 278, 210, 266, 270, 37, 251, 221, 34, 32, 26,
2359 177, 224, 225, 22, 33, 143, 164, 165, 166, 164,
2360 164, 32, 121, 172, 173, 174, 175, 215, 218, 227,
2361 228, 210, 210, 19, 20, 21, 168, 169, 190, 221,
2362 37, 197, 37, 13, 14, 15, 16, 17, 33, 242,
2363 243, 245, 247, 248, 249, 17, 22, 175, 221, 221,
2364 39, 65, 141, 39, 143, 33, 32, 206, 233, 64,
2365 208, 233, 64, 221, 220, 37, 40, 31, 40, 31,
2366 32, 24, 40, 32, 31, 34, 32, 31, 31, 210,
2367 64, 143, 160, 161, 235, 33, 33, 33, 34, 35,
2368 25, 174, 35, 231, 37, 172, 232, 232, 31, 35,
2369 33, 34, 244, 33, 33, 221, 221, 32, 33, 235,
2370 33, 34, 33, 33, 19, 89, 90, 109, 221, 254,
2371 256, 257, 258, 259, 280, 269, 210, 279, 193, 278,
2372 17, 193, 267, 33, 34, 164, 164, 34, 25, 35,
2373 34, 216, 231, 214, 214, 245, 35, 243, 245, 40,
2374 221, 35, 206, 33, 233, 64, 233, 233, 109, 256,
2375 17, 18, 32, 259, 262, 32, 32, 254, 34, 272,
2376 210, 33, 33, 162, 64, 143, 25, 35, 32, 210,
2377 217, 31, 216, 245, 279, 168, 221, 33, 33, 267,
2378 32, 221, 244, 64, 269, 273, 33, 31, 97, 33,
2379 35, 25, 231, 34, 31, 64, 33, 233, 33, 244,
2380 34, 34, 260, 33, 34, 18, 270, 271, 32, 34,
2381 210, 24, 32, 97, 32, 221, 210, 253, 254, 255,
2382 261, 280, 33, 269, 25, 25, 231, 33, 206, 262,
2383 263, 264, 269, 33, 34, 254, 34, 33, 35, 33,
2384 32, 33, 34, 253, 25, 245, 233, 244, 33, 269,
2385 33, 32, 263, 33, 33
2386 };
2387
2388 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2389 static const unsigned short int yyr1[] =
2390 {
2391 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2392 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2393 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2394 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2395 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2396 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2397 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2398 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2399 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2400 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2401 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2402 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2403 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2404 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2405 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2406 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2407 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2408 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2409 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2410 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2411 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2412 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2413 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2414 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2415 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2416 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2417 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2418 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
2419 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2420 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2421 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2422 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2423 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2424 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2425 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2426 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2427 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2428 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2429 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2430 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2431 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2432 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2433 190, 191, 192, 192, 193, 193, 194, 194, 194, 194,
2434 195, 196, 196, 197, 197, 198, 198, 199, 199, 200,
2435 200, 201, 201, 201, 202, 202, 203, 204, 205, 206,
2436 206, 206, 207, 207, 208, 208, 208, 209, 209, 210,
2437 210, 211, 212, 213, 213, 214, 215, 215, 216, 216,
2438 217, 217, 218, 219, 219, 220, 220, 221, 221, 221,
2439 221, 221, 221, 222, 222, 222, 222, 222, 222, 223,
2440 223, 224, 224, 225, 225, 225, 226, 227, 228, 229,
2441 229, 230, 230, 231, 231, 231, 231, 232, 232, 233,
2442 233, 233, 234, 234, 234, 234, 235, 235, 236, 236,
2443 237, 237, 238, 238, 239, 239, 240, 240, 241, 241,
2444 241, 242, 242, 243, 243, 244, 245, 246, 247, 247,
2445 248, 248, 248, 248, 249, 249, 249, 249, 249, 250,
2446 250, 251, 251, 251, 251, 251, 252, 252, 253, 253,
2447 253, 254, 254, 254, 254, 254, 254, 255, 255, 256,
2448 257, 257, 258, 259, 259, 259, 259, 259, 259, 259,
2449 259, 259, 259, 260, 260, 261, 261, 262, 262, 263,
2450 263, 264, 264, 265, 266, 266, 267, 267, 267, 268,
2451 269, 269, 269, 270, 270, 271, 271, 271, 271, 271,
2452 271, 271, 271, 272, 272, 273, 273, 274, 275, 275,
2453 276, 277, 277, 278, 279, 279, 280
2454 };
2455
2456 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2457 static const unsigned char yyr2[] =
2458 {
2459 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2463 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2464 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2467 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2472 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2478 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2479 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2480 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2482 1, 1, 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, 0, 1, 1,
2487 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2488 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2489 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2492 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2493 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2494 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2495 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2496 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2497 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2498 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2499 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2500 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2501 2, 4, 0, 2, 1, 3, 3, 4, 3, 4,
2502 3, 1, 2, 1, 1, 1, 2, 1, 1, 5,
2503 7, 5, 7, 13, 5, 7, 6, 5, 1, 0,
2504 1, 1, 1, 3, 1, 1, 2, 1, 2, 3,
2505 2, 4, 4, 1, 1, 3, 4, 5, 0, 2,
2506 2, 4, 5, 1, 3, 1, 3, 1, 4, 3,
2507 3, 2, 5, 1, 1, 1, 1, 1, 1, 4,
2508 2, 1, 2, 2, 1, 1, 2, 2, 2, 0,
2509 1, 0, 1, 0, 2, 7, 9, 0, 7, 0,
2510 3, 3, 0, 1, 1, 1, 0, 1, 1, 2,
2511 1, 2, 1, 2, 1, 1, 4, 5, 7, 8,
2512 13, 1, 3, 2, 4, 2, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 2, 1, 1, 1, 1, 1, 3, 6, 1, 2,
2515 1, 1, 1, 1, 2, 1, 1, 3, 4, 6,
2516 8, 12, 5, 1, 1, 1, 1, 1, 1, 1,
2517 1, 1, 1, 0, 2, 1, 3, 1, 1, 0,
2518 1, 1, 3, 3, 6, 1, 0, 1, 1, 3,
2519 1, 1, 3, 5, 6, 1, 1, 1, 1, 1,
2520 1, 1, 1, 0, 2, 1, 3, 3, 1, 1,
2521 3, 1, 3, 4, 0, 1, 1
2522 };
2523
2524
2525 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2526 static const unsigned char yydprec[] =
2527 {
2528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2537 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2538 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2544 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2546 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 1, 2, 2, 2, 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, 2, 1, 0, 0, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2565 1, 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 2, 1, 0, 0, 0, 2, 1, 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, 2, 1, 0, 0, 0, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0
2591 };
2592
2593 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2594 static const unsigned char yymerger[] =
2595 {
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 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, 0, 0, 0, 0, 0,
2609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
2659 };
2660
2661 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2662 in the case of predicates. */
2663 static const yybool yyimmediate[] =
2664 {
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2690 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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
2728 };
2729
2730 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2731 list of conflicting reductions corresponding to action entry for
2732 state STATE-NUM in yytable. 0 means no conflicts. The list in
2733 yyconfl is terminated by a rule number of 0. */
2734 static const unsigned short int yyconflp[] =
2735 {
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, 3215, 0,
2742 0, 0, 0, 0, 0, 3217, 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, 9, 0, 0,
2747 0, 11, 0, 0, 0, 3201, 3203, 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, 13, 0,
2751 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 15, 0, 0, 0, 0, 3197,
2754 0, 0, 0, 0, 0, 0, 0, 0, 3199, 0,
2755 0, 0, 0, 0, 3209, 0, 3211, 3213, 0, 0,
2756 0, 3219, 0, 3221, 3223, 0, 0, 0, 0, 0,
2757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2763 0, 0, 0, 3205, 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, 3207, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 3225, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 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, 0, 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, 1, 0, 0, 0, 0,
2809 3, 0, 0, 0, 0, 0, 0, 5, 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, 7, 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, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 159,
2887 0, 0, 0, 0, 0, 0, 0, 0, 161, 0,
2888 0, 0, 0, 163, 165, 0, 0, 0, 167, 0,
2889 0, 169, 171, 173, 175, 0, 0, 0, 177, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 179, 181, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 183, 185, 0, 0,
2893 0, 0, 187, 189, 191, 193, 195, 0, 0, 0,
2894 0, 0, 0, 0, 197, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 199, 0, 201, 203, 205, 207,
2896 209, 211, 0, 213, 0, 0, 215, 217, 219, 221,
2897 223, 225, 227, 229, 231, 233, 235, 237, 239, 241,
2898 243, 245, 247, 0, 0, 0, 0, 0, 0, 0,
2899 0, 249, 0, 0, 0, 0, 251, 253, 0, 0,
2900 0, 255, 0, 0, 257, 259, 261, 263, 0, 0,
2901 0, 265, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 267, 269, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 271,
2904 273, 0, 0, 0, 0, 275, 277, 279, 281, 283,
2905 0, 0, 0, 0, 0, 0, 0, 285, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 287, 0, 289,
2907 291, 293, 295, 297, 299, 0, 301, 0, 0, 303,
2908 305, 307, 309, 311, 313, 315, 317, 319, 321, 323,
2909 325, 327, 329, 331, 333, 335, 0, 0, 0, 0,
2910 0, 0, 0, 0, 337, 0, 0, 0, 0, 339,
2911 341, 0, 0, 0, 343, 0, 0, 345, 347, 349,
2912 351, 0, 0, 0, 353, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 355,
2914 357, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 359, 361, 0, 0, 0, 0, 363, 365,
2916 367, 369, 371, 0, 0, 0, 0, 0, 0, 0,
2917 373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2918 375, 0, 377, 379, 381, 383, 385, 387, 0, 389,
2919 0, 0, 391, 393, 395, 397, 399, 401, 403, 405,
2920 407, 409, 411, 413, 415, 417, 419, 421, 423, 0,
2921 0, 0, 0, 0, 0, 0, 0, 426, 0, 0,
2922 0, 0, 429, 432, 0, 0, 0, 435, 0, 0,
2923 438, 441, 444, 447, 0, 0, 0, 450, 0, 0,
2924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2925 0, 0, 453, 456, 0, 0, 0, 149, 0, 0,
2926 0, 0, 151, 0, 0, 459, 462, 0, 0, 153,
2927 0, 465, 468, 471, 474, 477, 0, 0, 0, 0,
2928 0, 0, 0, 480, 0, 0, 0, 0, 0, 0,
2929 0, 0, 0, 483, 0, 486, 489, 492, 495, 498,
2930 501, 0, 504, 0, 0, 507, 510, 513, 516, 519,
2931 522, 525, 528, 531, 534, 537, 540, 543, 546, 549,
2932 552, 557, 0, 555, 0, 0, 0, 155, 0, 0,
2933 559, 0, 0, 0, 0, 561, 563, 0, 0, 0,
2934 565, 0, 0, 567, 569, 571, 573, 0, 0, 0,
2935 575, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2936 0, 0, 0, 0, 0, 577, 579, 0, 0, 0,
2937 0, 0, 0, 0, 0, 0, 0, 0, 581, 583,
2938 0, 0, 0, 0, 585, 587, 589, 591, 593, 0,
2939 0, 0, 0, 0, 0, 0, 595, 0, 0, 0,
2940 0, 0, 0, 0, 0, 0, 597, 0, 599, 601,
2941 603, 605, 607, 609, 0, 611, 0, 0, 613, 615,
2942 617, 619, 621, 623, 625, 627, 629, 631, 633, 635,
2943 637, 639, 641, 643, 645, 0, 0, 0, 0, 0,
2944 0, 0, 0, 647, 0, 0, 0, 0, 649, 651,
2945 0, 0, 0, 653, 0, 0, 655, 657, 659, 661,
2946 0, 0, 0, 663, 0, 0, 0, 0, 0, 0,
2947 0, 0, 0, 0, 0, 0, 0, 0, 665, 667,
2948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949 0, 669, 671, 0, 0, 0, 0, 673, 675, 677,
2950 679, 681, 0, 0, 0, 0, 0, 0, 0, 683,
2951 0, 0, 0, 0, 0, 0, 0, 0, 0, 685,
2952 0, 687, 689, 691, 693, 695, 697, 0, 699, 0,
2953 0, 701, 703, 705, 707, 709, 711, 713, 715, 717,
2954 719, 721, 723, 725, 727, 729, 731, 733, 0, 0,
2955 0, 0, 0, 0, 0, 0, 735, 0, 0, 0,
2956 0, 737, 739, 0, 0, 0, 741, 0, 0, 743,
2957 745, 747, 749, 0, 0, 0, 751, 0, 0, 0,
2958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2959 0, 753, 755, 0, 0, 0, 0, 0, 0, 0,
2960 0, 0, 0, 0, 757, 759, 0, 0, 0, 0,
2961 761, 763, 765, 767, 769, 0, 0, 0, 0, 0,
2962 0, 0, 771, 0, 0, 0, 0, 0, 0, 0,
2963 0, 0, 773, 0, 775, 777, 779, 781, 783, 785,
2964 0, 787, 0, 0, 789, 791, 793, 795, 797, 799,
2965 801, 803, 805, 807, 809, 811, 813, 815, 817, 819,
2966 821, 0, 0, 0, 0, 0, 0, 0, 0, 823,
2967 0, 0, 0, 0, 825, 827, 0, 0, 0, 829,
2968 0, 0, 831, 833, 835, 837, 0, 0, 0, 839,
2969 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2970 0, 0, 0, 0, 841, 843, 0, 0, 0, 0,
2971 0, 0, 0, 0, 0, 0, 0, 845, 847, 0,
2972 0, 0, 0, 849, 851, 853, 855, 857, 0, 0,
2973 0, 0, 0, 0, 0, 859, 0, 0, 0, 0,
2974 0, 0, 0, 0, 0, 861, 0, 863, 865, 867,
2975 869, 871, 873, 0, 875, 0, 0, 877, 879, 881,
2976 883, 885, 887, 889, 891, 893, 895, 897, 899, 901,
2977 903, 905, 907, 909, 0, 0, 0, 0, 0, 0,
2978 0, 0, 911, 0, 0, 0, 0, 913, 915, 0,
2979 0, 0, 917, 0, 0, 919, 921, 923, 925, 0,
2980 0, 0, 927, 0, 0, 0, 0, 0, 0, 0,
2981 0, 0, 0, 0, 0, 0, 0, 929, 931, 0,
2982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2983 933, 935, 0, 0, 0, 0, 937, 939, 941, 943,
2984 945, 0, 0, 0, 0, 0, 0, 0, 947, 0,
2985 0, 0, 0, 0, 0, 0, 0, 0, 949, 0,
2986 951, 953, 955, 957, 959, 961, 0, 963, 0, 0,
2987 965, 967, 969, 971, 973, 975, 977, 979, 981, 983,
2988 985, 987, 989, 991, 993, 995, 997, 0, 0, 0,
2989 0, 0, 0, 0, 0, 999, 0, 0, 0, 0,
2990 1001, 1003, 0, 0, 0, 1005, 0, 0, 1007, 1009,
2991 1011, 1013, 0, 0, 0, 1015, 0, 0, 0, 0,
2992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2993 1017, 1019, 0, 0, 0, 0, 0, 0, 0, 0,
2994 0, 0, 0, 1021, 1023, 0, 0, 0, 0, 1025,
2995 1027, 1029, 1031, 1033, 0, 0, 0, 0, 0, 0,
2996 0, 1035, 0, 0, 0, 0, 0, 0, 0, 0,
2997 0, 1037, 0, 1039, 1041, 1043, 1045, 1047, 1049, 0,
2998 1051, 0, 0, 1053, 1055, 1057, 1059, 1061, 1063, 1065,
2999 1067, 1069, 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085,
3000 0, 0, 0, 0, 0, 0, 0, 0, 1087, 0,
3001 0, 0, 0, 1089, 1091, 0, 0, 0, 1093, 0,
3002 0, 1095, 1097, 1099, 1101, 0, 0, 0, 1103, 0,
3003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3004 0, 0, 0, 1105, 1107, 0, 0, 0, 0, 0,
3005 0, 0, 0, 0, 0, 0, 1109, 1111, 0, 0,
3006 0, 0, 1113, 1115, 1117, 1119, 1121, 0, 0, 0,
3007 0, 0, 0, 0, 1123, 0, 0, 0, 0, 0,
3008 0, 0, 0, 0, 1125, 0, 1127, 1129, 1131, 1133,
3009 1135, 1137, 0, 1139, 0, 0, 1141, 1143, 1145, 1147,
3010 1149, 1151, 1153, 1155, 1157, 1159, 1161, 1163, 1165, 1167,
3011 1169, 1171, 1173, 0, 0, 0, 0, 0, 0, 0,
3012 0, 1175, 0, 0, 0, 0, 1177, 1179, 0, 0,
3013 0, 1181, 0, 0, 1183, 1185, 1187, 1189, 0, 0,
3014 0, 1191, 0, 0, 0, 0, 0, 0, 0, 0,
3015 0, 0, 0, 0, 0, 0, 1193, 1195, 0, 0,
3016 0, 0, 0, 0, 0, 0, 0, 0, 0, 1197,
3017 1199, 0, 0, 0, 0, 1201, 1203, 1205, 1207, 1209,
3018 0, 0, 0, 0, 0, 0, 0, 1211, 0, 0,
3019 0, 0, 0, 0, 0, 0, 0, 1213, 0, 1215,
3020 1217, 1219, 1221, 1223, 1225, 0, 1227, 0, 0, 1229,
3021 1231, 1233, 1235, 1237, 1239, 1241, 1243, 1245, 1247, 1249,
3022 1251, 1253, 1255, 1257, 1259, 1261, 0, 0, 0, 0,
3023 0, 0, 0, 0, 1263, 0, 0, 0, 0, 1265,
3024 1267, 0, 0, 0, 1269, 0, 0, 1271, 1273, 1275,
3025 1277, 0, 0, 0, 1279, 0, 0, 0, 0, 0,
3026 0, 0, 0, 0, 0, 0, 0, 0, 0, 1281,
3027 1283, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3028 0, 0, 1285, 1287, 0, 0, 0, 0, 1289, 1291,
3029 1293, 1295, 1297, 0, 0, 0, 0, 0, 0, 0,
3030 1299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031 1301, 0, 1303, 1305, 1307, 1309, 1311, 1313, 0, 1315,
3032 0, 0, 1317, 1319, 1321, 1323, 1325, 1327, 1329, 1331,
3033 1333, 1335, 1337, 1339, 1341, 1343, 1345, 1347, 1349, 0,
3034 0, 0, 0, 0, 0, 0, 0, 1351, 0, 0,
3035 0, 0, 1353, 1355, 0, 0, 0, 1357, 0, 0,
3036 1359, 1361, 1363, 1365, 0, 0, 0, 1367, 0, 0,
3037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038 0, 0, 1369, 1371, 0, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 0, 1373, 1375, 0, 0, 0,
3040 0, 1377, 1379, 1381, 1383, 1385, 0, 0, 0, 0,
3041 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0,
3042 0, 0, 0, 1389, 0, 1391, 1393, 1395, 1397, 1399,
3043 1401, 0, 1403, 0, 0, 1405, 1407, 1409, 1411, 1413,
3044 1415, 1417, 1419, 1421, 1423, 1425, 1427, 1429, 1431, 1433,
3045 1435, 1437, 0, 0, 0, 0, 0, 0, 0, 0,
3046 1439, 0, 0, 0, 0, 1441, 1443, 0, 0, 0,
3047 1445, 0, 0, 1447, 1449, 1451, 1453, 0, 0, 0,
3048 1455, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3049 0, 0, 0, 0, 0, 1457, 1459, 0, 0, 0,
3050 0, 0, 0, 0, 0, 0, 0, 0, 1461, 1463,
3051 0, 0, 0, 0, 1465, 1467, 1469, 1471, 1473, 0,
3052 0, 0, 0, 0, 0, 0, 1475, 0, 0, 0,
3053 0, 0, 0, 0, 0, 0, 1477, 0, 1479, 1481,
3054 1483, 1485, 1487, 1489, 0, 1491, 0, 0, 1493, 1495,
3055 1497, 1499, 1501, 1503, 1505, 1507, 1509, 1511, 1513, 1515,
3056 1517, 1519, 1521, 1523, 1525, 0, 0, 0, 0, 0,
3057 0, 0, 0, 1527, 0, 0, 0, 0, 1529, 1531,
3058 0, 0, 0, 1533, 0, 0, 1535, 1537, 1539, 1541,
3059 0, 0, 0, 1543, 0, 0, 0, 0, 0, 0,
3060 0, 0, 0, 0, 0, 0, 0, 0, 1545, 1547,
3061 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3062 0, 1549, 1551, 0, 0, 0, 0, 1553, 1555, 1557,
3063 1559, 1561, 0, 0, 0, 0, 0, 0, 0, 1563,
3064 0, 0, 0, 0, 0, 0, 0, 0, 0, 1565,
3065 0, 1567, 1569, 1571, 1573, 1575, 1577, 0, 1579, 0,
3066 0, 1581, 1583, 1585, 1587, 1589, 1591, 1593, 1595, 1597,
3067 1599, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 0, 0,
3068 0, 0, 0, 0, 0, 0, 1615, 0, 0, 0,
3069 0, 1617, 1619, 0, 0, 0, 1621, 0, 0, 1623,
3070 1625, 1627, 1629, 0, 0, 0, 1631, 0, 0, 0,
3071 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3072 0, 1633, 1635, 0, 0, 0, 0, 0, 0, 0,
3073 0, 0, 0, 0, 1637, 1639, 0, 0, 0, 0,
3074 1641, 1643, 1645, 1647, 1649, 0, 0, 0, 0, 0,
3075 0, 0, 1651, 0, 0, 0, 0, 0, 0, 0,
3076 0, 0, 1653, 0, 1655, 1657, 1659, 1661, 1663, 1665,
3077 0, 1667, 0, 0, 1669, 1671, 1673, 1675, 1677, 1679,
3078 1681, 1683, 1685, 1687, 1689, 1691, 1693, 1695, 1697, 1699,
3079 1701, 0, 0, 0, 0, 0, 0, 0, 0, 1703,
3080 0, 0, 0, 0, 1705, 1707, 0, 0, 0, 1709,
3081 0, 0, 1711, 1713, 1715, 1717, 0, 0, 0, 1719,
3082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 0, 0, 0, 0, 1721, 1723, 0, 0, 0, 0,
3084 0, 0, 0, 0, 0, 0, 0, 1725, 1727, 0,
3085 0, 0, 0, 1729, 1731, 1733, 1735, 1737, 0, 0,
3086 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0,
3087 0, 0, 0, 0, 0, 1741, 0, 1743, 1745, 1747,
3088 1749, 1751, 1753, 0, 1755, 0, 0, 1757, 1759, 1761,
3089 1763, 1765, 1767, 1769, 1771, 1773, 1775, 1777, 1779, 1781,
3090 1783, 1785, 1787, 1789, 0, 0, 0, 0, 0, 0,
3091 0, 0, 1791, 0, 0, 0, 0, 1793, 1795, 0,
3092 0, 0, 1797, 0, 0, 1799, 1801, 1803, 1805, 0,
3093 0, 0, 1807, 0, 0, 0, 0, 0, 0, 0,
3094 0, 0, 0, 0, 0, 0, 0, 1809, 1811, 0,
3095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3096 1813, 1815, 0, 0, 0, 0, 1817, 1819, 1821, 1823,
3097 1825, 0, 0, 0, 0, 0, 0, 0, 1827, 0,
3098 0, 0, 0, 0, 0, 0, 0, 0, 1829, 0,
3099 1831, 1833, 1835, 1837, 1839, 1841, 0, 1843, 0, 0,
3100 1845, 1847, 1849, 1851, 1853, 1855, 1857, 1859, 1861, 1863,
3101 1865, 1867, 1869, 1871, 1873, 1875, 1877, 0, 0, 0,
3102 0, 0, 0, 0, 0, 1879, 0, 0, 0, 0,
3103 1881, 1883, 0, 0, 0, 1885, 0, 0, 1887, 1889,
3104 1891, 1893, 0, 0, 0, 1895, 0, 0, 0, 0,
3105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3106 1897, 1899, 0, 0, 0, 0, 0, 0, 0, 0,
3107 0, 0, 0, 1901, 1903, 0, 0, 0, 0, 1905,
3108 1907, 1909, 1911, 1913, 0, 0, 0, 0, 0, 0,
3109 0, 1915, 0, 0, 0, 0, 0, 0, 0, 0,
3110 0, 1917, 0, 1919, 1921, 1923, 1925, 1927, 1929, 0,
3111 1931, 0, 0, 1933, 1935, 1937, 1939, 1941, 1943, 1945,
3112 1947, 1949, 1951, 1953, 1955, 1957, 1959, 1961, 1963, 1965,
3113 0, 0, 0, 0, 0, 0, 0, 0, 1967, 0,
3114 0, 0, 0, 1969, 1971, 0, 0, 0, 1973, 0,
3115 0, 1975, 1977, 1979, 1981, 0, 0, 0, 1983, 0,
3116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3117 0, 0, 0, 1985, 1987, 0, 0, 0, 0, 0,
3118 0, 0, 0, 0, 0, 0, 1989, 1991, 0, 0,
3119 0, 0, 1993, 1995, 1997, 1999, 2001, 0, 0, 0,
3120 0, 0, 0, 0, 2003, 0, 0, 0, 0, 0,
3121 0, 0, 0, 0, 2005, 0, 2007, 2009, 2011, 2013,
3122 2015, 2017, 0, 2019, 0, 0, 2021, 2023, 2025, 2027,
3123 2029, 2031, 2033, 2035, 2037, 2039, 2041, 2043, 2045, 2047,
3124 2049, 2051, 2053, 0, 0, 0, 0, 0, 0, 0,
3125 0, 2055, 0, 0, 0, 0, 2057, 2059, 0, 0,
3126 0, 2061, 0, 0, 2063, 2065, 2067, 2069, 0, 0,
3127 0, 2071, 0, 0, 0, 0, 0, 0, 0, 0,
3128 0, 0, 0, 0, 0, 0, 2073, 2075, 0, 0,
3129 0, 0, 0, 0, 0, 0, 0, 0, 0, 2077,
3130 2079, 0, 0, 0, 0, 2081, 2083, 2085, 2087, 2089,
3131 0, 0, 0, 0, 0, 0, 0, 2091, 0, 0,
3132 0, 0, 0, 0, 0, 0, 0, 2093, 0, 2095,
3133 2097, 2099, 2101, 2103, 2105, 0, 2107, 0, 0, 2109,
3134 2111, 2113, 2115, 2117, 2119, 2121, 2123, 2125, 2127, 2129,
3135 2131, 2133, 2135, 2137, 2139, 2141, 0, 0, 0, 0,
3136 0, 0, 0, 0, 2143, 0, 0, 0, 0, 2145,
3137 2147, 0, 0, 0, 2149, 0, 0, 2151, 2153, 2155,
3138 2157, 0, 0, 0, 2159, 0, 0, 0, 0, 0,
3139 0, 0, 0, 0, 0, 0, 0, 0, 0, 2161,
3140 2163, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3141 0, 0, 2165, 2167, 0, 0, 0, 0, 2169, 2171,
3142 2173, 2175, 2177, 0, 0, 0, 0, 0, 0, 0,
3143 2179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3144 2181, 0, 2183, 2185, 2187, 2189, 2191, 2193, 0, 2195,
3145 0, 0, 2197, 2199, 2201, 2203, 2205, 2207, 2209, 2211,
3146 2213, 2215, 2217, 2219, 2221, 2223, 2225, 2227, 2229, 0,
3147 0, 0, 0, 0, 0, 0, 0, 2231, 0, 0,
3148 0, 0, 2233, 2235, 0, 0, 0, 2237, 0, 0,
3149 2239, 2241, 2243, 2245, 0, 0, 0, 2247, 0, 0,
3150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3151 0, 0, 2249, 2251, 0, 0, 0, 0, 0, 0,
3152 0, 0, 0, 0, 0, 2253, 2255, 0, 0, 0,
3153 0, 2257, 2259, 2261, 2263, 2265, 0, 0, 0, 0,
3154 0, 0, 0, 2267, 0, 0, 0, 0, 0, 0,
3155 0, 0, 0, 2269, 0, 2271, 2273, 2275, 2277, 2279,
3156 2281, 0, 2283, 0, 0, 2285, 2287, 2289, 2291, 2293,
3157 2295, 2297, 2299, 2301, 2303, 2305, 2307, 2309, 2311, 2313,
3158 2315, 2317, 0, 0, 0, 0, 0, 0, 0, 0,
3159 2319, 0, 0, 0, 0, 2321, 2323, 0, 0, 0,
3160 2325, 0, 0, 2327, 2329, 2331, 2333, 0, 0, 0,
3161 2335, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3162 0, 0, 0, 0, 0, 2337, 2339, 0, 0, 0,
3163 0, 0, 0, 0, 0, 0, 0, 0, 2341, 2343,
3164 0, 0, 0, 0, 2345, 2347, 2349, 2351, 2353, 0,
3165 0, 0, 0, 0, 0, 0, 2355, 0, 0, 0,
3166 0, 0, 0, 0, 0, 0, 2357, 0, 2359, 2361,
3167 2363, 2365, 2367, 2369, 0, 2371, 0, 0, 2373, 2375,
3168 2377, 2379, 2381, 2383, 2385, 2387, 2389, 2391, 2393, 2395,
3169 2397, 2399, 2401, 2403, 2405, 0, 0, 0, 0, 0,
3170 0, 0, 0, 2407, 0, 0, 0, 0, 2409, 2411,
3171 0, 0, 0, 2413, 0, 0, 2415, 2417, 2419, 2421,
3172 0, 0, 0, 2423, 0, 0, 0, 0, 0, 0,
3173 0, 0, 0, 0, 0, 0, 0, 0, 2425, 2427,
3174 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3175 0, 2429, 2431, 0, 0, 0, 0, 2433, 2435, 2437,
3176 2439, 2441, 0, 0, 0, 0, 0, 0, 0, 2443,
3177 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445,
3178 0, 2447, 2449, 2451, 2453, 2455, 2457, 0, 2459, 0,
3179 0, 2461, 2463, 2465, 2467, 2469, 2471, 2473, 2475, 2477,
3180 2479, 2481, 2483, 2485, 2487, 2489, 2491, 2493, 0, 0,
3181 0, 0, 0, 0, 0, 0, 2495, 0, 0, 0,
3182 0, 2497, 2499, 0, 0, 0, 2501, 0, 0, 2503,
3183 2505, 2507, 2509, 0, 0, 0, 2511, 0, 0, 0,
3184 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3185 0, 2513, 2515, 0, 0, 0, 0, 0, 0, 0,
3186 0, 0, 0, 0, 2517, 2519, 0, 0, 0, 0,
3187 2521, 2523, 2525, 2527, 2529, 0, 0, 0, 0, 0,
3188 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0,
3189 0, 0, 2533, 0, 2535, 2537, 2539, 2541, 2543, 2545,
3190 0, 2547, 0, 0, 2549, 2551, 2553, 2555, 2557, 2559,
3191 2561, 2563, 2565, 2567, 2569, 2571, 2573, 2575, 2577, 2579,
3192 2581, 0, 0, 0, 0, 0, 0, 0, 0, 2583,
3193 0, 0, 0, 0, 2585, 2587, 0, 0, 0, 2589,
3194 0, 0, 2591, 2593, 2595, 2597, 0, 0, 0, 2599,
3195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3196 0, 0, 0, 0, 2601, 2603, 0, 0, 0, 0,
3197 0, 0, 0, 0, 0, 0, 0, 2605, 2607, 0,
3198 0, 0, 0, 2609, 2611, 2613, 2615, 2617, 0, 0,
3199 0, 0, 0, 0, 0, 2619, 0, 0, 0, 0,
3200 0, 0, 0, 0, 0, 2621, 0, 2623, 2625, 2627,
3201 2629, 2631, 2633, 0, 2635, 0, 0, 2637, 2639, 2641,
3202 2643, 2645, 2647, 2649, 2651, 2653, 2655, 2657, 2659, 2661,
3203 2663, 2665, 2667, 2669, 0, 0, 0, 0, 0, 0,
3204 0, 0, 2671, 0, 0, 0, 0, 2673, 2675, 0,
3205 0, 0, 2677, 0, 0, 2679, 2681, 2683, 2685, 0,
3206 0, 0, 2687, 0, 0, 0, 0, 0, 0, 0,
3207 0, 0, 0, 0, 0, 0, 0, 2689, 2691, 0,
3208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3209 2693, 2695, 0, 0, 0, 0, 2697, 2699, 2701, 2703,
3210 2705, 0, 0, 0, 0, 0, 0, 0, 2707, 0,
3211 0, 0, 0, 0, 0, 0, 0, 0, 2709, 0,
3212 2711, 2713, 2715, 2717, 2719, 2721, 0, 2723, 0, 0,
3213 2725, 2727, 2729, 2731, 2733, 2735, 2737, 2739, 2741, 2743,
3214 2745, 2747, 2749, 2751, 2753, 2755, 2757, 0, 0, 0,
3215 0, 0, 0, 0, 0, 2759, 0, 0, 0, 0,
3216 2761, 2763, 0, 0, 0, 2765, 0, 0, 2767, 2769,
3217 2771, 2773, 0, 0, 0, 2775, 0, 0, 0, 0,
3218 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3219 2777, 2779, 0, 0, 0, 0, 0, 0, 0, 0,
3220 0, 0, 0, 2781, 2783, 0, 0, 0, 0, 2785,
3221 2787, 2789, 2791, 2793, 0, 0, 0, 0, 0, 0,
3222 0, 2795, 0, 0, 0, 0, 0, 0, 0, 0,
3223 0, 2797, 0, 2799, 2801, 2803, 2805, 2807, 2809, 0,
3224 2811, 0, 0, 2813, 2815, 2817, 2819, 2821, 2823, 2825,
3225 2827, 2829, 2831, 2833, 2835, 2837, 2839, 2841, 2843, 2845,
3226 0, 0, 0, 0, 0, 0, 0, 0, 2847, 0,
3227 0, 0, 0, 2849, 2851, 0, 0, 0, 2853, 0,
3228 0, 2855, 2857, 2859, 2861, 0, 0, 0, 2863, 0,
3229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3230 0, 0, 0, 2865, 2867, 0, 0, 0, 0, 0,
3231 0, 0, 0, 0, 0, 0, 2869, 2871, 0, 0,
3232 0, 0, 2873, 2875, 2877, 2879, 2881, 0, 0, 0,
3233 0, 0, 0, 0, 2883, 0, 0, 0, 0, 0,
3234 0, 0, 0, 0, 2885, 0, 2887, 2889, 2891, 2893,
3235 2895, 2897, 0, 2899, 0, 0, 2901, 2903, 2905, 2907,
3236 2909, 2911, 2913, 2915, 2917, 2919, 2921, 2923, 2925, 2927,
3237 2929, 2931, 2933, 0, 0, 0, 0, 0, 0, 0,
3238 0, 2935, 0, 0, 0, 0, 2937, 2939, 0, 0,
3239 0, 2941, 0, 0, 2943, 2945, 2947, 2949, 0, 0,
3240 0, 2951, 0, 0, 0, 0, 0, 0, 0, 0,
3241 0, 0, 0, 0, 0, 0, 2953, 2955, 0, 0,
3242 0, 0, 0, 0, 0, 0, 0, 0, 0, 2957,
3243 2959, 0, 0, 0, 0, 2961, 2963, 2965, 2967, 2969,
3244 0, 0, 0, 0, 0, 0, 0, 2971, 0, 0,
3245 0, 0, 0, 0, 0, 0, 0, 2973, 0, 2975,
3246 2977, 2979, 2981, 2983, 2985, 0, 2987, 0, 0, 2989,
3247 2991, 2993, 2995, 2997, 2999, 3001, 3003, 3005, 3007, 3009,
3248 3011, 3013, 3015, 3017, 3019, 3021, 0, 0, 0, 0,
3249 0, 0, 0, 0, 3023, 0, 0, 0, 0, 3025,
3250 3027, 0, 0, 0, 3029, 0, 0, 3031, 3033, 3035,
3251 3037, 0, 0, 0, 3039, 0, 0, 0, 0, 0,
3252 0, 0, 0, 0, 0, 0, 0, 0, 0, 3041,
3253 3043, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3254 0, 0, 3045, 3047, 0, 0, 0, 0, 3049, 3051,
3255 3053, 3055, 3057, 0, 0, 0, 0, 0, 0, 0,
3256 3059, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3257 3061, 0, 3063, 3065, 3067, 3069, 3071, 3073, 0, 3075,
3258 0, 0, 3077, 3079, 3081, 3083, 3085, 3087, 3089, 3091,
3259 3093, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109, 0,
3260 0, 0, 0, 0, 0, 0, 0, 3111, 0, 0,
3261 0, 0, 3113, 3115, 0, 0, 0, 3117, 0, 0,
3262 3119, 3121, 3123, 3125, 0, 0, 0, 3127, 0, 0,
3263 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3264 0, 0, 3129, 3131, 0, 0, 0, 0, 0, 0,
3265 0, 0, 0, 0, 0, 3133, 3135, 0, 0, 0,
3266 0, 3137, 3139, 3141, 3143, 3145, 0, 0, 0, 0,
3267 0, 0, 0, 3147, 0, 0, 0, 0, 0, 0,
3268 0, 0, 0, 3149, 0, 3151, 3153, 3155, 3157, 3159,
3269 3161, 0, 3163, 0, 0, 3165, 3167, 3169, 3171, 3173,
3270 3175, 3177, 3179, 3181, 3183, 3185, 3187, 3189, 3191, 3193,
3271 3195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3275 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3277 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3278 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3280 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3281 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3282 0, 0, 0, 0, 17, 0, 0, 0, 0, 0,
3283 0, 0, 0, 19, 0, 0, 0, 0, 21, 23,
3284 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
3285 27, 29, 31, 33, 35, 37, 39, 41, 43, 45,
3286 47, 49, 0, 51, 53, 55, 57, 59, 61, 63,
3287 65, 67, 69, 71, 73, 75, 77, 79, 81, 83,
3288 85, 0, 0, 0, 0, 0, 87, 89, 91, 93,
3289 95, 97, 0, 0, 0, 0, 0, 0, 0, 0,
3290 0, 0, 0, 0, 0, 0, 0, 0, 99, 101,
3291 0, 103, 105, 107, 109, 111, 113, 0, 115, 0,
3292 0, 117, 119, 121, 123, 125, 127, 129, 131, 133,
3293 135, 137, 139, 141, 143, 145, 147, 0, 0, 0,
3294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295 0, 0, 0, 0, 0, 0, 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, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3315 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3316 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3317 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3318 0, 0, 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, 3227, 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, 3229
3496 };
3497
3498 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3499 0, pointed into by YYCONFLP. */
3500 static const short int yyconfl[] =
3501 {
3502 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3503 0, 377, 0, 400, 0, 457, 0, 611, 0, 611,
3504 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3505 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3506 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3507 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3508 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3509 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3510 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3511 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3512 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3513 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3514 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3515 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3516 0, 611, 0, 611, 0, 611, 0, 611, 0, 386,
3517 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3518 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3519 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3520 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3521 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3522 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3523 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3524 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3525 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3526 0, 43, 0, 43, 0, 43, 0, 52, 0, 52,
3527 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3528 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3529 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3530 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3531 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3532 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3533 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3534 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3535 0, 52, 0, 52, 0, 612, 0, 612, 0, 612,
3536 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3537 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3538 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3539 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3540 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3541 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3542 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3543 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3544 0, 612, 0, 573, 611, 0, 573, 611, 0, 573,
3545 611, 0, 573, 611, 0, 573, 611, 0, 573, 611,
3546 0, 573, 611, 0, 573, 611, 0, 573, 611, 0,
3547 573, 611, 0, 573, 611, 0, 573, 611, 0, 573,
3548 611, 0, 573, 611, 0, 573, 611, 0, 573, 611,
3549 0, 573, 611, 0, 573, 611, 0, 573, 611, 0,
3550 573, 611, 0, 573, 611, 0, 573, 611, 0, 573,
3551 611, 0, 573, 611, 0, 573, 611, 0, 573, 611,
3552 0, 573, 611, 0, 573, 611, 0, 573, 611, 0,
3553 573, 611, 0, 573, 611, 0, 573, 611, 0, 573,
3554 611, 0, 573, 611, 0, 573, 611, 0, 573, 611,
3555 0, 573, 611, 0, 573, 611, 0, 573, 611, 0,
3556 573, 611, 0, 573, 611, 0, 573, 611, 0, 573,
3557 611, 0, 573, 611, 0, 611, 0, 62, 0, 62,
3558 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3559 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3560 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3561 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3562 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3563 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3564 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3565 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3566 0, 62, 0, 62, 0, 106, 0, 106, 0, 106,
3567 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3568 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3569 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3570 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3571 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3572 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3573 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3574 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3575 0, 106, 0, 107, 0, 107, 0, 107, 0, 107,
3576 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3577 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3578 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3579 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3580 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3581 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3582 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3583 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3584 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3585 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3586 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3587 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3588 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3589 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3590 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3591 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3592 0, 105, 0, 105, 0, 105, 0, 105, 0, 103,
3593 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3594 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3595 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3596 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3597 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3598 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3599 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3600 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3601 0, 103, 0, 103, 0, 103, 0, 104, 0, 104,
3602 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3603 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3604 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3605 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3606 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3607 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3608 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3609 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3610 0, 104, 0, 104, 0, 124, 0, 124, 0, 124,
3611 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3612 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3613 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3614 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3615 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3616 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3617 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3618 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3619 0, 124, 0, 126, 0, 126, 0, 126, 0, 126,
3620 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3621 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3622 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3623 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3624 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3625 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3626 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3627 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3628 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3629 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3630 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3631 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3632 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3633 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3634 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3635 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3636 0, 127, 0, 127, 0, 127, 0, 127, 0, 128,
3637 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3638 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3639 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3640 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3641 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3642 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3643 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3644 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3645 0, 128, 0, 128, 0, 128, 0, 129, 0, 129,
3646 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3647 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3648 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3649 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3650 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3651 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3652 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3653 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3654 0, 129, 0, 129, 0, 130, 0, 130, 0, 130,
3655 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3656 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3657 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3658 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3659 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3660 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3661 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3662 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3663 0, 130, 0, 131, 0, 131, 0, 131, 0, 131,
3664 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3665 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3666 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3667 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3668 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3669 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3670 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3671 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3672 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3673 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3674 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3675 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3676 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3677 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3678 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3679 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3680 0, 160, 0, 160, 0, 160, 0, 160, 0, 581,
3681 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3682 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3683 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3684 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3685 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3686 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3687 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3688 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3689 0, 581, 0, 581, 0, 581, 0, 580, 0, 580,
3690 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3691 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3692 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3693 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3694 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3695 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3696 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3697 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3698 0, 580, 0, 580, 0, 578, 0, 578, 0, 578,
3699 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3700 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3701 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3702 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3703 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3704 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3705 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3706 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3707 0, 578, 0, 576, 0, 576, 0, 576, 0, 576,
3708 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3709 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3710 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3711 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3712 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3713 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3714 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3715 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3716 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3717 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3718 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3719 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3720 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3721 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3722 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3723 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3724 0, 577, 0, 577, 0, 577, 0, 577, 0, 579,
3725 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3726 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3727 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3728 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3729 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3730 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3731 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3732 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3733 0, 579, 0, 579, 0, 579, 0, 575, 0, 575,
3734 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3735 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3736 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3737 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3738 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3739 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3740 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3741 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3742 0, 575, 0, 575, 0, 574, 0, 574, 0, 574,
3743 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3744 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3745 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3746 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3747 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3748 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3749 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3750 0, 574, 0, 574, 0, 574, 0, 574, 0, 574,
3751 0, 574, 0, 582, 0, 582, 0, 582, 0, 582,
3752 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3753 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3754 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3755 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3756 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3757 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3758 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3759 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3760 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3761 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3762 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3763 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3764 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3765 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3766 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3767 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3768 0, 144, 0, 144, 0, 144, 0, 144, 0, 610,
3769 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3770 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3771 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3772 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3773 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3774 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3775 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3776 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3777 0, 610, 0, 610, 0, 610, 0, 608, 0, 608,
3778 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3779 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3780 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3781 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3782 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3783 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3784 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3785 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3786 0, 608, 0, 608, 0, 607, 0, 607, 0, 607,
3787 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3788 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3789 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3790 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3791 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3792 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3793 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3794 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3795 0, 607, 0, 609, 0, 609, 0, 609, 0, 609,
3796 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3797 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3798 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3799 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3800 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3801 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3802 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3803 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3804 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3805 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3806 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3807 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3808 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3809 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3810 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3811 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3812 0, 606, 0, 606, 0, 606, 0, 606, 0, 605,
3813 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3814 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3815 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3816 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3817 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3818 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3819 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3820 0, 605, 0, 605, 0, 605, 0, 605, 0, 605,
3821 0, 605, 0, 605, 0, 605, 0, 500, 0, 500,
3822 0, 450, 0, 450, 0, 451, 0, 42, 0, 486,
3823 0, 486, 0, 486, 0, 612, 0, 386, 0, 561,
3824 0, 561, 0, 561, 0, 612, 0, 339, 0, 482,
3825 0
3826 };
3827
3828 /* Error token number */
3829 #define YYTERROR 1
3830
3831
3832
3833
3834 #undef yynerrs
3835 #define yynerrs (yystackp->yyerrcnt)
3836 #undef yychar
3837 #define yychar (yystackp->yyrawchar)
3838 #undef yylval
3839 #define yylval (yystackp->yyval)
3840 #undef yylloc
3841 #define yylloc (yystackp->yyloc)
3842 #define psi_parser_proc_nerrs yynerrs
3843 #define psi_parser_proc_char yychar
3844 #define psi_parser_proc_lval yylval
3845 #define psi_parser_proc_lloc yylloc
3846
3847 static const int YYEOF = 0;
3848 static const int YYEMPTY = -2;
3849
3850 typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
3851
3852 #define YYCHK(YYE) \
3853 do { \
3854 YYRESULTTAG yychk_flag = YYE; \
3855 if (yychk_flag != yyok) \
3856 return yychk_flag; \
3857 } while (0)
3858
3859 #if YYDEBUG
3860
3861 # ifndef YYFPRINTF
3862 # define YYFPRINTF fprintf
3863 # endif
3864
3865 /* This macro is provided for backward compatibility. */
3866 #ifndef YY_LOCATION_PRINT
3867 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3868 #endif
3869
3870
3871 # define YYDPRINTF(Args) \
3872 do { \
3873 if (yydebug) \
3874 YYFPRINTF Args; \
3875 } while (0)
3876
3877
3878 /*----------------------------------------.
3879 | Print this symbol's value on YYOUTPUT. |
3880 `----------------------------------------*/
3881
3882 static void
3883 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3884 {
3885 FILE *yyo = yyoutput;
3886 YYUSE (yyo);
3887 YYUSE (P);
3888 YYUSE (tokens);
3889 YYUSE (index);
3890 if (!yyvaluep)
3891 return;
3892 YYUSE (yytype);
3893 }
3894
3895
3896 /*--------------------------------.
3897 | Print this symbol on YYOUTPUT. |
3898 `--------------------------------*/
3899
3900 static void
3901 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3902 {
3903 YYFPRINTF (yyoutput, "%s %s (",
3904 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3905
3906 yy_symbol_value_print (yyoutput, yytype, yyvaluep, P, tokens, index);
3907 YYFPRINTF (yyoutput, ")");
3908 }
3909
3910 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3911 do { \
3912 if (yydebug) \
3913 { \
3914 YYFPRINTF (stderr, "%s ", Title); \
3915 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3916 YYFPRINTF (stderr, "\n"); \
3917 } \
3918 } while (0)
3919
3920 /* Nonzero means print parse trace. It is left uninitialized so that
3921 multiple parsers can coexist. */
3922 int yydebug;
3923
3924 struct yyGLRStack;
3925 static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
3926 YY_ATTRIBUTE_UNUSED;
3927 static void yypdumpstack (struct yyGLRStack* yystackp)
3928 YY_ATTRIBUTE_UNUSED;
3929
3930 #else /* !YYDEBUG */
3931
3932 # define YYDPRINTF(Args)
3933 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3934
3935 #endif /* !YYDEBUG */
3936
3937 /* YYINITDEPTH -- initial size of the parser's stacks. */
3938 #ifndef YYINITDEPTH
3939 # define YYINITDEPTH 200
3940 #endif
3941
3942 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3943 if the built-in stack extension method is used).
3944
3945 Do not make this value too large; the results are undefined if
3946 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3947 evaluated with infinite-precision integer arithmetic. */
3948
3949 #ifndef YYMAXDEPTH
3950 # define YYMAXDEPTH 10000
3951 #endif
3952
3953 /* Minimum number of free items on the stack allowed after an
3954 allocation. This is to allow allocation and initialization
3955 to be completed by functions that call yyexpandGLRStack before the
3956 stack is expanded, thus insuring that all necessary pointers get
3957 properly redirected to new data. */
3958 #define YYHEADROOM 2
3959
3960 #ifndef YYSTACKEXPANDABLE
3961 # define YYSTACKEXPANDABLE 1
3962 #endif
3963
3964 #if YYSTACKEXPANDABLE
3965 # define YY_RESERVE_GLRSTACK(Yystack) \
3966 do { \
3967 if (Yystack->yyspaceLeft < YYHEADROOM) \
3968 yyexpandGLRStack (Yystack); \
3969 } while (0)
3970 #else
3971 # define YY_RESERVE_GLRSTACK(Yystack) \
3972 do { \
3973 if (Yystack->yyspaceLeft < YYHEADROOM) \
3974 yyMemoryExhausted (Yystack); \
3975 } while (0)
3976 #endif
3977
3978
3979 #if YYERROR_VERBOSE
3980
3981 # ifndef yystpcpy
3982 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3983 # define yystpcpy stpcpy
3984 # else
3985 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3986 YYDEST. */
3987 static char *
3988 yystpcpy (char *yydest, const char *yysrc)
3989 {
3990 char *yyd = yydest;
3991 const char *yys = yysrc;
3992
3993 while ((*yyd++ = *yys++) != '\0')
3994 continue;
3995
3996 return yyd - 1;
3997 }
3998 # endif
3999 # endif
4000
4001 # ifndef yytnamerr
4002 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4003 quotes and backslashes, so that it's suitable for yyerror. The
4004 heuristic is that double-quoting is unnecessary unless the string
4005 contains an apostrophe, a comma, or backslash (other than
4006 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4007 null, do not copy; instead, return the length of what the result
4008 would have been. */
4009 static size_t
4010 yytnamerr (char *yyres, const char *yystr)
4011 {
4012 if (*yystr == '"')
4013 {
4014 size_t yyn = 0;
4015 char const *yyp = yystr;
4016
4017 for (;;)
4018 switch (*++yyp)
4019 {
4020 case '\'':
4021 case ',':
4022 goto do_not_strip_quotes;
4023
4024 case '\\':
4025 if (*++yyp != '\\')
4026 goto do_not_strip_quotes;
4027 /* Fall through. */
4028 default:
4029 if (yyres)
4030 yyres[yyn] = *yyp;
4031 yyn++;
4032 break;
4033
4034 case '"':
4035 if (yyres)
4036 yyres[yyn] = '\0';
4037 return yyn;
4038 }
4039 do_not_strip_quotes: ;
4040 }
4041
4042 if (! yyres)
4043 return strlen (yystr);
4044
4045 return yystpcpy (yyres, yystr) - yyres;
4046 }
4047 # endif
4048
4049 #endif /* !YYERROR_VERBOSE */
4050
4051 /** State numbers, as in LALR(1) machine */
4052 typedef int yyStateNum;
4053
4054 /** Rule numbers, as in LALR(1) machine */
4055 typedef int yyRuleNum;
4056
4057 /** Grammar symbol */
4058 typedef int yySymbol;
4059
4060 /** Item references, as in LALR(1) machine */
4061 typedef short int yyItemNum;
4062
4063 typedef struct yyGLRState yyGLRState;
4064 typedef struct yyGLRStateSet yyGLRStateSet;
4065 typedef struct yySemanticOption yySemanticOption;
4066 typedef union yyGLRStackItem yyGLRStackItem;
4067 typedef struct yyGLRStack yyGLRStack;
4068
4069 struct yyGLRState {
4070 /** Type tag: always true. */
4071 yybool yyisState;
4072 /** Type tag for yysemantics. If true, yysval applies, otherwise
4073 * yyfirstVal applies. */
4074 yybool yyresolved;
4075 /** Number of corresponding LALR(1) machine state. */
4076 yyStateNum yylrState;
4077 /** Preceding state in this stack */
4078 yyGLRState* yypred;
4079 /** Source position of the last token produced by my symbol */
4080 size_t yyposn;
4081 union {
4082 /** First in a chain of alternative reductions producing the
4083 * non-terminal corresponding to this state, threaded through
4084 * yynext. */
4085 yySemanticOption* yyfirstVal;
4086 /** Semantic value for this state. */
4087 YYSTYPE yysval;
4088 } yysemantics;
4089 };
4090
4091 struct yyGLRStateSet {
4092 yyGLRState** yystates;
4093 /** During nondeterministic operation, yylookaheadNeeds tracks which
4094 * stacks have actually needed the current lookahead. During deterministic
4095 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4096 * duplicate yychar != YYEMPTY. */
4097 yybool* yylookaheadNeeds;
4098 size_t yysize, yycapacity;
4099 };
4100
4101 struct yySemanticOption {
4102 /** Type tag: always false. */
4103 yybool yyisState;
4104 /** Rule number for this reduction */
4105 yyRuleNum yyrule;
4106 /** The last RHS state in the list of states to be reduced. */
4107 yyGLRState* yystate;
4108 /** The lookahead for this reduction. */
4109 int yyrawchar;
4110 YYSTYPE yyval;
4111 /** Next sibling in chain of options. To facilitate merging,
4112 * options are chained in decreasing order by address. */
4113 yySemanticOption* yynext;
4114 };
4115
4116 /** Type of the items in the GLR stack. The yyisState field
4117 * indicates which item of the union is valid. */
4118 union yyGLRStackItem {
4119 yyGLRState yystate;
4120 yySemanticOption yyoption;
4121 };
4122
4123 struct yyGLRStack {
4124 int yyerrState;
4125
4126
4127 int yyerrcnt;
4128 int yyrawchar;
4129 YYSTYPE yyval;
4130
4131 YYJMP_BUF yyexception_buffer;
4132 yyGLRStackItem* yyitems;
4133 yyGLRStackItem* yynextFree;
4134 size_t yyspaceLeft;
4135 yyGLRState* yysplitPoint;
4136 yyGLRState* yylastDeleted;
4137 yyGLRStateSet yytops;
4138 };
4139
4140 #if YYSTACKEXPANDABLE
4141 static void yyexpandGLRStack (yyGLRStack* yystackp);
4142 #endif
4143
4144 static _Noreturn void
4145 yyFail (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char* yymsg)
4146 {
4147 if (yymsg != YY_NULLPTR)
4148 yyerror (P, tokens, index, yymsg);
4149 YYLONGJMP (yystackp->yyexception_buffer, 1);
4150 }
4151
4152 static _Noreturn void
4153 yyMemoryExhausted (yyGLRStack* yystackp)
4154 {
4155 YYLONGJMP (yystackp->yyexception_buffer, 2);
4156 }
4157
4158 #if YYDEBUG || YYERROR_VERBOSE
4159 /** A printable representation of TOKEN. */
4160 static inline const char*
4161 yytokenName (yySymbol yytoken)
4162 {
4163 if (yytoken == YYEMPTY)
4164 return "";
4165
4166 return yytname[yytoken];
4167 }
4168 #endif
4169
4170 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4171 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4172 * containing the pointer to the next state in the chain. */
4173 static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED;
4174 static void
4175 yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
4176 {
4177 int i;
4178 yyGLRState *s = yyvsp[yylow0].yystate.yypred;
4179 for (i = yylow0-1; i >= yylow1; i -= 1)
4180 {
4181 #if YYDEBUG
4182 yyvsp[i].yystate.yylrState = s->yylrState;
4183 #endif
4184 yyvsp[i].yystate.yyresolved = s->yyresolved;
4185 if (s->yyresolved)
4186 yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
4187 else
4188 /* The effect of using yysval or yyloc (in an immediate rule) is
4189 * undefined. */
4190 yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR;
4191 s = yyvsp[i].yystate.yypred = s->yypred;
4192 }
4193 }
4194
4195 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4196 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4197 * For convenience, always return YYLOW1. */
4198 static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
4199 YY_ATTRIBUTE_UNUSED;
4200 static inline int
4201 yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
4202 {
4203 if (!yynormal && yylow1 < *yylow)
4204 {
4205 yyfillin (yyvsp, *yylow, yylow1);
4206 *yylow = yylow1;
4207 }
4208 return yylow1;
4209 }
4210
4211 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4212 * and top stack item YYVSP. YYLVALP points to place to put semantic
4213 * value ($$), and yylocp points to place for location information
4214 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4215 * yyerr for YYERROR, yyabort for YYABORT. */
4216 static YYRESULTTAG
4217 yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
4218 yyGLRStack* yystackp,
4219 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
4220 {
4221 yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR);
4222 int yylow;
4223 YYUSE (yyvalp);
4224 YYUSE (P);
4225 YYUSE (tokens);
4226 YYUSE (index);
4227 YYUSE (yyrhslen);
4228 # undef yyerrok
4229 # define yyerrok (yystackp->yyerrState = 0)
4230 # undef YYACCEPT
4231 # define YYACCEPT return yyaccept
4232 # undef YYABORT
4233 # define YYABORT return yyabort
4234 # undef YYERROR
4235 # define YYERROR return yyerrok, yyerr
4236 # undef YYRECOVERING
4237 # define YYRECOVERING() (yystackp->yyerrState != 0)
4238 # undef yyclearin
4239 # define yyclearin (yychar = YYEMPTY)
4240 # undef YYFILL
4241 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4242 # undef YYBACKUP
4243 # define YYBACKUP(Token, Value) \
4244 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4245 yyerrok, yyerr
4246
4247 yylow = 1;
4248 if (yyrhslen == 0)
4249 *yyvalp = yyval_default;
4250 else
4251 *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
4252 switch (yyn)
4253 {
4254 case 284:
4255 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
4256 {
4257 if ((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4258 psi_cpp_exp_exec((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), P->preproc, PSI_DATA(P));
4259 psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4260 }
4261 }
4262 #line 4263 "src/parser_proc.c" /* glr.c:816 */
4263 break;
4264
4265 case 285:
4266 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
4267 {
4268 if (P->file.ln) {
4269 P->error(PSI_DATA(P), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), PSI_WARNING,
4270 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
4271 } else {
4272 P->file.ln = strndup((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size);
4273 }
4274 }
4275 #line 4276 "src/parser_proc.c" /* glr.c:816 */
4276 break;
4277
4278 case 286:
4279 #line 466 "src/parser_proc_grammar.y" /* glr.c:816 */
4280 {
4281 psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4282 }
4283 #line 4284 "src/parser_proc.c" /* glr.c:816 */
4284 break;
4285
4286 case 287:
4287 #line 469 "src/parser_proc_grammar.y" /* glr.c:816 */
4288 {
4289 psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4290 }
4291 #line 4292 "src/parser_proc.c" /* glr.c:816 */
4292 break;
4293
4294 case 288:
4295 #line 472 "src/parser_proc_grammar.y" /* glr.c:816 */
4296 {
4297 psi_parser_proc_add_decl_extvars(P, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4298 }
4299 #line 4300 "src/parser_proc.c" /* glr.c:816 */
4300 break;
4301
4302 case 289:
4303 #line 475 "src/parser_proc_grammar.y" /* glr.c:816 */
4304 {
4305 if (P->flags & PSI_DEBUG) {
4306 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);
4307 }
4308 psi_decl_free(&(*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4309 }
4310 #line 4311 "src/parser_proc.c" /* glr.c:816 */
4311 break;
4312
4313 case 290:
4314 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
4315 {
4316 psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4317 }
4318 #line 4319 "src/parser_proc.c" /* glr.c:816 */
4319 break;
4320
4321 case 291:
4322 #line 484 "src/parser_proc_grammar.y" /* glr.c:816 */
4323 {
4324 psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4325 }
4326 #line 4327 "src/parser_proc.c" /* glr.c:816 */
4327 break;
4328
4329 case 292:
4330 #line 487 "src/parser_proc_grammar.y" /* glr.c:816 */
4331 {
4332 psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4333 }
4334 #line 4335 "src/parser_proc.c" /* glr.c:816 */
4335 break;
4336
4337 case 293:
4338 #line 490 "src/parser_proc_grammar.y" /* glr.c:816 */
4339 {
4340 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4341 }
4342 #line 4343 "src/parser_proc.c" /* glr.c:816 */
4343 break;
4344
4345 case 294:
4346 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
4347 {
4348 psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4349 }
4350 #line 4351 "src/parser_proc.c" /* glr.c:816 */
4351 break;
4352
4353 case 295:
4354 #line 499 "src/parser_proc_grammar.y" /* glr.c:816 */
4355 {
4356 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4357 }
4358 #line 4359 "src/parser_proc.c" /* glr.c:816 */
4359 break;
4360
4361 case 296:
4362 #line 505 "src/parser_proc_grammar.y" /* glr.c:816 */
4363 {
4364 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4365 }
4366 #line 4367 "src/parser_proc.c" /* glr.c:816 */
4367 break;
4368
4369 case 297:
4370 #line 508 "src/parser_proc_grammar.y" /* glr.c:816 */
4371 {
4372 (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4373 }
4374 #line 4375 "src/parser_proc.c" /* glr.c:816 */
4375 break;
4376
4377 case 298:
4378 #line 514 "src/parser_proc_grammar.y" /* glr.c:816 */
4379 {
4380 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4381 struct psi_token *msg = NULL;
4382
4383 if (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0, &msg)) {
4384 size_t index = 1;
4385 struct psi_token *next;
4386
4387 msg = psi_token_copy(msg);
4388 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), index++, &next)) {
4389 struct psi_token *old = msg;
4390 msg = psi_token_cat(" ", 2, msg, next);
4391 free(old);
4392 }
4393 }
4394 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4395
4396 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, msg);
4397 } else {
4398 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, NULL);
4399 }
4400 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4401 }
4402 #line 4403 "src/parser_proc.c" /* glr.c:816 */
4403 break;
4404
4405 case 299:
4406 #line 537 "src/parser_proc_grammar.y" /* glr.c:816 */
4407 {
4408 (*(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))));
4409 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4410 }
4411 #line 4412 "src/parser_proc.c" /* glr.c:816 */
4412 break;
4413
4414 case 300:
4415 #line 541 "src/parser_proc_grammar.y" /* glr.c:816 */
4416 {
4417 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4418 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4419 }
4420 #line 4421 "src/parser_proc.c" /* glr.c:816 */
4421 break;
4422
4423 case 301:
4424 #line 545 "src/parser_proc_grammar.y" /* glr.c:816 */
4425 {
4426 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4427 (*(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))));
4428 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4429 }
4430 #line 4431 "src/parser_proc.c" /* glr.c:816 */
4431 break;
4432
4433 case 302:
4434 #line 550 "src/parser_proc_grammar.y" /* glr.c:816 */
4435 {
4436 (*(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)));
4437 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4438 }
4439 #line 4440 "src/parser_proc.c" /* glr.c:816 */
4440 break;
4441
4442 case 303:
4443 #line 554 "src/parser_proc_grammar.y" /* glr.c:816 */
4444 {
4445 (*(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)));
4446 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4447 }
4448 #line 4449 "src/parser_proc.c" /* glr.c:816 */
4449 break;
4450
4451 case 304:
4452 #line 558 "src/parser_proc_grammar.y" /* glr.c:816 */
4453 {
4454 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4455 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4456 }
4457 #line 4458 "src/parser_proc.c" /* glr.c:816 */
4458 break;
4459
4460 case 305:
4461 #line 562 "src/parser_proc_grammar.y" /* glr.c:816 */
4462 {
4463 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4464 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4465 }
4466 #line 4467 "src/parser_proc.c" /* glr.c:816 */
4467 break;
4468
4469 case 322:
4470 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
4471 {
4472 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4473 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL);
4474 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4475 }
4476 #line 4477 "src/parser_proc.c" /* glr.c:816 */
4477 break;
4478
4479 case 323:
4480 #line 611 "src/parser_proc_grammar.y" /* glr.c:816 */
4481 {
4482 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4483 (*(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);
4484 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
4485 }
4486 #line 4487 "src/parser_proc.c" /* glr.c:816 */
4487 break;
4488
4489 case 324:
4490 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
4491 {
4492 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4493 (*(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)));
4494 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4495 }
4496 #line 4497 "src/parser_proc.c" /* glr.c:816 */
4497 break;
4498
4499 case 325:
4500 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
4501 {
4502 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_token_free);
4503 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4504 (*(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);
4505 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4506 }
4507 #line 4508 "src/parser_proc.c" /* glr.c:816 */
4508 break;
4509
4510 case 326:
4511 #line 630 "src/parser_proc_grammar.y" /* glr.c:816 */
4512 {
4513 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL);
4514 }
4515 #line 4516 "src/parser_proc.c" /* glr.c:816 */
4516 break;
4517
4518 case 327:
4519 #line 633 "src/parser_proc_grammar.y" /* glr.c:816 */
4520 {
4521 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */
4522 }
4523 #line 4524 "src/parser_proc.c" /* glr.c:816 */
4524 break;
4525
4526 case 329:
4527 #line 637 "src/parser_proc_grammar.y" /* glr.c:816 */
4528 {
4529 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4530 }
4531 #line 4532 "src/parser_proc.c" /* glr.c:816 */
4532 break;
4533
4534 case 330:
4535 #line 643 "src/parser_proc_grammar.y" /* glr.c:816 */
4536 {
4537 (*(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)));
4538 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4539 (*(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)));
4540 }
4541 #line 4542 "src/parser_proc.c" /* glr.c:816 */
4542 break;
4543
4544 case 331:
4545 #line 648 "src/parser_proc_grammar.y" /* glr.c:816 */
4546 {
4547 (*(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)));
4548 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4549 (*(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)));
4550 }
4551 #line 4552 "src/parser_proc.c" /* glr.c:816 */
4552 break;
4553
4554 case 332:
4555 #line 656 "src/parser_proc_grammar.y" /* glr.c:816 */
4556 {
4557 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4558 }
4559 #line 4560 "src/parser_proc.c" /* glr.c:816 */
4560 break;
4561
4562 case 334:
4563 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
4564 {
4565 (*(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)));
4566 (*(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)));
4567 }
4568 #line 4569 "src/parser_proc.c" /* glr.c:816 */
4569 break;
4570
4571 case 335:
4572 #line 667 "src/parser_proc_grammar.y" /* glr.c:816 */
4573 {
4574 (*(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)));
4575 (*(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)));
4576 }
4577 #line 4578 "src/parser_proc.c" /* glr.c:816 */
4578 break;
4579
4580 case 336:
4581 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
4582 {
4583 (*(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)));
4584 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4585 }
4586 #line 4587 "src/parser_proc.c" /* glr.c:816 */
4587 break;
4588
4589 case 337:
4590 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
4591 {
4592 (*(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)));
4593 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4594 }
4595 #line 4596 "src/parser_proc.c" /* glr.c:816 */
4596 break;
4597
4598 case 338:
4599 #line 682 "src/parser_proc_grammar.y" /* glr.c:816 */
4600 {
4601 (*(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)));
4602 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4603 }
4604 #line 4605 "src/parser_proc.c" /* glr.c:816 */
4605 break;
4606
4607 case 339:
4608 #line 686 "src/parser_proc_grammar.y" /* glr.c:816 */
4609 {
4610 (*(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)));
4611 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4612 }
4613 #line 4614 "src/parser_proc.c" /* glr.c:816 */
4614 break;
4615
4616 case 340:
4617 #line 691 "src/parser_proc_grammar.y" /* glr.c:816 */
4618 {
4619 {
4620 uint8_t exists;
4621
4622 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4623 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4624 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4625 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4626 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4627 }
4628 }
4629 #line 4630 "src/parser_proc.c" /* glr.c:816 */
4630 break;
4631
4632 case 341:
4633 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
4634 {
4635 {
4636 uint8_t exists;
4637
4638 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4639 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4640 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4641 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4642 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4643 }
4644 }
4645 #line 4646 "src/parser_proc.c" /* glr.c:816 */
4646 break;
4647
4648 case 342:
4649 #line 713 "src/parser_proc_grammar.y" /* glr.c:816 */
4650 {
4651 (*(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));
4652 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4653 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4654 }
4655 #line 4656 "src/parser_proc.c" /* glr.c:816 */
4656 break;
4657
4658 case 343:
4659 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
4660 {
4661 (*(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));
4662 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4663 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4664 }
4665 #line 4666 "src/parser_proc.c" /* glr.c:816 */
4666 break;
4667
4668 case 344:
4669 #line 723 "src/parser_proc_grammar.y" /* glr.c:816 */
4670 {
4671 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4672 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4673 }
4674 #line 4675 "src/parser_proc.c" /* glr.c:816 */
4675 break;
4676
4677 case 345:
4678 #line 727 "src/parser_proc_grammar.y" /* glr.c:816 */
4679 {
4680 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4681 (*(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));
4682 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4683 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4684 }
4685 #line 4686 "src/parser_proc.c" /* glr.c:816 */
4686 break;
4687
4688 case 346:
4689 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
4690 {
4691 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4692 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION,
4693 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));
4694 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4695 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4696 }
4697 #line 4698 "src/parser_proc.c" /* glr.c:816 */
4698 break;
4699
4700 case 347:
4701 #line 743 "src/parser_proc_grammar.y" /* glr.c:816 */
4702 {
4703 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4704 }
4705 #line 4706 "src/parser_proc.c" /* glr.c:816 */
4706 break;
4707
4708 case 349:
4709 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
4710 {
4711 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free),
4712 &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4713 }
4714 #line 4715 "src/parser_proc.c" /* glr.c:816 */
4715 break;
4716
4717 case 350:
4718 #line 754 "src/parser_proc_grammar.y" /* glr.c:816 */
4719 {
4720 (*(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)));
4721 }
4722 #line 4723 "src/parser_proc.c" /* glr.c:816 */
4723 break;
4724
4725 case 351:
4726 #line 760 "src/parser_proc_grammar.y" /* glr.c:816 */
4727 {
4728 (*(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)));
4729 (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4730 }
4731 #line 4732 "src/parser_proc.c" /* glr.c:816 */
4732 break;
4733
4734 case 352:
4735 #line 767 "src/parser_proc_grammar.y" /* glr.c:816 */
4736 {
4737 (*(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);
4738 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4739 }
4740 #line 4741 "src/parser_proc.c" /* glr.c:816 */
4741 break;
4742
4743 case 353:
4744 #line 771 "src/parser_proc_grammar.y" /* glr.c:816 */
4745 {
4746 (*(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)));
4747 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4748 }
4749 #line 4750 "src/parser_proc.c" /* glr.c:816 */
4750 break;
4751
4752 case 354:
4753 #line 775 "src/parser_proc_grammar.y" /* glr.c:816 */
4754 {
4755 (*(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);
4756 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4757 }
4758 #line 4759 "src/parser_proc.c" /* glr.c:816 */
4759 break;
4760
4761 case 358:
4762 #line 788 "src/parser_proc_grammar.y" /* glr.c:816 */
4763 {
4764 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4765 }
4766 #line 4767 "src/parser_proc.c" /* glr.c:816 */
4767 break;
4768
4769 case 359:
4770 #line 802 "src/parser_proc_grammar.y" /* glr.c:816 */
4771 {
4772 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4773 }
4774 #line 4775 "src/parser_proc.c" /* glr.c:816 */
4775 break;
4776
4777 case 360:
4778 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
4779 {
4780 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4781 }
4782 #line 4783 "src/parser_proc.c" /* glr.c:816 */
4783 break;
4784
4785 case 361:
4786 #line 811 "src/parser_proc_grammar.y" /* glr.c:816 */
4787 {
4788 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4789 }
4790 #line 4791 "src/parser_proc.c" /* glr.c:816 */
4791 break;
4792
4793 case 362:
4794 #line 817 "src/parser_proc_grammar.y" /* glr.c:816 */
4795 {
4796 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4797 }
4798 #line 4799 "src/parser_proc.c" /* glr.c:816 */
4799 break;
4800
4801 case 363:
4802 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
4803 {
4804 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4805 }
4806 #line 4807 "src/parser_proc.c" /* glr.c:816 */
4807 break;
4808
4809 case 365:
4810 #line 827 "src/parser_proc_grammar.y" /* glr.c:816 */
4811 {
4812 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4813 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
4814 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
4815 );
4816 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
4817 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4818 }
4819 #line 4820 "src/parser_proc.c" /* glr.c:816 */
4820 break;
4821
4822 case 366:
4823 #line 835 "src/parser_proc_grammar.y" /* glr.c:816 */
4824 {
4825 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4826 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4827 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->name),
4828 psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0, 0)
4829 );
4830 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4831 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->token);
4832 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4833 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4834 }
4835 #line 4836 "src/parser_proc.c" /* glr.c:816 */
4836 break;
4837
4838 case 367:
4839 #line 846 "src/parser_proc_grammar.y" /* glr.c:816 */
4840 {
4841 (*(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)));
4842 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4843 (*(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)));
4844 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4845 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4846 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4847 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4848 }
4849 #line 4850 "src/parser_proc.c" /* glr.c:816 */
4850 break;
4851
4852 case 368:
4853 #line 855 "src/parser_proc_grammar.y" /* glr.c:816 */
4854 {
4855 (*(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)));
4856 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4857 (*(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)));
4858 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4859 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4860 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4861 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4862 }
4863 #line 4864 "src/parser_proc.c" /* glr.c:816 */
4864 break;
4865
4866 case 370:
4867 #line 868 "src/parser_proc_grammar.y" /* glr.c:816 */
4868 {
4869 (*(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));
4870 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4871 }
4872 #line 4873 "src/parser_proc.c" /* glr.c:816 */
4873 break;
4874
4875 case 371:
4876 #line 872 "src/parser_proc_grammar.y" /* glr.c:816 */
4877 {
4878 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4879 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->name),
4880 psi_decl_var_init(NULL, 0, 0)
4881 );
4882 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4883 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4884 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4885 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4886 }
4887 #line 4888 "src/parser_proc.c" /* glr.c:816 */
4888 break;
4889
4890 case 372:
4891 #line 882 "src/parser_proc_grammar.y" /* glr.c:816 */
4892 {
4893 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(psi_decl_type_init(PSI_T_STRUCT, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->text), psi_decl_var_init(NULL, 0, 0));
4894 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4895 (*(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)));
4896 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4897 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4898 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4899 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4900 }
4901 #line 4902 "src/parser_proc.c" /* glr.c:816 */
4902 break;
4903
4904 case 373:
4905 #line 891 "src/parser_proc_grammar.y" /* glr.c:816 */
4906 {
4907 (*(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));
4908 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4909 (*(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)));
4910 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4911 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4912 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4913 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4914 }
4915 #line 4916 "src/parser_proc.c" /* glr.c:816 */
4916 break;
4917
4918 case 375:
4919 #line 904 "src/parser_proc_grammar.y" /* glr.c:816 */
4920 {
4921 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4922 }
4923 #line 4924 "src/parser_proc.c" /* glr.c:816 */
4924 break;
4925
4926 case 376:
4927 #line 907 "src/parser_proc_grammar.y" /* glr.c:816 */
4928 {
4929 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4930 }
4931 #line 4932 "src/parser_proc.c" /* glr.c:816 */
4932 break;
4933
4934 case 379:
4935 #line 918 "src/parser_proc_grammar.y" /* glr.c:816 */
4936 {
4937 (*(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);
4938 (*(struct psi_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4939 }
4940 #line 4941 "src/parser_proc.c" /* glr.c:816 */
4941 break;
4942
4943 case 381:
4944 #line 926 "src/parser_proc_grammar.y" /* glr.c:816 */
4945 {
4946 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4947 (*(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);
4948 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4949 }
4950 #line 4951 "src/parser_proc.c" /* glr.c:816 */
4951 break;
4952
4953 case 382:
4954 #line 931 "src/parser_proc_grammar.y" /* glr.c:816 */
4955 {
4956 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4957 (*(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);
4958 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4959 }
4960 #line 4961 "src/parser_proc.c" /* glr.c:816 */
4961 break;
4962
4963 case 383:
4964 #line 936 "src/parser_proc_grammar.y" /* glr.c:816 */
4965 {
4966 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4967 (*(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);
4968 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4969 }
4970 #line 4971 "src/parser_proc.c" /* glr.c:816 */
4971 break;
4972
4973 case 386:
4974 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
4975 {
4976 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4977 }
4978 #line 4979 "src/parser_proc.c" /* glr.c:816 */
4979 break;
4980
4981 case 387:
4982 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
4983 {
4984 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4985 }
4986 #line 4987 "src/parser_proc.c" /* glr.c:816 */
4987 break;
4988
4989 case 388:
4990 #line 955 "src/parser_proc_grammar.y" /* glr.c:816 */
4991 {
4992 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4993 }
4994 #line 4995 "src/parser_proc.c" /* glr.c:816 */
4995 break;
4996
4997 case 389:
4998 #line 958 "src/parser_proc_grammar.y" /* glr.c:816 */
4999 {
5000 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5001 }
5002 #line 5003 "src/parser_proc.c" /* glr.c:816 */
5003 break;
5004
5005 case 390:
5006 #line 961 "src/parser_proc_grammar.y" /* glr.c:816 */
5007 {
5008 (*(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)));
5009 }
5010 #line 5011 "src/parser_proc.c" /* glr.c:816 */
5011 break;
5012
5013 case 393:
5014 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
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:816 */
5019 break;
5020
5021 case 394:
5022 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
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:816 */
5027 break;
5028
5029 case 395:
5030 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
5031 {
5032 (*(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)));
5033 }
5034 #line 5035 "src/parser_proc.c" /* glr.c:816 */
5035 break;
5036
5037 case 396:
5038 #line 984 "src/parser_proc_grammar.y" /* glr.c:816 */
5039 {
5040 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5041 }
5042 #line 5043 "src/parser_proc.c" /* glr.c:816 */
5043 break;
5044
5045 case 397:
5046 #line 987 "src/parser_proc_grammar.y" /* glr.c:816 */
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:816 */
5051 break;
5052
5053 case 398:
5054 #line 990 "src/parser_proc_grammar.y" /* glr.c:816 */
5055 {
5056 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5057 (*(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)));
5058 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5059 } else {
5060 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5061 }
5062 }
5063 #line 5064 "src/parser_proc.c" /* glr.c:816 */
5064 break;
5065
5066 case 399:
5067 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
5068 {
5069 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5070 (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5071 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5072 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5073 } else {
5074 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5075 }
5076 }
5077 #line 5078 "src/parser_proc.c" /* glr.c:816 */
5078 break;
5079
5080 case 400:
5081 #line 1010 "src/parser_proc_grammar.y" /* glr.c:816 */
5082 {
5083 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5084 }
5085 #line 5086 "src/parser_proc.c" /* glr.c:816 */
5086 break;
5087
5088 case 401:
5089 #line 1013 "src/parser_proc_grammar.y" /* glr.c:816 */
5090 {
5091 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5092 }
5093 #line 5094 "src/parser_proc.c" /* glr.c:816 */
5094 break;
5095
5096 case 402:
5097 #line 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
5098 {
5099 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5100 }
5101 #line 5102 "src/parser_proc.c" /* glr.c:816 */
5102 break;
5103
5104 case 403:
5105 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
5106 {
5107 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5108 (*(struct psi_token **)(&(*yyvalp))) = psi_token_cat(" ", 2, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5109 } else {
5110 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5111 }
5112 }
5113 #line 5114 "src/parser_proc.c" /* glr.c:816 */
5114 break;
5115
5116 case 404:
5117 #line 1026 "src/parser_proc_grammar.y" /* glr.c:816 */
5118 {
5119 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5120 }
5121 #line 5122 "src/parser_proc.c" /* glr.c:816 */
5122 break;
5123
5124 case 405:
5125 #line 1029 "src/parser_proc_grammar.y" /* glr.c:816 */
5126 {
5127 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5128 (*(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)));
5129 } else {
5130 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5131 }
5132 }
5133 #line 5134 "src/parser_proc.c" /* glr.c:816 */
5134 break;
5135
5136 case 406:
5137 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
5138 {
5139 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5140 }
5141 #line 5142 "src/parser_proc.c" /* glr.c:816 */
5142 break;
5143
5144 case 408:
5145 #line 1045 "src/parser_proc_grammar.y" /* glr.c:816 */
5146 {
5147 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5148 }
5149 #line 5150 "src/parser_proc.c" /* glr.c:816 */
5150 break;
5151
5152 case 412:
5153 #line 1054 "src/parser_proc_grammar.y" /* glr.c:816 */
5154 {
5155 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5156 }
5157 #line 5158 "src/parser_proc.c" /* glr.c:816 */
5158 break;
5159
5160 case 413:
5161 #line 1057 "src/parser_proc_grammar.y" /* glr.c:816 */
5162 {
5163 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5164 }
5165 #line 5166 "src/parser_proc.c" /* glr.c:816 */
5166 break;
5167
5168 case 414:
5169 #line 1060 "src/parser_proc_grammar.y" /* glr.c:816 */
5170 {
5171 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5172 (*(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)));
5173 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5174 } else {
5175 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5176 }
5177 }
5178 #line 5179 "src/parser_proc.c" /* glr.c:816 */
5179 break;
5180
5181 case 415:
5182 #line 1071 "src/parser_proc_grammar.y" /* glr.c:816 */
5183 {
5184 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5185 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5186 (*(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);
5187 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5188 }
5189 }
5190 #line 5191 "src/parser_proc.c" /* glr.c:816 */
5191 break;
5192
5193 case 416:
5194 #line 1078 "src/parser_proc_grammar.y" /* glr.c:816 */
5195 {
5196 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5197 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5198 (*(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);
5199 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5200 }
5201 }
5202 #line 5203 "src/parser_proc.c" /* glr.c:816 */
5203 break;
5204
5205 case 417:
5206 #line 1088 "src/parser_proc_grammar.y" /* glr.c:816 */
5207 {
5208 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5209 }
5210 #line 5211 "src/parser_proc.c" /* glr.c:816 */
5211 break;
5212
5213 case 418:
5214 #line 1091 "src/parser_proc_grammar.y" /* glr.c:816 */
5215 {
5216 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5217 }
5218 #line 5219 "src/parser_proc.c" /* glr.c:816 */
5219 break;
5220
5221 case 419:
5222 #line 1097 "src/parser_proc_grammar.y" /* glr.c:816 */
5223 {
5224 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5225 }
5226 #line 5227 "src/parser_proc.c" /* glr.c:816 */
5227 break;
5228
5229 case 420:
5230 #line 1100 "src/parser_proc_grammar.y" /* glr.c:816 */
5231 {
5232 (*(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)));
5233 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5234 }
5235 #line 5236 "src/parser_proc.c" /* glr.c:816 */
5236 break;
5237
5238 case 421:
5239 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
5240 {
5241 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
5242
5243 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5244 size_t i = 0;
5245 struct psi_decl_var *var;
5246
5247 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &var)) {
5248 if (psi_decl_extvar_is_blacklisted(var->name)) {
5249 psi_decl_var_free(&var);
5250 } else {
5251 list = psi_plist_add(list, psi_decl_extvar_init(
5252 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type), var)));
5253 }
5254 }
5255 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5256 }
5257
5258 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->var->name)) {
5259 psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5260 } else {
5261 struct psi_decl_extvar *evar = psi_decl_extvar_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5262 list = psi_plist_add(list, &evar);
5263 }
5264
5265 (*(struct psi_plist **)(&(*yyvalp))) = list;
5266 }
5267 #line 5268 "src/parser_proc.c" /* glr.c:816 */
5268 break;
5269
5270 case 422:
5271 #line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */
5272 {
5273 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5274 }
5275 #line 5276 "src/parser_proc.c" /* glr.c:816 */
5276 break;
5277
5278 case 423:
5279 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
5280 {
5281 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5282 }
5283 #line 5284 "src/parser_proc.c" /* glr.c:816 */
5284 break;
5285
5286 case 424:
5287 #line 1146 "src/parser_proc_grammar.y" /* glr.c:816 */
5288 {
5289 (*(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)));
5290 }
5291 #line 5292 "src/parser_proc.c" /* glr.c:816 */
5292 break;
5293
5294 case 425:
5295 #line 1149 "src/parser_proc_grammar.y" /* glr.c:816 */
5296 {
5297 (*(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)));
5298 }
5299 #line 5300 "src/parser_proc.c" /* glr.c:816 */
5300 break;
5301
5302 case 426:
5303 #line 1155 "src/parser_proc_grammar.y" /* glr.c:816 */
5304 {
5305 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5306 }
5307 #line 5308 "src/parser_proc.c" /* glr.c:816 */
5308 break;
5309
5310 case 427:
5311 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
5312 {
5313 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5314 }
5315 #line 5316 "src/parser_proc.c" /* glr.c:816 */
5316 break;
5317
5318 case 428:
5319 #line 1161 "src/parser_proc_grammar.y" /* glr.c:816 */
5320 {
5321 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5322 }
5323 #line 5324 "src/parser_proc.c" /* glr.c:816 */
5324 break;
5325
5326 case 429:
5327 #line 1164 "src/parser_proc_grammar.y" /* glr.c:816 */
5328 {
5329 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5330 }
5331 #line 5332 "src/parser_proc.c" /* glr.c:816 */
5332 break;
5333
5334 case 436:
5335 #line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */
5336 {
5337 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5338 (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5339 }
5340 #line 5341 "src/parser_proc.c" /* glr.c:816 */
5341 break;
5342
5343 case 439:
5344 #line 1197 "src/parser_proc_grammar.y" /* glr.c:816 */
5345 {
5346 (*(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)));
5347 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5348 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5349 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5350 }
5351 }
5352 #line 5353 "src/parser_proc.c" /* glr.c:816 */
5353 break;
5354
5355 case 440:
5356 #line 1204 "src/parser_proc_grammar.y" /* glr.c:816 */
5357 {
5358 (*(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)));
5359 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5360 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5361 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5362 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5363 }
5364 }
5365 #line 5366 "src/parser_proc.c" /* glr.c:816 */
5366 break;
5367
5368 case 441:
5369 #line 1215 "src/parser_proc_grammar.y" /* glr.c:816 */
5370 {
5371 (*(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)));
5372 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5373 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5374 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5375 }
5376 }
5377 #line 5378 "src/parser_proc.c" /* glr.c:816 */
5378 break;
5379
5380 case 442:
5381 #line 1222 "src/parser_proc_grammar.y" /* glr.c:816 */
5382 {
5383 (*(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)));
5384 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5385 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5386 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5387 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5388 }
5389 }
5390 #line 5391 "src/parser_proc.c" /* glr.c:816 */
5391 break;
5392
5393 case 443:
5394 #line 1230 "src/parser_proc_grammar.y" /* glr.c:816 */
5395 {
5396 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval));
5397 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5398
5399 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))), 1, "rval");
5400 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));
5401 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5402
5403 rval_func->var->token = psi_token_copy(type_token);
5404 rval_func->token = psi_token_copy(type_token);
5405 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5406 rval_func->var->pointer_level += 1;
5407 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5408 }
5409
5410 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5411 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));
5412
5413 type->real.func = rval_decl;
5414 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5415 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5416
5417 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5418
5419 }
5420 #line 5421 "src/parser_proc.c" /* glr.c:816 */
5421 break;
5422
5423 case 444:
5424 #line 1258 "src/parser_proc_grammar.y" /* glr.c:816 */
5425 {
5426 (*(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)));
5427 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5428 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5429 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5430 }
5431 }
5432 #line 5433 "src/parser_proc.c" /* glr.c:816 */
5433 break;
5434
5435 case 445:
5436 #line 1265 "src/parser_proc_grammar.y" /* glr.c:816 */
5437 {
5438 (*(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)));
5439 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5440 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5441 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5442 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5443 }
5444 }
5445 #line 5446 "src/parser_proc.c" /* glr.c:816 */
5446 break;
5447
5448 case 446:
5449 #line 1276 "src/parser_proc_grammar.y" /* glr.c:816 */
5450 {
5451 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5452 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5453 (*(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));
5454 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5455 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5456 }
5457 #line 5458 "src/parser_proc.c" /* glr.c:816 */
5458 break;
5459
5460 case 447:
5461 #line 1322 "src/parser_proc_grammar.y" /* glr.c:816 */
5462 {
5463 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5464 (*(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));
5465 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5466 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5467 }
5468 #line 5469 "src/parser_proc.c" /* glr.c:816 */
5469 break;
5470
5471 case 449:
5472 #line 1378 "src/parser_proc_grammar.y" /* glr.c:816 */
5473 {
5474 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5475 }
5476 #line 5477 "src/parser_proc.c" /* glr.c:816 */
5477 break;
5478
5479 case 450:
5480 #line 1381 "src/parser_proc_grammar.y" /* glr.c:816 */
5481 {
5482 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5483 }
5484 #line 5485 "src/parser_proc.c" /* glr.c:816 */
5485 break;
5486
5487 case 451:
5488 #line 1384 "src/parser_proc_grammar.y" /* glr.c:816 */
5489 {
5490 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5491 }
5492 #line 5493 "src/parser_proc.c" /* glr.c:816 */
5493 break;
5494
5495 case 452:
5496 #line 1390 "src/parser_proc_grammar.y" /* glr.c:816 */
5497 {
5498 (*(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)));
5499 }
5500 #line 5501 "src/parser_proc.c" /* glr.c:816 */
5501 break;
5502
5503 case 453:
5504 #line 1393 "src/parser_proc_grammar.y" /* glr.c:816 */
5505 {
5506 (*(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)));
5507 }
5508 #line 5509 "src/parser_proc.c" /* glr.c:816 */
5509 break;
5510
5511 case 454:
5512 #line 1399 "src/parser_proc_grammar.y" /* glr.c:816 */
5513 {
5514 char digest[17];
5515 struct psi_token *name;
5516
5517 psi_token_hash((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func ->token, digest);
5518 name = psi_token_append("@", psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token), 2, "funct", digest);
5519
5520 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5521 psi_decl_type_init(PSI_T_FUNCTION, name->text),
5522 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5523 );
5524 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = name;
5525 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5526 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5527 }
5528 #line 5529 "src/parser_proc.c" /* glr.c:816 */
5529 break;
5530
5531 case 455:
5532 #line 1414 "src/parser_proc_grammar.y" /* glr.c:816 */
5533 {
5534 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5535 }
5536 #line 5537 "src/parser_proc.c" /* glr.c:816 */
5537 break;
5538
5539 case 456:
5540 #line 1417 "src/parser_proc_grammar.y" /* glr.c:816 */
5541 {
5542 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5543 (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)),
5544 psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0)
5545 );
5546 }
5547 #line 5548 "src/parser_proc.c" /* glr.c:816 */
5548 break;
5549
5550 case 457:
5551 #line 1446 "src/parser_proc_grammar.y" /* glr.c:816 */
5552 {
5553 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5554 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
5555 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5556 );
5557 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5558 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5559 }
5560 #line 5561 "src/parser_proc.c" /* glr.c:816 */
5561 break;
5562
5563 case 458:
5564 #line 1454 "src/parser_proc_grammar.y" /* glr.c:816 */
5565 {
5566 (*(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)));
5567 }
5568 #line 5569 "src/parser_proc.c" /* glr.c:816 */
5569 break;
5570
5571 case 459:
5572 #line 1482 "src/parser_proc_grammar.y" /* glr.c:816 */
5573 {
5574 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5575 (*(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)));
5576 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5577 }
5578 #line 5579 "src/parser_proc.c" /* glr.c:816 */
5579 break;
5580
5581 case 460:
5582 #line 1487 "src/parser_proc_grammar.y" /* glr.c:816 */
5583 {
5584 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5585 (*(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)));
5586 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5587 }
5588 #line 5589 "src/parser_proc.c" /* glr.c:816 */
5589 break;
5590
5591 case 461:
5592 #line 1495 "src/parser_proc_grammar.y" /* glr.c:816 */
5593 {
5594 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5595 (*(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)));
5596 (*(struct psi_decl_union **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5597 (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5598 (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5599 }
5600 #line 5601 "src/parser_proc.c" /* glr.c:816 */
5601 break;
5602
5603 case 462:
5604 #line 1505 "src/parser_proc_grammar.y" /* glr.c:816 */
5605 {
5606 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5607 (*(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)));
5608 (*(struct psi_decl_struct **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5609 (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5610 (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5611 }
5612 #line 5613 "src/parser_proc.c" /* glr.c:816 */
5613 break;
5614
5615 case 463:
5616 #line 1515 "src/parser_proc_grammar.y" /* glr.c:816 */
5617 {
5618 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5619 }
5620 #line 5621 "src/parser_proc.c" /* glr.c:816 */
5621 break;
5622
5623 case 465:
5624 #line 1522 "src/parser_proc_grammar.y" /* glr.c:816 */
5625 {
5626 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5627 }
5628 #line 5629 "src/parser_proc.c" /* glr.c:816 */
5629 break;
5630
5631 case 466:
5632 #line 1528 "src/parser_proc_grammar.y" /* glr.c:816 */
5633 {
5634 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5635 (*(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)));
5636 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5637 size_t i = 0;
5638 struct psi_decl_arg *arg;
5639
5640 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5641 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5642 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5643 }
5644 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5645 }
5646 }
5647 #line 5648 "src/parser_proc.c" /* glr.c:816 */
5648 break;
5649
5650 case 467:
5651 #line 1542 "src/parser_proc_grammar.y" /* glr.c:816 */
5652 {
5653 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5654 (*(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)));
5655 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5656 size_t i = 0;
5657 struct psi_decl_arg *arg;
5658
5659 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5660 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5661 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5662 }
5663 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5664 }
5665 }
5666 #line 5667 "src/parser_proc.c" /* glr.c:816 */
5667 break;
5668
5669 case 468:
5670 #line 1559 "src/parser_proc_grammar.y" /* glr.c:816 */
5671 {
5672 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5673 }
5674 #line 5675 "src/parser_proc.c" /* glr.c:816 */
5675 break;
5676
5677 case 469:
5678 #line 1562 "src/parser_proc_grammar.y" /* glr.c:816 */
5679 {
5680 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5681 }
5682 #line 5683 "src/parser_proc.c" /* glr.c:816 */
5683 break;
5684
5685 case 470:
5686 #line 1568 "src/parser_proc_grammar.y" /* glr.c:816 */
5687 {
5688 {
5689 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5690 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5691 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg);
5692 }
5693 }
5694 #line 5695 "src/parser_proc.c" /* glr.c:816 */
5695 break;
5696
5697 case 471:
5698 #line 1575 "src/parser_proc_grammar.y" /* glr.c:816 */
5699 {
5700 {
5701 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5702 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5703 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg);
5704 }
5705 }
5706 #line 5707 "src/parser_proc.c" /* glr.c:816 */
5707 break;
5708
5709 case 472:
5710 #line 1585 "src/parser_proc_grammar.y" /* glr.c:816 */
5711 {
5712 (*(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)));
5713 (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
5714 }
5715 #line 5716 "src/parser_proc.c" /* glr.c:816 */
5716 break;
5717
5718 case 473:
5719 #line 1592 "src/parser_proc_grammar.y" /* glr.c:816 */
5720 {
5721 (*(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)));
5722 }
5723 #line 5724 "src/parser_proc.c" /* glr.c:816 */
5724 break;
5725
5726 case 474:
5727 #line 1595 "src/parser_proc_grammar.y" /* glr.c:816 */
5728 {
5729 (*(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)));
5730 }
5731 #line 5732 "src/parser_proc.c" /* glr.c:816 */
5732 break;
5733
5734 case 475:
5735 #line 1601 "src/parser_proc_grammar.y" /* glr.c:816 */
5736 {
5737 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5738 (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL);
5739 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5740 }
5741 #line 5742 "src/parser_proc.c" /* glr.c:816 */
5742 break;
5743
5744 case 476:
5745 #line 1606 "src/parser_proc_grammar.y" /* glr.c:816 */
5746 {
5747 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5748 (*(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)));
5749 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5750 }
5751 #line 5752 "src/parser_proc.c" /* glr.c:816 */
5752 break;
5753
5754 case 477:
5755 #line 1614 "src/parser_proc_grammar.y" /* glr.c:816 */
5756 {
5757 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5758 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5759 }
5760 #line 5761 "src/parser_proc.c" /* glr.c:816 */
5761 break;
5762
5763 case 478:
5764 #line 1618 "src/parser_proc_grammar.y" /* glr.c:816 */
5765 {
5766 (*(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)));
5767 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token);
5768 }
5769 #line 5770 "src/parser_proc.c" /* glr.c:816 */
5770 break;
5771
5772 case 479:
5773 #line 1622 "src/parser_proc_grammar.y" /* glr.c:816 */
5774 {
5775 (*(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)));
5776 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5777 }
5778 #line 5779 "src/parser_proc.c" /* glr.c:816 */
5779 break;
5780
5781 case 480:
5782 #line 1626 "src/parser_proc_grammar.y" /* glr.c:816 */
5783 {
5784 (*(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)));
5785 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5786 }
5787 #line 5788 "src/parser_proc.c" /* glr.c:816 */
5788 break;
5789
5790 case 481:
5791 #line 1630 "src/parser_proc_grammar.y" /* glr.c:816 */
5792 {
5793 (*(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)));
5794 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5795 }
5796 #line 5797 "src/parser_proc.c" /* glr.c:816 */
5797 break;
5798
5799 case 482:
5800 #line 1634 "src/parser_proc_grammar.y" /* glr.c:816 */
5801 {
5802 (*(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)));
5803 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5804 }
5805 #line 5806 "src/parser_proc.c" /* glr.c:816 */
5806 break;
5807
5808 case 483:
5809 #line 1641 "src/parser_proc_grammar.y" /* glr.c:816 */
5810 {
5811 (*(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);
5812 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5813 }
5814 #line 5815 "src/parser_proc.c" /* glr.c:816 */
5815 break;
5816
5817 case 484:
5818 #line 1645 "src/parser_proc_grammar.y" /* glr.c:816 */
5819 {
5820 (*(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);
5821 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5822 }
5823 #line 5824 "src/parser_proc.c" /* glr.c:816 */
5824 break;
5825
5826 case 485:
5827 #line 1649 "src/parser_proc_grammar.y" /* glr.c:816 */
5828 {
5829 (*(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);
5830 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5831 }
5832 #line 5833 "src/parser_proc.c" /* glr.c:816 */
5833 break;
5834
5835 case 486:
5836 #line 1653 "src/parser_proc_grammar.y" /* glr.c:816 */
5837 {
5838 (*(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);
5839 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5840 }
5841 #line 5842 "src/parser_proc.c" /* glr.c:816 */
5842 break;
5843
5844 case 487:
5845 #line 1657 "src/parser_proc_grammar.y" /* glr.c:816 */
5846 {
5847 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0);
5848 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5849 }
5850 #line 5851 "src/parser_proc.c" /* glr.c:816 */
5851 break;
5852
5853 case 488:
5854 #line 1661 "src/parser_proc_grammar.y" /* glr.c:816 */
5855 {
5856 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5857 }
5858 #line 5859 "src/parser_proc.c" /* glr.c:816 */
5859 break;
5860
5861 case 489:
5862 #line 1667 "src/parser_proc_grammar.y" /* glr.c:816 */
5863 {
5864 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5865 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5866 }
5867 #line 5868 "src/parser_proc.c" /* glr.c:816 */
5868 break;
5869
5870 case 490:
5871 #line 1671 "src/parser_proc_grammar.y" /* glr.c:816 */
5872 {
5873 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5874 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5875 }
5876 #line 5877 "src/parser_proc.c" /* glr.c:816 */
5877 break;
5878
5879 case 491:
5880 #line 1678 "src/parser_proc_grammar.y" /* glr.c:816 */
5881 {
5882 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5883 }
5884 #line 5885 "src/parser_proc.c" /* glr.c:816 */
5885 break;
5886
5887 case 492:
5888 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
5889 {
5890 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5891 int8_t sizeof_void_p = sizeof(void *);
5892 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5893 psi_decl_type_free(&(*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5894 } else {
5895 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0);
5896 }
5897 }
5898 #line 5899 "src/parser_proc.c" /* glr.c:816 */
5899 break;
5900
5901 case 493:
5902 #line 1693 "src/parser_proc_grammar.y" /* glr.c:816 */
5903 {
5904 int8_t sizeof_void_p = sizeof(void *);
5905 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5906 }
5907 #line 5908 "src/parser_proc.c" /* glr.c:816 */
5908 break;
5909
5910 case 494:
5911 #line 1697 "src/parser_proc_grammar.y" /* glr.c:816 */
5912 {
5913 int8_t sizeof_a = sizeof('a');
5914 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0);
5915 }
5916 #line 5917 "src/parser_proc.c" /* glr.c:816 */
5917 break;
5918
5919 case 495:
5920 #line 1701 "src/parser_proc_grammar.y" /* glr.c:816 */
5921 {
5922 uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1;
5923 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0);
5924 }
5925 #line 5926 "src/parser_proc.c" /* glr.c:816 */
5926 break;
5927
5928 case 496:
5929 #line 1708 "src/parser_proc_grammar.y" /* glr.c:816 */
5930 {
5931 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5932 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5933 } else {
5934 char digest[17];
5935
5936 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
5937 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
5938 }
5939 }
5940 #line 5941 "src/parser_proc.c" /* glr.c:816 */
5941 break;
5942
5943 case 497:
5944 #line 1721 "src/parser_proc_grammar.y" /* glr.c:816 */
5945 {
5946 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5947 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5948 } else {
5949 char digest[17];
5950
5951 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
5952 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
5953 }
5954 }
5955 #line 5956 "src/parser_proc.c" /* glr.c:816 */
5956 break;
5957
5958 case 498:
5959 #line 1734 "src/parser_proc_grammar.y" /* glr.c:816 */
5960 {
5961 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5962 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5963 } else {
5964 char digest[17];
5965
5966 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
5967 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
5968 }
5969 }
5970 #line 5971 "src/parser_proc.c" /* glr.c:816 */
5971 break;
5972
5973 case 499:
5974 #line 1747 "src/parser_proc_grammar.y" /* glr.c:816 */
5975 {
5976 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5977 }
5978 #line 5979 "src/parser_proc.c" /* glr.c:816 */
5979 break;
5980
5981 case 500:
5982 #line 1750 "src/parser_proc_grammar.y" /* glr.c:816 */
5983 {
5984 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5985 (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME;
5986 }
5987 #line 5988 "src/parser_proc.c" /* glr.c:816 */
5988 break;
5989
5990 case 503:
5991 #line 1762 "src/parser_proc_grammar.y" /* glr.c:816 */
5992 {
5993 (*(struct psi_layout **)(&(*yyvalp))) = NULL;
5994 }
5995 #line 5996 "src/parser_proc.c" /* glr.c:816 */
5996 break;
5997
5998 case 504:
5999 #line 1765 "src/parser_proc_grammar.y" /* glr.c:816 */
6000 {
6001 (*(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));
6002 }
6003 #line 6004 "src/parser_proc.c" /* glr.c:816 */
6004 break;
6005
6006 case 505:
6007 #line 1768 "src/parser_proc_grammar.y" /* glr.c:816 */
6008 {
6009 (*(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);
6010 }
6011 #line 6012 "src/parser_proc.c" /* glr.c:816 */
6012 break;
6013
6014 case 506:
6015 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
6016 {
6017 (*(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));
6018 }
6019 #line 6020 "src/parser_proc.c" /* glr.c:816 */
6020 break;
6021
6022 case 507:
6023 #line 1777 "src/parser_proc_grammar.y" /* glr.c:816 */
6024 {
6025 (*(struct psi_layout*)(&(*yyvalp))).pos = 0;
6026 (*(struct psi_layout*)(&(*yyvalp))).len = 0;
6027 }
6028 #line 6029 "src/parser_proc.c" /* glr.c:816 */
6029 break;
6030
6031 case 508:
6032 #line 1781 "src/parser_proc_grammar.y" /* glr.c:816 */
6033 {
6034 (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text);
6035 (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
6036 }
6037 #line 6038 "src/parser_proc.c" /* glr.c:816 */
6038 break;
6039
6040 case 509:
6041 #line 1788 "src/parser_proc_grammar.y" /* glr.c:816 */
6042 {
6043 (*(size_t*)(&(*yyvalp))) = 0;
6044 }
6045 #line 6046 "src/parser_proc.c" /* glr.c:816 */
6046 break;
6047
6048 case 510:
6049 #line 1791 "src/parser_proc_grammar.y" /* glr.c:816 */
6050 {
6051 (*(size_t*)(&(*yyvalp))) = 0;
6052 }
6053 #line 6054 "src/parser_proc.c" /* glr.c:816 */
6054 break;
6055
6056 case 511:
6057 #line 1794 "src/parser_proc_grammar.y" /* glr.c:816 */
6058 {
6059 struct psi_validate_scope scope = {0};
6060 psi_validate_scope_ctor(&scope);
6061 scope.defs = &P->preproc->defs;
6062 if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &scope)) {
6063 (*(size_t*)(&(*yyvalp))) = psi_num_exp_get_long((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), NULL, &P->preproc->defs);
6064 } else {
6065 (*(size_t*)(&(*yyvalp))) = 0;
6066 }
6067 psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6068 psi_validate_scope_dtor(&scope);
6069 }
6070 #line 6071 "src/parser_proc.c" /* glr.c:816 */
6071 break;
6072
6073 case 516:
6074 #line 1816 "src/parser_proc_grammar.y" /* glr.c:816 */
6075 {
6076 (*(size_t*)(&(*yyvalp))) = 0;
6077 }
6078 #line 6079 "src/parser_proc.c" /* glr.c:816 */
6079 break;
6080
6081 case 517:
6082 #line 1819 "src/parser_proc_grammar.y" /* glr.c:816 */
6083 {
6084 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6085 }
6086 #line 6087 "src/parser_proc.c" /* glr.c:816 */
6087 break;
6088
6089 case 519:
6090 #line 1826 "src/parser_proc_grammar.y" /* glr.c:816 */
6091 {
6092 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6093 }
6094 #line 6095 "src/parser_proc.c" /* glr.c:816 */
6095 break;
6096
6097 case 520:
6098 #line 1832 "src/parser_proc_grammar.y" /* glr.c:816 */
6099 {
6100 (*(size_t*)(&(*yyvalp))) = 1;
6101 }
6102 #line 6103 "src/parser_proc.c" /* glr.c:816 */
6103 break;
6104
6105 case 521:
6106 #line 1835 "src/parser_proc_grammar.y" /* glr.c:816 */
6107 {
6108 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1;
6109 }
6110 #line 6111 "src/parser_proc.c" /* glr.c:816 */
6111 break;
6112
6113 case 526:
6114 #line 1857 "src/parser_proc_grammar.y" /* glr.c:816 */
6115 {
6116 (*(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)));
6117 }
6118 #line 6119 "src/parser_proc.c" /* glr.c:816 */
6119 break;
6120
6121 case 527:
6122 #line 1860 "src/parser_proc_grammar.y" /* glr.c:816 */
6123 {
6124 (*(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)));
6125 (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1;
6126 }
6127 #line 6128 "src/parser_proc.c" /* glr.c:816 */
6128 break;
6129
6130 case 528:
6131 #line 1867 "src/parser_proc_grammar.y" /* glr.c:816 */
6132 {
6133 (*(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)));
6134 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6135 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval));
6136 }
6137 #line 6138 "src/parser_proc.c" /* glr.c:816 */
6138 break;
6139
6140 case 529:
6141 #line 1872 "src/parser_proc_grammar.y" /* glr.c:816 */
6142 {
6143 (*(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)));
6144 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6145 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval));
6146 }
6147 #line 6148 "src/parser_proc.c" /* glr.c:816 */
6148 break;
6149
6150 case 530:
6151 #line 1877 "src/parser_proc_grammar.y" /* glr.c:816 */
6152 {
6153 (*(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)));
6154 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)));
6155 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval));
6156 (*(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);
6157 (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6158 }
6159 #line 6160 "src/parser_proc.c" /* glr.c:816 */
6160 break;
6161
6162 case 531:
6163 #line 1887 "src/parser_proc_grammar.y" /* glr.c:816 */
6164 {
6165 (*(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)));
6166 }
6167 #line 6168 "src/parser_proc.c" /* glr.c:816 */
6168 break;
6169
6170 case 532:
6171 #line 1890 "src/parser_proc_grammar.y" /* glr.c:816 */
6172 {
6173 (*(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)));
6174 }
6175 #line 6176 "src/parser_proc.c" /* glr.c:816 */
6176 break;
6177
6178 case 533:
6179 #line 1896 "src/parser_proc_grammar.y" /* glr.c:816 */
6180 {
6181 (*(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);
6182 }
6183 #line 6184 "src/parser_proc.c" /* glr.c:816 */
6184 break;
6185
6186 case 534:
6187 #line 1899 "src/parser_proc_grammar.y" /* glr.c:816 */
6188 {
6189 (*(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)));
6190 }
6191 #line 6192 "src/parser_proc.c" /* glr.c:816 */
6192 break;
6193
6194 case 535:
6195 #line 1905 "src/parser_proc_grammar.y" /* glr.c:816 */
6196 {
6197 (*(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)));
6198 (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6199 }
6200 #line 6201 "src/parser_proc.c" /* glr.c:816 */
6201 break;
6202
6203 case 536:
6204 #line 1912 "src/parser_proc_grammar.y" /* glr.c:816 */
6205 {
6206 (*(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);
6207 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6208 }
6209 #line 6210 "src/parser_proc.c" /* glr.c:816 */
6210 break;
6211
6212 case 537:
6213 #line 1919 "src/parser_proc_grammar.y" /* glr.c:816 */
6214 {
6215 (*(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);
6216 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6217 }
6218 #line 6219 "src/parser_proc.c" /* glr.c:816 */
6219 break;
6220
6221 case 549:
6222 #line 1946 "src/parser_proc_grammar.y" /* glr.c:816 */
6223 {
6224 (*(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)));
6225 }
6226 #line 6227 "src/parser_proc.c" /* glr.c:816 */
6227 break;
6228
6229 case 550:
6230 #line 1949 "src/parser_proc_grammar.y" /* glr.c:816 */
6231 {
6232 (*(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)));
6233 }
6234 #line 6235 "src/parser_proc.c" /* glr.c:816 */
6235 break;
6236
6237 case 551:
6238 #line 1955 "src/parser_proc_grammar.y" /* glr.c:816 */
6239 {
6240 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6241 }
6242 #line 6243 "src/parser_proc.c" /* glr.c:816 */
6243 break;
6244
6245 case 552:
6246 #line 1958 "src/parser_proc_grammar.y" /* glr.c:816 */
6247 {
6248 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6249 }
6250 #line 6251 "src/parser_proc.c" /* glr.c:816 */
6251 break;
6252
6253 case 553:
6254 #line 1961 "src/parser_proc_grammar.y" /* glr.c:816 */
6255 {
6256 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6257 }
6258 #line 6259 "src/parser_proc.c" /* glr.c:816 */
6259 break;
6260
6261 case 554:
6262 #line 1964 "src/parser_proc_grammar.y" /* glr.c:816 */
6263 {
6264 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6265 }
6266 #line 6267 "src/parser_proc.c" /* glr.c:816 */
6267 break;
6268
6269 case 555:
6270 #line 1967 "src/parser_proc_grammar.y" /* glr.c:816 */
6271 {
6272 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6273 }
6274 #line 6275 "src/parser_proc.c" /* glr.c:816 */
6275 break;
6276
6277 case 556:
6278 #line 1973 "src/parser_proc_grammar.y" /* glr.c:816 */
6279 {
6280 (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6281 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6282 }
6283 #line 6284 "src/parser_proc.c" /* glr.c:816 */
6284 break;
6285
6286 case 557:
6287 #line 1977 "src/parser_proc_grammar.y" /* glr.c:816 */
6288 {
6289 (*(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))));
6290 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6291 (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6292 }
6293 #line 6294 "src/parser_proc.c" /* glr.c:816 */
6294 break;
6295
6296 case 559:
6297 #line 1986 "src/parser_proc_grammar.y" /* glr.c:816 */
6298 {
6299 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6300 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true;
6301 }
6302 #line 6303 "src/parser_proc.c" /* glr.c:816 */
6303 break;
6304
6305 case 560:
6306 #line 1990 "src/parser_proc_grammar.y" /* glr.c:816 */
6307 {
6308 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6309 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false;
6310 }
6311 #line 6312 "src/parser_proc.c" /* glr.c:816 */
6312 break;
6313
6314 case 561:
6315 #line 1997 "src/parser_proc_grammar.y" /* glr.c:816 */
6316 {
6317 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL);
6318 }
6319 #line 6320 "src/parser_proc.c" /* glr.c:816 */
6320 break;
6321
6322 case 562:
6323 #line 2000 "src/parser_proc_grammar.y" /* glr.c:816 */
6324 {
6325 (*(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)));
6326 }
6327 #line 6328 "src/parser_proc.c" /* glr.c:816 */
6328 break;
6329
6330 case 563:
6331 #line 2003 "src/parser_proc_grammar.y" /* glr.c:816 */
6332 {
6333 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6334 }
6335 #line 6336 "src/parser_proc.c" /* glr.c:816 */
6336 break;
6337
6338 case 564:
6339 #line 2006 "src/parser_proc_grammar.y" /* glr.c:816 */
6340 {
6341 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6342 (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1;
6343 }
6344 #line 6345 "src/parser_proc.c" /* glr.c:816 */
6345 break;
6346
6347 case 565:
6348 #line 2010 "src/parser_proc_grammar.y" /* glr.c:816 */
6349 {
6350 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6351 }
6352 #line 6353 "src/parser_proc.c" /* glr.c:816 */
6353 break;
6354
6355 case 566:
6356 #line 2013 "src/parser_proc_grammar.y" /* glr.c:816 */
6357 {
6358 (*(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)));
6359 }
6360 #line 6361 "src/parser_proc.c" /* glr.c:816 */
6361 break;
6362
6363 case 567:
6364 #line 2019 "src/parser_proc_grammar.y" /* glr.c:816 */
6365 {
6366 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6367 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6368 }
6369 #line 6370 "src/parser_proc.c" /* glr.c:816 */
6370 break;
6371
6372 case 568:
6373 #line 2023 "src/parser_proc_grammar.y" /* glr.c:816 */
6374 {
6375 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6376 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1;
6377 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
6378 }
6379 #line 6380 "src/parser_proc.c" /* glr.c:816 */
6380 break;
6381
6382 case 569:
6383 #line 2031 "src/parser_proc_grammar.y" /* glr.c:816 */
6384 {
6385 (*(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)));
6386 (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6387 }
6388 #line 6389 "src/parser_proc.c" /* glr.c:816 */
6389 break;
6390
6391 case 570:
6392 #line 2038 "src/parser_proc_grammar.y" /* glr.c:816 */
6393 {
6394 (*(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);
6395 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6396 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval)));
6397 }
6398 #line 6399 "src/parser_proc.c" /* glr.c:816 */
6399 break;
6400
6401 case 571:
6402 #line 2043 "src/parser_proc_grammar.y" /* glr.c:816 */
6403 {
6404 (*(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)));
6405 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6406 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)));
6407 }
6408 #line 6409 "src/parser_proc.c" /* glr.c:816 */
6409 break;
6410
6411 case 572:
6412 #line 2051 "src/parser_proc_grammar.y" /* glr.c:816 */
6413 {
6414 (*(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)));
6415 (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6416 (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6417 }
6418 #line 6419 "src/parser_proc.c" /* glr.c:816 */
6419 break;
6420
6421 case 583:
6422 #line 2072 "src/parser_proc_grammar.y" /* glr.c:816 */
6423 {
6424 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6425 }
6426 #line 6427 "src/parser_proc.c" /* glr.c:816 */
6427 break;
6428
6429 case 584:
6430 #line 2075 "src/parser_proc_grammar.y" /* glr.c:816 */
6431 {
6432 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6433 }
6434 #line 6435 "src/parser_proc.c" /* glr.c:816 */
6435 break;
6436
6437 case 585:
6438 #line 2081 "src/parser_proc_grammar.y" /* glr.c:816 */
6439 {
6440 (*(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)));
6441 }
6442 #line 6443 "src/parser_proc.c" /* glr.c:816 */
6443 break;
6444
6445 case 586:
6446 #line 2084 "src/parser_proc_grammar.y" /* glr.c:816 */
6447 {
6448 (*(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)));
6449 }
6450 #line 6451 "src/parser_proc.c" /* glr.c:816 */
6451 break;
6452
6453 case 589:
6454 #line 2095 "src/parser_proc_grammar.y" /* glr.c:816 */
6455 {
6456 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6457 }
6458 #line 6459 "src/parser_proc.c" /* glr.c:816 */
6459 break;
6460
6461 case 590:
6462 #line 2098 "src/parser_proc_grammar.y" /* glr.c:816 */
6463 {
6464 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6465 }
6466 #line 6467 "src/parser_proc.c" /* glr.c:816 */
6467 break;
6468
6469 case 591:
6470 #line 2104 "src/parser_proc_grammar.y" /* glr.c:816 */
6471 {
6472 (*(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)));
6473 }
6474 #line 6475 "src/parser_proc.c" /* glr.c:816 */
6475 break;
6476
6477 case 592:
6478 #line 2107 "src/parser_proc_grammar.y" /* glr.c:816 */
6479 {
6480 (*(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)));
6481 }
6482 #line 6483 "src/parser_proc.c" /* glr.c:816 */
6483 break;
6484
6485 case 593:
6486 #line 2113 "src/parser_proc_grammar.y" /* glr.c:816 */
6487 {
6488 (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6489 (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6490 }
6491 #line 6492 "src/parser_proc.c" /* glr.c:816 */
6492 break;
6493
6494 case 594:
6495 #line 2120 "src/parser_proc_grammar.y" /* glr.c:816 */
6496 {
6497 (*(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))));
6498 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token);
6499 }
6500 #line 6501 "src/parser_proc.c" /* glr.c:816 */
6501 break;
6502
6503 case 595:
6504 #line 2124 "src/parser_proc_grammar.y" /* glr.c:816 */
6505 {
6506 (*(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))));
6507 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
6508 }
6509 #line 6510 "src/parser_proc.c" /* glr.c:816 */
6510 break;
6511
6512 case 596:
6513 #line 2131 "src/parser_proc_grammar.y" /* glr.c:816 */
6514 {
6515 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6516 }
6517 #line 6518 "src/parser_proc.c" /* glr.c:816 */
6518 break;
6519
6520 case 597:
6521 #line 2134 "src/parser_proc_grammar.y" /* glr.c:816 */
6522 {
6523 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6524 }
6525 #line 6526 "src/parser_proc.c" /* glr.c:816 */
6526 break;
6527
6528 case 598:
6529 #line 2137 "src/parser_proc_grammar.y" /* glr.c:816 */
6530 {
6531 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6532 }
6533 #line 6534 "src/parser_proc.c" /* glr.c:816 */
6534 break;
6535
6536 case 599:
6537 #line 2143 "src/parser_proc_grammar.y" /* glr.c:816 */
6538 {
6539 (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6540 (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6541 }
6542 #line 6543 "src/parser_proc.c" /* glr.c:816 */
6543 break;
6544
6545 case 600:
6546 #line 2150 "src/parser_proc_grammar.y" /* glr.c:816 */
6547 {
6548 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6549 }
6550 #line 6551 "src/parser_proc.c" /* glr.c:816 */
6551 break;
6552
6553 case 601:
6554 #line 2153 "src/parser_proc_grammar.y" /* glr.c:816 */
6555 {
6556 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6557 }
6558 #line 6559 "src/parser_proc.c" /* glr.c:816 */
6559 break;
6560
6561 case 602:
6562 #line 2156 "src/parser_proc_grammar.y" /* glr.c:816 */
6563 {
6564 (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6565 (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6566 }
6567 #line 6568 "src/parser_proc.c" /* glr.c:816 */
6568 break;
6569
6570 case 603:
6571 #line 2163 "src/parser_proc_grammar.y" /* glr.c:816 */
6572 {
6573 (*(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)));
6574 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6575 (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6576 }
6577 #line 6578 "src/parser_proc.c" /* glr.c:816 */
6578 break;
6579
6580 case 604:
6581 #line 2168 "src/parser_proc_grammar.y" /* glr.c:816 */
6582 {
6583 (*(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)));
6584 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6585 (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1;
6586 }
6587 #line 6588 "src/parser_proc.c" /* glr.c:816 */
6588 break;
6589
6590 case 613:
6591 #line 2187 "src/parser_proc_grammar.y" /* glr.c:816 */
6592 {
6593 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6594 }
6595 #line 6596 "src/parser_proc.c" /* glr.c:816 */
6596 break;
6597
6598 case 614:
6599 #line 2190 "src/parser_proc_grammar.y" /* glr.c:816 */
6600 {
6601 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6602 }
6603 #line 6604 "src/parser_proc.c" /* glr.c:816 */
6604 break;
6605
6606 case 615:
6607 #line 2196 "src/parser_proc_grammar.y" /* glr.c:816 */
6608 {
6609 (*(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)));
6610 }
6611 #line 6612 "src/parser_proc.c" /* glr.c:816 */
6612 break;
6613
6614 case 616:
6615 #line 2199 "src/parser_proc_grammar.y" /* glr.c:816 */
6616 {
6617 (*(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)));
6618 }
6619 #line 6620 "src/parser_proc.c" /* glr.c:816 */
6620 break;
6621
6622 case 617:
6623 #line 2205 "src/parser_proc_grammar.y" /* glr.c:816 */
6624 {
6625 (*(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)));
6626 (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6627 }
6628 #line 6629 "src/parser_proc.c" /* glr.c:816 */
6629 break;
6630
6631 case 620:
6632 #line 2217 "src/parser_proc_grammar.y" /* glr.c:816 */
6633 {
6634 (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6635 (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6636 }
6637 #line 6638 "src/parser_proc.c" /* glr.c:816 */
6638 break;
6639
6640 case 621:
6641 #line 2224 "src/parser_proc_grammar.y" /* glr.c:816 */
6642 {
6643 (*(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)));
6644 }
6645 #line 6646 "src/parser_proc.c" /* glr.c:816 */
6646 break;
6647
6648 case 622:
6649 #line 2227 "src/parser_proc_grammar.y" /* glr.c:816 */
6650 {
6651 (*(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)));
6652 }
6653 #line 6654 "src/parser_proc.c" /* glr.c:816 */
6654 break;
6655
6656 case 623:
6657 #line 2233 "src/parser_proc_grammar.y" /* glr.c:816 */
6658 {
6659 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
6660 (*(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)));
6661 (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6662 }
6663 #line 6664 "src/parser_proc.c" /* glr.c:816 */
6664 break;
6665
6666 case 624:
6667 #line 2241 "src/parser_proc_grammar.y" /* glr.c:816 */
6668 {
6669 (*(bool*)(&(*yyvalp))) = false;
6670 }
6671 #line 6672 "src/parser_proc.c" /* glr.c:816 */
6672 break;
6673
6674 case 625:
6675 #line 2244 "src/parser_proc_grammar.y" /* glr.c:816 */
6676 {
6677 (*(bool*)(&(*yyvalp))) = true;
6678 }
6679 #line 6680 "src/parser_proc.c" /* glr.c:816 */
6680 break;
6681
6682
6683 #line 6684 "src/parser_proc.c" /* glr.c:816 */
6684 default: break;
6685 }
6686
6687 return yyok;
6688 # undef yyerrok
6689 # undef YYABORT
6690 # undef YYACCEPT
6691 # undef YYERROR
6692 # undef YYBACKUP
6693 # undef yyclearin
6694 # undef YYRECOVERING
6695 }
6696
6697
6698 static void
6699 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
6700 {
6701 YYUSE (yy0);
6702 YYUSE (yy1);
6703
6704 switch (yyn)
6705 {
6706
6707 default: break;
6708 }
6709 }
6710
6711 /* Bison grammar-table manipulation. */
6712
6713 /*-----------------------------------------------.
6714 | Release the memory associated to this symbol. |
6715 `-----------------------------------------------*/
6716
6717 static void
6718 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
6719 {
6720 YYUSE (yyvaluep);
6721 YYUSE (P);
6722 YYUSE (tokens);
6723 YYUSE (index);
6724 if (!yymsg)
6725 yymsg = "Deleting";
6726 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6727
6728 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6729 switch (yytype)
6730 {
6731 case 141: /* binary_op_token */
6732 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6733 {}
6734 #line 6735 "src/parser_proc.c" /* glr.c:846 */
6735 break;
6736
6737 case 142: /* unary_op_token */
6738 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6739 {}
6740 #line 6741 "src/parser_proc.c" /* glr.c:846 */
6741 break;
6742
6743 case 143: /* name_token */
6744 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6745 {}
6746 #line 6747 "src/parser_proc.c" /* glr.c:846 */
6747 break;
6748
6749 case 144: /* any_noeol_token */
6750 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6751 {}
6752 #line 6753 "src/parser_proc.c" /* glr.c:846 */
6753 break;
6754
6755 case 149: /* lib */
6756 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
6757 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6758 #line 6759 "src/parser_proc.c" /* glr.c:846 */
6759 break;
6760
6761 case 150: /* cpp */
6762 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6763 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6764 #line 6765 "src/parser_proc.c" /* glr.c:846 */
6765 break;
6766
6767 case 151: /* cpp_exp */
6768 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6769 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6770 #line 6771 "src/parser_proc.c" /* glr.c:846 */
6771 break;
6772
6773 case 153: /* cpp_message_token */
6774 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6775 {}
6776 #line 6777 "src/parser_proc.c" /* glr.c:846 */
6777 break;
6778
6779 case 154: /* cpp_include_token */
6780 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6781 {}
6782 #line 6783 "src/parser_proc.c" /* glr.c:846 */
6783 break;
6784
6785 case 155: /* cpp_header_token */
6786 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6787 {}
6788 #line 6789 "src/parser_proc.c" /* glr.c:846 */
6789 break;
6790
6791 case 156: /* cpp_no_arg_token */
6792 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6793 {}
6794 #line 6795 "src/parser_proc.c" /* glr.c:846 */
6795 break;
6796
6797 case 157: /* cpp_name_arg_token */
6798 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6799 {}
6800 #line 6801 "src/parser_proc.c" /* glr.c:846 */
6801 break;
6802
6803 case 158: /* cpp_exp_arg_token */
6804 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6805 {}
6806 #line 6807 "src/parser_proc.c" /* glr.c:846 */
6807 break;
6808
6809 case 159: /* cpp_macro_decl */
6810 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
6811 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));}
6812 #line 6813 "src/parser_proc.c" /* glr.c:846 */
6813 break;
6814
6815 case 160: /* cpp_macro_sig */
6816 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6817 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6818 #line 6819 "src/parser_proc.c" /* glr.c:846 */
6819 break;
6820
6821 case 161: /* cpp_macro_sig_args */
6822 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6823 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6824 #line 6825 "src/parser_proc.c" /* glr.c:846 */
6825 break;
6826
6827 case 162: /* cpp_macro_decl_tokens */
6828 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6829 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6830 #line 6831 "src/parser_proc.c" /* glr.c:846 */
6831 break;
6832
6833 case 163: /* cpp_macro_decl_token_list */
6834 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6835 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6836 #line 6837 "src/parser_proc.c" /* glr.c:846 */
6837 break;
6838
6839 case 164: /* cpp_macro_exp */
6840 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
6841 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
6842 #line 6843 "src/parser_proc.c" /* glr.c:846 */
6843 break;
6844
6845 case 165: /* cpp_macro_call_args */
6846 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6847 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6848 #line 6849 "src/parser_proc.c" /* glr.c:846 */
6849 break;
6850
6851 case 166: /* cpp_macro_call_arg_list */
6852 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6853 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6854 #line 6855 "src/parser_proc.c" /* glr.c:846 */
6855 break;
6856
6857 case 167: /* constant */
6858 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
6859 {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));}
6860 #line 6861 "src/parser_proc.c" /* glr.c:846 */
6861 break;
6862
6863 case 168: /* impl_def_val */
6864 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
6865 {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));}
6866 #line 6867 "src/parser_proc.c" /* glr.c:846 */
6867 break;
6868
6869 case 169: /* impl_def_val_token */
6870 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
6871 {}
6872 #line 6873 "src/parser_proc.c" /* glr.c:846 */
6873 break;
6874
6875 case 170: /* decl_typedef */
6876 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6877 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6878 #line 6879 "src/parser_proc.c" /* glr.c:846 */
6879 break;
6880
6881 case 171: /* typedef */
6882 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6883 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6884 #line 6885 "src/parser_proc.c" /* glr.c:846 */
6885 break;
6886
6887 case 172: /* typedef_anon */
6888 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6889 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6890 #line 6891 "src/parser_proc.c" /* glr.c:846 */
6891 break;
6892
6893 case 173: /* typedef_decl */
6894 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6895 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6896 #line 6897 "src/parser_proc.c" /* glr.c:846 */
6897 break;
6898
6899 case 174: /* typedef_anon_decl */
6900 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6901 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6902 #line 6903 "src/parser_proc.c" /* glr.c:846 */
6903 break;
6904
6905 case 175: /* qualified_decl_type */
6906 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6907 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6908 #line 6909 "src/parser_proc.c" /* glr.c:846 */
6909 break;
6910
6911 case 177: /* decl_type */
6912 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6913 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6914 #line 6915 "src/parser_proc.c" /* glr.c:846 */
6915 break;
6916
6917 case 178: /* decl_type_complex */
6918 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6919 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6920 #line 6921 "src/parser_proc.c" /* glr.c:846 */
6921 break;
6922
6923 case 179: /* decl_type_simple */
6924 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6925 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6926 #line 6927 "src/parser_proc.c" /* glr.c:846 */
6927 break;
6928
6929 case 180: /* decl_real_type */
6930 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6931 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6932 #line 6933 "src/parser_proc.c" /* glr.c:846 */
6933 break;
6934
6935 case 181: /* int_signed */
6936 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
6937 {}
6938 #line 6939 "src/parser_proc.c" /* glr.c:846 */
6939 break;
6940
6941 case 182: /* int_width */
6942 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
6943 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6944 #line 6945 "src/parser_proc.c" /* glr.c:846 */
6945 break;
6946
6947 case 183: /* decl_int_type */
6948 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6949 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6950 #line 6951 "src/parser_proc.c" /* glr.c:846 */
6951 break;
6952
6953 case 184: /* int_signed_types */
6954 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
6955 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6956 #line 6957 "src/parser_proc.c" /* glr.c:846 */
6957 break;
6958
6959 case 185: /* signed_short_types */
6960 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
6961 {}
6962 #line 6963 "src/parser_proc.c" /* glr.c:846 */
6963 break;
6964
6965 case 186: /* signed_long_types */
6966 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
6967 {}
6968 #line 6969 "src/parser_proc.c" /* glr.c:846 */
6969 break;
6970
6971 case 187: /* int_width_types */
6972 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
6973 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6974 #line 6975 "src/parser_proc.c" /* glr.c:846 */
6975 break;
6976
6977 case 188: /* decl_stmt */
6978 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
6979 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
6980 #line 6981 "src/parser_proc.c" /* glr.c:846 */
6981 break;
6982
6983 case 189: /* decl_asm */
6984 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
6985 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6986 #line 6987 "src/parser_proc.c" /* glr.c:846 */
6987 break;
6988
6989 case 190: /* quoted_strings */
6990 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
6991 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6992 #line 6993 "src/parser_proc.c" /* glr.c:846 */
6993 break;
6994
6995 case 191: /* decl_extvar_stmt */
6996 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
6997 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6998 #line 6999 "src/parser_proc.c" /* glr.c:846 */
6999 break;
7000
7001 case 192: /* decl_extvar_list */
7002 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7003 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7004 #line 7005 "src/parser_proc.c" /* glr.c:846 */
7005 break;
7006
7007 case 193: /* decl_vars */
7008 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7009 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7010 #line 7011 "src/parser_proc.c" /* glr.c:846 */
7011 break;
7012
7013 case 194: /* ignored_decl */
7014 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7015 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7016 #line 7017 "src/parser_proc.c" /* glr.c:846 */
7017 break;
7018
7019 case 198: /* decl */
7020 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7021 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7022 #line 7023 "src/parser_proc.c" /* glr.c:846 */
7023 break;
7024
7025 case 199: /* decl_body */
7026 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7027 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7028 #line 7029 "src/parser_proc.c" /* glr.c:846 */
7029 break;
7030
7031 case 200: /* decl_func_body */
7032 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7033 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7034 #line 7035 "src/parser_proc.c" /* glr.c:846 */
7035 break;
7036
7037 case 201: /* decl_functor_body */
7038 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7039 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7040 #line 7041 "src/parser_proc.c" /* glr.c:846 */
7041 break;
7042
7043 case 202: /* decl_anon_functor_body */
7044 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7045 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7046 #line 7047 "src/parser_proc.c" /* glr.c:846 */
7047 break;
7048
7049 case 203: /* decl_functor */
7050 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7051 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7052 #line 7053 "src/parser_proc.c" /* glr.c:846 */
7053 break;
7054
7055 case 204: /* decl_anon_functor */
7056 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7057 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7058 #line 7059 "src/parser_proc.c" /* glr.c:846 */
7059 break;
7060
7061 case 205: /* decl_func */
7062 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7063 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7064 #line 7065 "src/parser_proc.c" /* glr.c:846 */
7065 break;
7066
7067 case 206: /* decl_args */
7068 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7069 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7070 #line 7071 "src/parser_proc.c" /* glr.c:846 */
7071 break;
7072
7073 case 207: /* decl_arg_list */
7074 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7075 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7076 #line 7077 "src/parser_proc.c" /* glr.c:846 */
7077 break;
7078
7079 case 208: /* decl_anon_arg */
7080 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7081 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7082 #line 7083 "src/parser_proc.c" /* glr.c:846 */
7083 break;
7084
7085 case 209: /* decl_arg */
7086 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7087 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7088 #line 7089 "src/parser_proc.c" /* glr.c:846 */
7089 break;
7090
7091 case 210: /* decl_var */
7092 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
7093 {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));}
7094 #line 7095 "src/parser_proc.c" /* glr.c:846 */
7095 break;
7096
7097 case 211: /* decl_union */
7098 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
7099 {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));}
7100 #line 7101 "src/parser_proc.c" /* glr.c:846 */
7101 break;
7102
7103 case 212: /* decl_struct */
7104 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
7105 {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));}
7106 #line 7107 "src/parser_proc.c" /* glr.c:846 */
7107 break;
7108
7109 case 213: /* decl_struct_args */
7110 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7111 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7112 #line 7113 "src/parser_proc.c" /* glr.c:846 */
7113 break;
7114
7115 case 214: /* struct_args_block */
7116 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7117 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7118 #line 7119 "src/parser_proc.c" /* glr.c:846 */
7119 break;
7120
7121 case 215: /* struct_args */
7122 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7123 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7124 #line 7125 "src/parser_proc.c" /* glr.c:846 */
7125 break;
7126
7127 case 216: /* struct_arg_var_list */
7128 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7129 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7130 #line 7131 "src/parser_proc.c" /* glr.c:846 */
7131 break;
7132
7133 case 217: /* decl_vars_with_layout */
7134 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7135 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7136 #line 7137 "src/parser_proc.c" /* glr.c:846 */
7137 break;
7138
7139 case 218: /* decl_enum */
7140 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
7141 {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));}
7142 #line 7143 "src/parser_proc.c" /* glr.c:846 */
7143 break;
7144
7145 case 219: /* decl_enum_items */
7146 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7147 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7148 #line 7149 "src/parser_proc.c" /* glr.c:846 */
7149 break;
7150
7151 case 220: /* decl_enum_item */
7152 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
7153 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));}
7154 #line 7155 "src/parser_proc.c" /* glr.c:846 */
7155 break;
7156
7157 case 221: /* num_exp */
7158 #line 419 "src/parser_proc_grammar.y" /* glr.c:846 */
7159 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
7160 #line 7161 "src/parser_proc.c" /* glr.c:846 */
7161 break;
7162
7163 case 222: /* number */
7164 #line 421 "src/parser_proc_grammar.y" /* glr.c:846 */
7165 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7166 #line 7167 "src/parser_proc.c" /* glr.c:846 */
7167 break;
7168
7169 case 223: /* sizeof */
7170 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7171 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7172 #line 7173 "src/parser_proc.c" /* glr.c:846 */
7173 break;
7174
7175 case 224: /* sizeof_body */
7176 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7177 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7178 #line 7179 "src/parser_proc.c" /* glr.c:846 */
7179 break;
7180
7181 case 225: /* sizeof_body_notypes */
7182 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7183 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7184 #line 7185 "src/parser_proc.c" /* glr.c:846 */
7185 break;
7186
7187 case 226: /* enum_name */
7188 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7189 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7190 #line 7191 "src/parser_proc.c" /* glr.c:846 */
7191 break;
7192
7193 case 227: /* union_name */
7194 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7195 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7196 #line 7197 "src/parser_proc.c" /* glr.c:846 */
7197 break;
7198
7199 case 228: /* struct_name */
7200 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7201 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7202 #line 7203 "src/parser_proc.c" /* glr.c:846 */
7203 break;
7204
7205 case 229: /* optional_name */
7206 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7207 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7208 #line 7209 "src/parser_proc.c" /* glr.c:846 */
7209 break;
7210
7211 case 231: /* decl_layout */
7212 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
7213 {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));}
7214 #line 7215 "src/parser_proc.c" /* glr.c:846 */
7215 break;
7216
7217 case 232: /* align_and_size */
7218 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
7219 {}
7220 #line 7221 "src/parser_proc.c" /* glr.c:846 */
7221 break;
7222
7223 case 233: /* array_size */
7224 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7225 {}
7226 #line 7227 "src/parser_proc.c" /* glr.c:846 */
7227 break;
7228
7229 case 235: /* indirection */
7230 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7231 {}
7232 #line 7233 "src/parser_proc.c" /* glr.c:846 */
7233 break;
7234
7235 case 236: /* pointers */
7236 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7237 {}
7238 #line 7239 "src/parser_proc.c" /* glr.c:846 */
7239 break;
7240
7241 case 237: /* asterisks */
7242 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7243 {}
7244 #line 7245 "src/parser_proc.c" /* glr.c:846 */
7245 break;
7246
7247 case 240: /* impl */
7248 #line 374 "src/parser_proc_grammar.y" /* glr.c:846 */
7249 {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));}
7250 #line 7251 "src/parser_proc.c" /* glr.c:846 */
7251 break;
7252
7253 case 241: /* impl_func */
7254 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
7255 {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));}
7256 #line 7257 "src/parser_proc.c" /* glr.c:846 */
7257 break;
7258
7259 case 242: /* impl_args */
7260 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7261 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7262 #line 7263 "src/parser_proc.c" /* glr.c:846 */
7263 break;
7264
7265 case 243: /* impl_arg */
7266 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
7267 {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));}
7268 #line 7269 "src/parser_proc.c" /* glr.c:846 */
7269 break;
7270
7271 case 244: /* impl_var */
7272 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
7273 {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));}
7274 #line 7275 "src/parser_proc.c" /* glr.c:846 */
7275 break;
7276
7277 case 245: /* impl_type */
7278 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7279 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7280 #line 7281 "src/parser_proc.c" /* glr.c:846 */
7281 break;
7282
7283 case 246: /* impl_type_restricted */
7284 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7285 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7286 #line 7287 "src/parser_proc.c" /* glr.c:846 */
7287 break;
7288
7289 case 247: /* impl_type_token */
7290 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7291 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7292 #line 7293 "src/parser_proc.c" /* glr.c:846 */
7293 break;
7294
7295 case 248: /* impl_type_restricted_token */
7296 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7297 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7298 #line 7299 "src/parser_proc.c" /* glr.c:846 */
7299 break;
7300
7301 case 249: /* impl_type_extended_token */
7302 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7303 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7304 #line 7305 "src/parser_proc.c" /* glr.c:846 */
7305 break;
7306
7307 case 250: /* impl_stmts */
7308 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7309 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7310 #line 7311 "src/parser_proc.c" /* glr.c:846 */
7311 break;
7312
7313 case 251: /* impl_stmt */
7314 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
7315 {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));}
7316 #line 7317 "src/parser_proc.c" /* glr.c:846 */
7317 break;
7318
7319 case 252: /* let_stmt */
7320 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
7321 {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));}
7322 #line 7323 "src/parser_proc.c" /* glr.c:846 */
7323 break;
7324
7325 case 253: /* let_exp */
7326 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7327 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7328 #line 7329 "src/parser_proc.c" /* glr.c:846 */
7329 break;
7330
7331 case 254: /* let_exp_byref */
7332 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7333 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7334 #line 7335 "src/parser_proc.c" /* glr.c:846 */
7335 break;
7336
7337 case 255: /* let_exp_assign */
7338 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7339 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7340 #line 7341 "src/parser_proc.c" /* glr.c:846 */
7341 break;
7342
7343 case 256: /* let_calloc */
7344 #line 389 "src/parser_proc_grammar.y" /* glr.c:846 */
7345 {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));}
7346 #line 7347 "src/parser_proc.c" /* glr.c:846 */
7347 break;
7348
7349 case 257: /* let_callback */
7350 #line 391 "src/parser_proc_grammar.y" /* glr.c:846 */
7351 {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));}
7352 #line 7353 "src/parser_proc.c" /* glr.c:846 */
7353 break;
7354
7355 case 258: /* let_func */
7356 #line 393 "src/parser_proc_grammar.y" /* glr.c:846 */
7357 {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));}
7358 #line 7359 "src/parser_proc.c" /* glr.c:846 */
7359 break;
7360
7361 case 259: /* let_func_token */
7362 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7363 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7364 #line 7365 "src/parser_proc.c" /* glr.c:846 */
7365 break;
7366
7367 case 260: /* let_func_exps */
7368 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7369 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7370 #line 7371 "src/parser_proc.c" /* glr.c:846 */
7371 break;
7372
7373 case 261: /* let_exps */
7374 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7375 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7376 #line 7377 "src/parser_proc.c" /* glr.c:846 */
7377 break;
7378
7379 case 262: /* callback_rval */
7380 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7381 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7382 #line 7383 "src/parser_proc.c" /* glr.c:846 */
7383 break;
7384
7385 case 263: /* callback_arg_list */
7386 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7387 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7388 #line 7389 "src/parser_proc.c" /* glr.c:846 */
7389 break;
7390
7391 case 264: /* callback_args */
7392 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7393 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7394 #line 7395 "src/parser_proc.c" /* glr.c:846 */
7395 break;
7396
7397 case 265: /* return_stmt */
7398 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
7399 {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));}
7400 #line 7401 "src/parser_proc.c" /* glr.c:846 */
7401 break;
7402
7403 case 266: /* return_exp */
7404 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
7405 {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));}
7406 #line 7407 "src/parser_proc.c" /* glr.c:846 */
7407 break;
7408
7409 case 267: /* call_decl_vars */
7410 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7411 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7412 #line 7413 "src/parser_proc.c" /* glr.c:846 */
7413 break;
7414
7415 case 268: /* set_stmt */
7416 #line 395 "src/parser_proc_grammar.y" /* glr.c:846 */
7417 {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));}
7418 #line 7419 "src/parser_proc.c" /* glr.c:846 */
7419 break;
7420
7421 case 269: /* set_exp */
7422 #line 397 "src/parser_proc_grammar.y" /* glr.c:846 */
7423 {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));}
7424 #line 7425 "src/parser_proc.c" /* glr.c:846 */
7425 break;
7426
7427 case 270: /* set_func */
7428 #line 399 "src/parser_proc_grammar.y" /* glr.c:846 */
7429 {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));}
7430 #line 7431 "src/parser_proc.c" /* glr.c:846 */
7431 break;
7432
7433 case 271: /* set_func_token */
7434 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7435 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7436 #line 7437 "src/parser_proc.c" /* glr.c:846 */
7437 break;
7438
7439 case 272: /* set_func_exps */
7440 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7441 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7442 #line 7443 "src/parser_proc.c" /* glr.c:846 */
7443 break;
7444
7445 case 273: /* set_exps */
7446 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7447 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7448 #line 7449 "src/parser_proc.c" /* glr.c:846 */
7449 break;
7450
7451 case 274: /* assert_stmt */
7452 #line 401 "src/parser_proc_grammar.y" /* glr.c:846 */
7453 {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));}
7454 #line 7455 "src/parser_proc.c" /* glr.c:846 */
7455 break;
7456
7457 case 275: /* assert_stmt_token */
7458 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7459 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7460 #line 7461 "src/parser_proc.c" /* glr.c:846 */
7461 break;
7462
7463 case 276: /* free_stmt */
7464 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
7465 {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));}
7466 #line 7467 "src/parser_proc.c" /* glr.c:846 */
7467 break;
7468
7469 case 277: /* free_exps */
7470 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7471 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7472 #line 7473 "src/parser_proc.c" /* glr.c:846 */
7473 break;
7474
7475 case 278: /* free_exp */
7476 #line 409 "src/parser_proc_grammar.y" /* glr.c:846 */
7477 {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));}
7478 #line 7479 "src/parser_proc.c" /* glr.c:846 */
7479 break;
7480
7481 case 279: /* reference */
7482 #line 426 "src/parser_proc_grammar.y" /* glr.c:846 */
7483 {}
7484 #line 7485 "src/parser_proc.c" /* glr.c:846 */
7485 break;
7486
7487
7488 default:
7489 break;
7490 }
7491 YY_IGNORE_MAYBE_UNINITIALIZED_END
7492 }
7493
7494 /** Number of symbols composing the right hand side of rule #RULE. */
7495 static inline int
7496 yyrhsLength (yyRuleNum yyrule)
7497 {
7498 return yyr2[yyrule];
7499 }
7500
7501 static void
7502 yydestroyGLRState (char const *yymsg, yyGLRState *yys, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7503 {
7504 if (yys->yyresolved)
7505 yydestruct (yymsg, yystos[yys->yylrState],
7506 &yys->yysemantics.yysval, P, tokens, index);
7507 else
7508 {
7509 #if YYDEBUG
7510 if (yydebug)
7511 {
7512 if (yys->yysemantics.yyfirstVal)
7513 YYFPRINTF (stderr, "%s unresolved", yymsg);
7514 else
7515 YYFPRINTF (stderr, "%s incomplete", yymsg);
7516 YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc);
7517 }
7518 #endif
7519
7520 if (yys->yysemantics.yyfirstVal)
7521 {
7522 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
7523 yyGLRState *yyrh;
7524 int yyn;
7525 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
7526 yyn > 0;
7527 yyrh = yyrh->yypred, yyn -= 1)
7528 yydestroyGLRState (yymsg, yyrh, P, tokens, index);
7529 }
7530 }
7531 }
7532
7533 /** Left-hand-side symbol for rule #YYRULE. */
7534 static inline yySymbol
7535 yylhsNonterm (yyRuleNum yyrule)
7536 {
7537 return yyr1[yyrule];
7538 }
7539
7540 #define yypact_value_is_default(Yystate) \
7541 (!!((Yystate) == (-714)))
7542
7543 /** True iff LR state YYSTATE has only a default reduction (regardless
7544 * of token). */
7545 static inline yybool
7546 yyisDefaultedState (yyStateNum yystate)
7547 {
7548 return yypact_value_is_default (yypact[yystate]);
7549 }
7550
7551 /** The default reduction for YYSTATE, assuming it has one. */
7552 static inline yyRuleNum
7553 yydefaultAction (yyStateNum yystate)
7554 {
7555 return yydefact[yystate];
7556 }
7557
7558 #define yytable_value_is_error(Yytable_value) \
7559 0
7560
7561 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7562 * Result R means
7563 * R < 0: Reduce on rule -R.
7564 * R = 0: Error.
7565 * R > 0: Shift to state R.
7566 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7567 * of conflicting reductions.
7568 */
7569 static inline void
7570 yygetLRActions (yyStateNum yystate, int yytoken,
7571 int* yyaction, const short int** yyconflicts)
7572 {
7573 int yyindex = yypact[yystate] + yytoken;
7574 if (yypact_value_is_default (yypact[yystate])
7575 || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
7576 {
7577 *yyaction = -yydefact[yystate];
7578 *yyconflicts = yyconfl;
7579 }
7580 else if (! yytable_value_is_error (yytable[yyindex]))
7581 {
7582 *yyaction = yytable[yyindex];
7583 *yyconflicts = yyconfl + yyconflp[yyindex];
7584 }
7585 else
7586 {
7587 *yyaction = 0;
7588 *yyconflicts = yyconfl + yyconflp[yyindex];
7589 }
7590 }
7591
7592 /** Compute post-reduction state.
7593 * \param yystate the current state
7594 * \param yysym the nonterminal to push on the stack
7595 */
7596 static inline yyStateNum
7597 yyLRgotoState (yyStateNum yystate, yySymbol yysym)
7598 {
7599 int yyr = yypgoto[yysym - YYNTOKENS] + yystate;
7600 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
7601 return yytable[yyr];
7602 else
7603 return yydefgoto[yysym - YYNTOKENS];
7604 }
7605
7606 static inline yybool
7607 yyisShiftAction (int yyaction)
7608 {
7609 return 0 < yyaction;
7610 }
7611
7612 static inline yybool
7613 yyisErrorAction (int yyaction)
7614 {
7615 return yyaction == 0;
7616 }
7617
7618 /* GLRStates */
7619
7620 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7621 * if YYISSTATE, and otherwise a semantic option. Callers should call
7622 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7623 * headroom. */
7624
7625 static inline yyGLRStackItem*
7626 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
7627 {
7628 yyGLRStackItem* yynewItem = yystackp->yynextFree;
7629 yystackp->yyspaceLeft -= 1;
7630 yystackp->yynextFree += 1;
7631 yynewItem->yystate.yyisState = yyisState;
7632 return yynewItem;
7633 }
7634
7635 /** Add a new semantic action that will execute the action for rule
7636 * YYRULE on the semantic values in YYRHS to the list of
7637 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7638 * stack #YYK of *YYSTACKP. */
7639 static void
7640 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
7641 yyGLRState* yyrhs, yyRuleNum yyrule)
7642 {
7643 yySemanticOption* yynewOption =
7644 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
7645 YYASSERT (!yynewOption->yyisState);
7646 yynewOption->yystate = yyrhs;
7647 yynewOption->yyrule = yyrule;
7648 if (yystackp->yytops.yylookaheadNeeds[yyk])
7649 {
7650 yynewOption->yyrawchar = yychar;
7651 yynewOption->yyval = yylval;
7652 }
7653 else
7654 yynewOption->yyrawchar = YYEMPTY;
7655 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
7656 yystate->yysemantics.yyfirstVal = yynewOption;
7657
7658 YY_RESERVE_GLRSTACK (yystackp);
7659 }
7660
7661 /* GLRStacks */
7662
7663 /** Initialize YYSET to a singleton set containing an empty stack. */
7664 static yybool
7665 yyinitStateSet (yyGLRStateSet* yyset)
7666 {
7667 yyset->yysize = 1;
7668 yyset->yycapacity = 16;
7669 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
7670 if (! yyset->yystates)
7671 return yyfalse;
7672 yyset->yystates[0] = YY_NULLPTR;
7673 yyset->yylookaheadNeeds =
7674 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
7675 if (! yyset->yylookaheadNeeds)
7676 {
7677 YYFREE (yyset->yystates);
7678 return yyfalse;
7679 }
7680 return yytrue;
7681 }
7682
7683 static void yyfreeStateSet (yyGLRStateSet* yyset)
7684 {
7685 YYFREE (yyset->yystates);
7686 YYFREE (yyset->yylookaheadNeeds);
7687 }
7688
7689 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7690 * capacity for all stacks of YYSIZE. */
7691 static yybool
7692 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
7693 {
7694 yystackp->yyerrState = 0;
7695 yynerrs = 0;
7696 yystackp->yyspaceLeft = yysize;
7697 yystackp->yyitems =
7698 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
7699 if (!yystackp->yyitems)
7700 return yyfalse;
7701 yystackp->yynextFree = yystackp->yyitems;
7702 yystackp->yysplitPoint = YY_NULLPTR;
7703 yystackp->yylastDeleted = YY_NULLPTR;
7704 return yyinitStateSet (&yystackp->yytops);
7705 }
7706
7707
7708 #if YYSTACKEXPANDABLE
7709 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7710 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7711
7712 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7713 stack from outside should be considered invalid after this call.
7714 We always expand when there are 1 or fewer items left AFTER an
7715 allocation, so that we can avoid having external pointers exist
7716 across an allocation. */
7717 static void
7718 yyexpandGLRStack (yyGLRStack* yystackp)
7719 {
7720 yyGLRStackItem* yynewItems;
7721 yyGLRStackItem* yyp0, *yyp1;
7722 size_t yynewSize;
7723 size_t yyn;
7724 size_t yysize = yystackp->yynextFree - yystackp->yyitems;
7725 if (YYMAXDEPTH - YYHEADROOM < yysize)
7726 yyMemoryExhausted (yystackp);
7727 yynewSize = 2*yysize;
7728 if (YYMAXDEPTH < yynewSize)
7729 yynewSize = YYMAXDEPTH;
7730 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
7731 if (! yynewItems)
7732 yyMemoryExhausted (yystackp);
7733 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
7734 0 < yyn;
7735 yyn -= 1, yyp0 += 1, yyp1 += 1)
7736 {
7737 *yyp1 = *yyp0;
7738 if (*(yybool *) yyp0)
7739 {
7740 yyGLRState* yys0 = &yyp0->yystate;
7741 yyGLRState* yys1 = &yyp1->yystate;
7742 if (yys0->yypred != YY_NULLPTR)
7743 yys1->yypred =
7744 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
7745 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR)
7746 yys1->yysemantics.yyfirstVal =
7747 YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
7748 }
7749 else
7750 {
7751 yySemanticOption* yyv0 = &yyp0->yyoption;
7752 yySemanticOption* yyv1 = &yyp1->yyoption;
7753 if (yyv0->yystate != YY_NULLPTR)
7754 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
7755 if (yyv0->yynext != YY_NULLPTR)
7756 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
7757 }
7758 }
7759 if (yystackp->yysplitPoint != YY_NULLPTR)
7760 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
7761 yystackp->yysplitPoint, yystate);
7762
7763 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
7764 if (yystackp->yytops.yystates[yyn] != YY_NULLPTR)
7765 yystackp->yytops.yystates[yyn] =
7766 YYRELOC (yystackp->yyitems, yynewItems,
7767 yystackp->yytops.yystates[yyn], yystate);
7768 YYFREE (yystackp->yyitems);
7769 yystackp->yyitems = yynewItems;
7770 yystackp->yynextFree = yynewItems + yysize;
7771 yystackp->yyspaceLeft = yynewSize - yysize;
7772 }
7773 #endif
7774
7775 static void
7776 yyfreeGLRStack (yyGLRStack* yystackp)
7777 {
7778 YYFREE (yystackp->yyitems);
7779 yyfreeStateSet (&yystackp->yytops);
7780 }
7781
7782 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7783 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7784 * YYS. */
7785 static inline void
7786 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
7787 {
7788 if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys)
7789 yystackp->yysplitPoint = yys;
7790 }
7791
7792 /** Invalidate stack #YYK in *YYSTACKP. */
7793 static inline void
7794 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
7795 {
7796 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
7797 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
7798 yystackp->yytops.yystates[yyk] = YY_NULLPTR;
7799 }
7800
7801 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7802 only be done once after a deletion, and only when all other stacks have
7803 been deleted. */
7804 static void
7805 yyundeleteLastStack (yyGLRStack* yystackp)
7806 {
7807 if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0)
7808 return;
7809 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
7810 yystackp->yytops.yysize = 1;
7811 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
7812 yystackp->yylastDeleted = YY_NULLPTR;
7813 }
7814
7815 static inline void
7816 yyremoveDeletes (yyGLRStack* yystackp)
7817 {
7818 size_t yyi, yyj;
7819 yyi = yyj = 0;
7820 while (yyj < yystackp->yytops.yysize)
7821 {
7822 if (yystackp->yytops.yystates[yyi] == YY_NULLPTR)
7823 {
7824 if (yyi == yyj)
7825 {
7826 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
7827 }
7828 yystackp->yytops.yysize -= 1;
7829 }
7830 else
7831 {
7832 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
7833 /* In the current implementation, it's unnecessary to copy
7834 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7835 yyremoveDeletes returns, the parser immediately either enters
7836 deterministic operation or shifts a token. However, it doesn't
7837 hurt, and the code might evolve to need it. */
7838 yystackp->yytops.yylookaheadNeeds[yyj] =
7839 yystackp->yytops.yylookaheadNeeds[yyi];
7840 if (yyj != yyi)
7841 {
7842 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
7843 (unsigned long int) yyi, (unsigned long int) yyj));
7844 }
7845 yyj += 1;
7846 }
7847 yyi += 1;
7848 }
7849 }
7850
7851 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7852 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7853 * value *YYVALP and source location *YYLOCP. */
7854 static inline void
7855 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7856 size_t yyposn,
7857 YYSTYPE* yyvalp)
7858 {
7859 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7860
7861 yynewState->yylrState = yylrState;
7862 yynewState->yyposn = yyposn;
7863 yynewState->yyresolved = yytrue;
7864 yynewState->yypred = yystackp->yytops.yystates[yyk];
7865 yynewState->yysemantics.yysval = *yyvalp;
7866 yystackp->yytops.yystates[yyk] = yynewState;
7867
7868 YY_RESERVE_GLRSTACK (yystackp);
7869 }
7870
7871 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7872 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7873 * semantic value of YYRHS under the action for YYRULE. */
7874 static inline void
7875 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7876 size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
7877 {
7878 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7879 YYASSERT (yynewState->yyisState);
7880
7881 yynewState->yylrState = yylrState;
7882 yynewState->yyposn = yyposn;
7883 yynewState->yyresolved = yyfalse;
7884 yynewState->yypred = yystackp->yytops.yystates[yyk];
7885 yynewState->yysemantics.yyfirstVal = YY_NULLPTR;
7886 yystackp->yytops.yystates[yyk] = yynewState;
7887
7888 /* Invokes YY_RESERVE_GLRSTACK. */
7889 yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
7890 }
7891
7892 #if !YYDEBUG
7893 # define YY_REDUCE_PRINT(Args)
7894 #else
7895 # define YY_REDUCE_PRINT(Args) \
7896 do { \
7897 if (yydebug) \
7898 yy_reduce_print Args; \
7899 } while (0)
7900
7901 /*----------------------------------------------------------------------.
7902 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7903 `----------------------------------------------------------------------*/
7904
7905 static inline void
7906 yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
7907 yyRuleNum yyrule, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7908 {
7909 int yynrhs = yyrhsLength (yyrule);
7910 int yyi;
7911 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
7912 (unsigned long int) yyk, yyrule - 1,
7913 (unsigned long int) yyrline[yyrule]);
7914 if (! yynormal)
7915 yyfillin (yyvsp, 1, -yynrhs);
7916 /* The symbols being reduced. */
7917 for (yyi = 0; yyi < yynrhs; yyi++)
7918 {
7919 YYFPRINTF (stderr, " $%d = ", yyi + 1);
7920 yy_symbol_print (stderr,
7921 yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
7922 &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
7923 , P, tokens, index);
7924 if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
7925 YYFPRINTF (stderr, " (unresolved)");
7926 YYFPRINTF (stderr, "\n");
7927 }
7928 }
7929 #endif
7930
7931 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
7932 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
7933 * semantic values. Assumes that all ambiguities in semantic values
7934 * have been previously resolved. Set *YYVALP to the resulting value,
7935 * and *YYLOCP to the computed location (if any). Return value is as
7936 * for userAction. */
7937 static inline YYRESULTTAG
7938 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
7939 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7940 {
7941 int yynrhs = yyrhsLength (yyrule);
7942
7943 if (yystackp->yysplitPoint == YY_NULLPTR)
7944 {
7945 /* Standard special case: single stack. */
7946 yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
7947 YYASSERT (yyk == 0);
7948 yystackp->yynextFree -= yynrhs;
7949 yystackp->yyspaceLeft += yynrhs;
7950 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
7951 YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, P, tokens, index));
7952 return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
7953 yyvalp, P, tokens, index);
7954 }
7955 else
7956 {
7957 int yyi;
7958 yyGLRState* yys;
7959 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
7960 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
7961 = yystackp->yytops.yystates[yyk];
7962 for (yyi = 0; yyi < yynrhs; yyi += 1)
7963 {
7964 yys = yys->yypred;
7965 YYASSERT (yys);
7966 }
7967 yyupdateSplit (yystackp, yys);
7968 yystackp->yytops.yystates[yyk] = yys;
7969 YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, P, tokens, index));
7970 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
7971 yystackp, yyvalp, P, tokens, index);
7972 }
7973 }
7974
7975 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
7976 * and push back on the resulting nonterminal symbol. Perform the
7977 * semantic action associated with YYRULE and store its value with the
7978 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
7979 * unambiguous. Otherwise, store the deferred semantic action with
7980 * the new state. If the new state would have an identical input
7981 * position, LR state, and predecessor to an existing state on the stack,
7982 * it is identified with that existing state, eliminating stack #YYK from
7983 * *YYSTACKP. In this case, the semantic value is
7984 * added to the options for the existing state's semantic value.
7985 */
7986 static inline YYRESULTTAG
7987 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
7988 yybool yyforceEval, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7989 {
7990 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
7991
7992 if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
7993 {
7994 YYSTYPE yysval;
7995
7996 YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, P, tokens, index);
7997 if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
7998 {
7999 YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
8000 (unsigned long int) yyk, yyrule - 1));
8001 }
8002 if (yyflag != yyok)
8003 return yyflag;
8004 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
8005 yyglrShift (yystackp, yyk,
8006 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
8007 yylhsNonterm (yyrule)),
8008 yyposn, &yysval);
8009 }
8010 else
8011 {
8012 size_t yyi;
8013 int yyn;
8014 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
8015 yyStateNum yynewLRState;
8016
8017 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
8018 0 < yyn; yyn -= 1)
8019 {
8020 yys = yys->yypred;
8021 YYASSERT (yys);
8022 }
8023 yyupdateSplit (yystackp, yys);
8024 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
8025 YYDPRINTF ((stderr,
8026 "Reduced stack %lu by rule #%d; action deferred. "
8027 "Now in state %d.\n",
8028 (unsigned long int) yyk, yyrule - 1, yynewLRState));
8029 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
8030 if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR)
8031 {
8032 yyGLRState *yysplit = yystackp->yysplitPoint;
8033 yyGLRState *yyp = yystackp->yytops.yystates[yyi];
8034 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
8035 {
8036 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
8037 {
8038 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
8039 yymarkStackDeleted (yystackp, yyk);
8040 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
8041 (unsigned long int) yyk,
8042 (unsigned long int) yyi));
8043 return yyok;
8044 }
8045 yyp = yyp->yypred;
8046 }
8047 }
8048 yystackp->yytops.yystates[yyk] = yys;
8049 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
8050 }
8051 return yyok;
8052 }
8053
8054 static size_t
8055 yysplitStack (yyGLRStack* yystackp, size_t yyk)
8056 {
8057 if (yystackp->yysplitPoint == YY_NULLPTR)
8058 {
8059 YYASSERT (yyk == 0);
8060 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
8061 }
8062 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
8063 {
8064 yyGLRState** yynewStates;
8065 yybool* yynewLookaheadNeeds;
8066
8067 yynewStates = YY_NULLPTR;
8068
8069 if (yystackp->yytops.yycapacity
8070 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
8071 yyMemoryExhausted (yystackp);
8072 yystackp->yytops.yycapacity *= 2;
8073
8074 yynewStates =
8075 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
8076 (yystackp->yytops.yycapacity
8077 * sizeof yynewStates[0]));
8078 if (yynewStates == YY_NULLPTR)
8079 yyMemoryExhausted (yystackp);
8080 yystackp->yytops.yystates = yynewStates;
8081
8082 yynewLookaheadNeeds =
8083 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
8084 (yystackp->yytops.yycapacity
8085 * sizeof yynewLookaheadNeeds[0]));
8086 if (yynewLookaheadNeeds == YY_NULLPTR)
8087 yyMemoryExhausted (yystackp);
8088 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
8089 }
8090 yystackp->yytops.yystates[yystackp->yytops.yysize]
8091 = yystackp->yytops.yystates[yyk];
8092 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
8093 = yystackp->yytops.yylookaheadNeeds[yyk];
8094 yystackp->yytops.yysize += 1;
8095 return yystackp->yytops.yysize-1;
8096 }
8097
8098 /** True iff YYY0 and YYY1 represent identical options at the top level.
8099 * That is, they represent the same rule applied to RHS symbols
8100 * that produce the same terminal symbols. */
8101 static yybool
8102 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
8103 {
8104 if (yyy0->yyrule == yyy1->yyrule)
8105 {
8106 yyGLRState *yys0, *yys1;
8107 int yyn;
8108 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8109 yyn = yyrhsLength (yyy0->yyrule);
8110 yyn > 0;
8111 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8112 if (yys0->yyposn != yys1->yyposn)
8113 return yyfalse;
8114 return yytrue;
8115 }
8116 else
8117 return yyfalse;
8118 }
8119
8120 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8121 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8122 static void
8123 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
8124 {
8125 yyGLRState *yys0, *yys1;
8126 int yyn;
8127 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8128 yyn = yyrhsLength (yyy0->yyrule);
8129 yyn > 0;
8130 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8131 {
8132 if (yys0 == yys1)
8133 break;
8134 else if (yys0->yyresolved)
8135 {
8136 yys1->yyresolved = yytrue;
8137 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
8138 }
8139 else if (yys1->yyresolved)
8140 {
8141 yys0->yyresolved = yytrue;
8142 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
8143 }
8144 else
8145 {
8146 yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
8147 yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
8148 while (yytrue)
8149 {
8150 if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR)
8151 break;
8152 else if (*yyz0p == YY_NULLPTR)
8153 {
8154 *yyz0p = yyz1;
8155 break;
8156 }
8157 else if (*yyz0p < yyz1)
8158 {
8159 yySemanticOption* yyz = *yyz0p;
8160 *yyz0p = yyz1;
8161 yyz1 = yyz1->yynext;
8162 (*yyz0p)->yynext = yyz;
8163 }
8164 yyz0p = &(*yyz0p)->yynext;
8165 }
8166 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
8167 }
8168 }
8169 }
8170
8171 /** Y0 and Y1 represent two possible actions to take in a given
8172 * parsing state; return 0 if no combination is possible,
8173 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8174 static int
8175 yypreference (yySemanticOption* y0, yySemanticOption* y1)
8176 {
8177 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
8178 int p0 = yydprec[r0], p1 = yydprec[r1];
8179
8180 if (p0 == p1)
8181 {
8182 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
8183 return 0;
8184 else
8185 return 1;
8186 }
8187 if (p0 == 0 || p1 == 0)
8188 return 0;
8189 if (p0 < p1)
8190 return 3;
8191 if (p1 < p0)
8192 return 2;
8193 return 0;
8194 }
8195
8196 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
8197 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
8198
8199
8200 /** Resolve the previous YYN states starting at and including state YYS
8201 * on *YYSTACKP. If result != yyok, some states may have been left
8202 * unresolved possibly with empty semantic option chains. Regardless
8203 * of whether result = yyok, each state has been left with consistent
8204 * data so that yydestroyGLRState can be invoked if necessary. */
8205 static YYRESULTTAG
8206 yyresolveStates (yyGLRState* yys, int yyn,
8207 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8208 {
8209 if (0 < yyn)
8210 {
8211 YYASSERT (yys->yypred);
8212 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, P, tokens, index));
8213 if (! yys->yyresolved)
8214 YYCHK (yyresolveValue (yys, yystackp, P, tokens, index));
8215 }
8216 return yyok;
8217 }
8218
8219 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8220 * user action, and return the semantic value and location in *YYVALP
8221 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8222 * have been destroyed (assuming the user action destroys all RHS
8223 * semantic values if invoked). */
8224 static YYRESULTTAG
8225 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
8226 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8227 {
8228 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8229 int yynrhs = yyrhsLength (yyopt->yyrule);
8230 YYRESULTTAG yyflag =
8231 yyresolveStates (yyopt->yystate, yynrhs, yystackp, P, tokens, index);
8232 if (yyflag != yyok)
8233 {
8234 yyGLRState *yys;
8235 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
8236 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
8237 return yyflag;
8238 }
8239
8240 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
8241 {
8242 int yychar_current = yychar;
8243 YYSTYPE yylval_current = yylval;
8244 yychar = yyopt->yyrawchar;
8245 yylval = yyopt->yyval;
8246 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
8247 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8248 yystackp, yyvalp, P, tokens, index);
8249 yychar = yychar_current;
8250 yylval = yylval_current;
8251 }
8252 return yyflag;
8253 }
8254
8255 #if YYDEBUG
8256 static void
8257 yyreportTree (yySemanticOption* yyx, int yyindent)
8258 {
8259 int yynrhs = yyrhsLength (yyx->yyrule);
8260 int yyi;
8261 yyGLRState* yys;
8262 yyGLRState* yystates[1 + YYMAXRHS];
8263 yyGLRState yyleftmost_state;
8264
8265 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
8266 yystates[yyi] = yys;
8267 if (yys == YY_NULLPTR)
8268 {
8269 yyleftmost_state.yyposn = 0;
8270 yystates[0] = &yyleftmost_state;
8271 }
8272 else
8273 yystates[0] = yys;
8274
8275 if (yyx->yystate->yyposn < yys->yyposn + 1)
8276 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
8277 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8278 yyx->yyrule - 1);
8279 else
8280 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8281 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8282 yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
8283 (unsigned long int) yyx->yystate->yyposn);
8284 for (yyi = 1; yyi <= yynrhs; yyi += 1)
8285 {
8286 if (yystates[yyi]->yyresolved)
8287 {
8288 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
8289 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
8290 yytokenName (yystos[yystates[yyi]->yylrState]));
8291 else
8292 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
8293 yytokenName (yystos[yystates[yyi]->yylrState]),
8294 (unsigned long int) (yystates[yyi-1]->yyposn + 1),
8295 (unsigned long int) yystates[yyi]->yyposn);
8296 }
8297 else
8298 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
8299 }
8300 }
8301 #endif
8302
8303 static YYRESULTTAG
8304 yyreportAmbiguity (yySemanticOption* yyx0,
8305 yySemanticOption* yyx1, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8306 {
8307 YYUSE (yyx0);
8308 YYUSE (yyx1);
8309
8310 #if YYDEBUG
8311 YYFPRINTF (stderr, "Ambiguity detected.\n");
8312 YYFPRINTF (stderr, "Option 1,\n");
8313 yyreportTree (yyx0, 2);
8314 YYFPRINTF (stderr, "\nOption 2,\n");
8315 yyreportTree (yyx1, 2);
8316 YYFPRINTF (stderr, "\n");
8317 #endif
8318
8319 yyerror (P, tokens, index, YY_("syntax is ambiguous"));
8320 return yyabort;
8321 }
8322
8323 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8324 * perform the indicated actions, and set the semantic value of YYS.
8325 * If result != yyok, the chain of semantic options in YYS has been
8326 * cleared instead or it has been left unmodified except that
8327 * redundant options may have been removed. Regardless of whether
8328 * result = yyok, YYS has been left with consistent data so that
8329 * yydestroyGLRState can be invoked if necessary. */
8330 static YYRESULTTAG
8331 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8332 {
8333 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
8334 yySemanticOption* yybest = yyoptionList;
8335 yySemanticOption** yypp;
8336 yybool yymerge = yyfalse;
8337 YYSTYPE yysval;
8338 YYRESULTTAG yyflag;
8339
8340 for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; )
8341 {
8342 yySemanticOption* yyp = *yypp;
8343
8344 if (yyidenticalOptions (yybest, yyp))
8345 {
8346 yymergeOptionSets (yybest, yyp);
8347 *yypp = yyp->yynext;
8348 }
8349 else
8350 {
8351 switch (yypreference (yybest, yyp))
8352 {
8353 case 0:
8354 return yyreportAmbiguity (yybest, yyp, P, tokens, index);
8355 break;
8356 case 1:
8357 yymerge = yytrue;
8358 break;
8359 case 2:
8360 break;
8361 case 3:
8362 yybest = yyp;
8363 yymerge = yyfalse;
8364 break;
8365 default:
8366 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8367 but some compilers complain if the default case is
8368 omitted. */
8369 break;
8370 }
8371 yypp = &yyp->yynext;
8372 }
8373 }
8374
8375 if (yymerge)
8376 {
8377 yySemanticOption* yyp;
8378 int yyprec = yydprec[yybest->yyrule];
8379 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8380 if (yyflag == yyok)
8381 for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
8382 {
8383 if (yyprec == yydprec[yyp->yyrule])
8384 {
8385 YYSTYPE yysval_other;
8386 yyflag = yyresolveAction (yyp, yystackp, &yysval_other, P, tokens, index);
8387 if (yyflag != yyok)
8388 {
8389 yydestruct ("Cleanup: discarding incompletely merged value for",
8390 yystos[yys->yylrState],
8391 &yysval, P, tokens, index);
8392 break;
8393 }
8394 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
8395 }
8396 }
8397 }
8398 else
8399 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8400
8401 if (yyflag == yyok)
8402 {
8403 yys->yyresolved = yytrue;
8404 yys->yysemantics.yysval = yysval;
8405 }
8406 else
8407 yys->yysemantics.yyfirstVal = YY_NULLPTR;
8408 return yyflag;
8409 }
8410
8411 static YYRESULTTAG
8412 yyresolveStack (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8413 {
8414 if (yystackp->yysplitPoint != YY_NULLPTR)
8415 {
8416 yyGLRState* yys;
8417 int yyn;
8418
8419 for (yyn = 0, yys = yystackp->yytops.yystates[0];
8420 yys != yystackp->yysplitPoint;
8421 yys = yys->yypred, yyn += 1)
8422 continue;
8423 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
8424 , P, tokens, index));
8425 }
8426 return yyok;
8427 }
8428
8429 static void
8430 yycompressStack (yyGLRStack* yystackp)
8431 {
8432 yyGLRState* yyp, *yyq, *yyr;
8433
8434 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR)
8435 return;
8436
8437 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR;
8438 yyp != yystackp->yysplitPoint;
8439 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
8440 yyp->yypred = yyr;
8441
8442 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
8443 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
8444 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
8445 yystackp->yysplitPoint = YY_NULLPTR;
8446 yystackp->yylastDeleted = YY_NULLPTR;
8447
8448 while (yyr != YY_NULLPTR)
8449 {
8450 yystackp->yynextFree->yystate = *yyr;
8451 yyr = yyr->yypred;
8452 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
8453 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
8454 yystackp->yynextFree += 1;
8455 yystackp->yyspaceLeft -= 1;
8456 }
8457 }
8458
8459 static YYRESULTTAG
8460 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
8461 size_t yyposn, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8462 {
8463 while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8464 {
8465 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
8466 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
8467 (unsigned long int) yyk, yystate));
8468
8469 YYASSERT (yystate != YYFINAL);
8470
8471 if (yyisDefaultedState (yystate))
8472 {
8473 YYRESULTTAG yyflag;
8474 yyRuleNum yyrule = yydefaultAction (yystate);
8475 if (yyrule == 0)
8476 {
8477 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8478 (unsigned long int) yyk));
8479 yymarkStackDeleted (yystackp, yyk);
8480 return yyok;
8481 }
8482 yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], P, tokens, index);
8483 if (yyflag == yyerr)
8484 {
8485 YYDPRINTF ((stderr,
8486 "Stack %lu dies "
8487 "(predicate failure or explicit user error).\n",
8488 (unsigned long int) yyk));
8489 yymarkStackDeleted (yystackp, yyk);
8490 return yyok;
8491 }
8492 if (yyflag != yyok)
8493 return yyflag;
8494 }
8495 else
8496 {
8497 yySymbol yytoken;
8498 int yyaction;
8499 const short int* yyconflicts;
8500
8501 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
8502 if (yychar == YYEMPTY)
8503 {
8504 YYDPRINTF ((stderr, "Reading a token: "));
8505 yychar = yylex (&yylval, P, tokens, index);
8506 }
8507
8508 if (yychar <= YYEOF)
8509 {
8510 yychar = yytoken = YYEOF;
8511 YYDPRINTF ((stderr, "Now at end of input.\n"));
8512 }
8513 else
8514 {
8515 yytoken = YYTRANSLATE (yychar);
8516 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8517 }
8518
8519 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8520
8521 while (*yyconflicts != 0)
8522 {
8523 YYRESULTTAG yyflag;
8524 size_t yynewStack = yysplitStack (yystackp, yyk);
8525 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
8526 (unsigned long int) yynewStack,
8527 (unsigned long int) yyk));
8528 yyflag = yyglrReduce (yystackp, yynewStack,
8529 *yyconflicts,
8530 yyimmediate[*yyconflicts], P, tokens, index);
8531 if (yyflag == yyok)
8532 YYCHK (yyprocessOneStack (yystackp, yynewStack,
8533 yyposn, P, tokens, index));
8534 else if (yyflag == yyerr)
8535 {
8536 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8537 (unsigned long int) yynewStack));
8538 yymarkStackDeleted (yystackp, yynewStack);
8539 }
8540 else
8541 return yyflag;
8542 yyconflicts += 1;
8543 }
8544
8545 if (yyisShiftAction (yyaction))
8546 break;
8547 else if (yyisErrorAction (yyaction))
8548 {
8549 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8550 (unsigned long int) yyk));
8551 yymarkStackDeleted (yystackp, yyk);
8552 break;
8553 }
8554 else
8555 {
8556 YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
8557 yyimmediate[-yyaction], P, tokens, index);
8558 if (yyflag == yyerr)
8559 {
8560 YYDPRINTF ((stderr,
8561 "Stack %lu dies "
8562 "(predicate failure or explicit user error).\n",
8563 (unsigned long int) yyk));
8564 yymarkStackDeleted (yystackp, yyk);
8565 break;
8566 }
8567 else if (yyflag != yyok)
8568 return yyflag;
8569 }
8570 }
8571 }
8572 return yyok;
8573 }
8574
8575 static void
8576 yyreportSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8577 {
8578 if (yystackp->yyerrState != 0)
8579 return;
8580 #if ! YYERROR_VERBOSE
8581 yyerror (P, tokens, index, YY_("syntax error"));
8582 #else
8583 {
8584 yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8585 size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken));
8586 size_t yysize = yysize0;
8587 yybool yysize_overflow = yyfalse;
8588 char* yymsg = YY_NULLPTR;
8589 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
8590 /* Internationalized format string. */
8591 const char *yyformat = YY_NULLPTR;
8592 /* Arguments of yyformat. */
8593 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
8594 /* Number of reported tokens (one for the "unexpected", one per
8595 "expected"). */
8596 int yycount = 0;
8597
8598 /* There are many possibilities here to consider:
8599 - If this state is a consistent state with a default action, then
8600 the only way this function was invoked is if the default action
8601 is an error action. In that case, don't check for expected
8602 tokens because there are none.
8603 - The only way there can be no lookahead present (in yychar) is if
8604 this state is a consistent state with a default action. Thus,
8605 detecting the absence of a lookahead is sufficient to determine
8606 that there is no unexpected or expected token to report. In that
8607 case, just report a simple "syntax error".
8608 - Don't assume there isn't a lookahead just because this state is a
8609 consistent state with a default action. There might have been a
8610 previous inconsistent state, consistent state with a non-default
8611 action, or user semantic action that manipulated yychar.
8612 - Of course, the expected token list depends on states to have
8613 correct lookahead information, and it depends on the parser not
8614 to perform extra reductions after fetching a lookahead from the
8615 scanner and before detecting a syntax error. Thus, state merging
8616 (from LALR or IELR) and default reductions corrupt the expected
8617 token list. However, the list is correct for canonical LR with
8618 one exception: it will still contain any token that will not be
8619 accepted due to an error action in a later state.
8620 */
8621 if (yytoken != YYEMPTY)
8622 {
8623 int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
8624 yyarg[yycount++] = yytokenName (yytoken);
8625 if (!yypact_value_is_default (yyn))
8626 {
8627 /* Start YYX at -YYN if negative to avoid negative indexes in
8628 YYCHECK. In other words, skip the first -YYN actions for this
8629 state because they are default actions. */
8630 int yyxbegin = yyn < 0 ? -yyn : 0;
8631 /* Stay within bounds of both yycheck and yytname. */
8632 int yychecklim = YYLAST - yyn + 1;
8633 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
8634 int yyx;
8635 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
8636 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
8637 && !yytable_value_is_error (yytable[yyx + yyn]))
8638 {
8639 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
8640 {
8641 yycount = 1;
8642 yysize = yysize0;
8643 break;
8644 }
8645 yyarg[yycount++] = yytokenName (yyx);
8646 {
8647 size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx));
8648 yysize_overflow |= yysz < yysize;
8649 yysize = yysz;
8650 }
8651 }
8652 }
8653 }
8654
8655 switch (yycount)
8656 {
8657 #define YYCASE_(N, S) \
8658 case N: \
8659 yyformat = S; \
8660 break
8661 YYCASE_(0, YY_("syntax error"));
8662 YYCASE_(1, YY_("syntax error, unexpected %s"));
8663 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8664 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8665 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8666 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8667 #undef YYCASE_
8668 }
8669
8670 {
8671 size_t yysz = yysize + strlen (yyformat);
8672 yysize_overflow |= yysz < yysize;
8673 yysize = yysz;
8674 }
8675
8676 if (!yysize_overflow)
8677 yymsg = (char *) YYMALLOC (yysize);
8678
8679 if (yymsg)
8680 {
8681 char *yyp = yymsg;
8682 int yyi = 0;
8683 while ((*yyp = *yyformat))
8684 {
8685 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
8686 {
8687 yyp += yytnamerr (yyp, yyarg[yyi++]);
8688 yyformat += 2;
8689 }
8690 else
8691 {
8692 yyp++;
8693 yyformat++;
8694 }
8695 }
8696 yyerror (P, tokens, index, yymsg);
8697 YYFREE (yymsg);
8698 }
8699 else
8700 {
8701 yyerror (P, tokens, index, YY_("syntax error"));
8702 yyMemoryExhausted (yystackp);
8703 }
8704 }
8705 #endif /* YYERROR_VERBOSE */
8706 yynerrs += 1;
8707 }
8708
8709 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8710 yylval, and yylloc are the syntactic category, semantic value, and location
8711 of the lookahead. */
8712 static void
8713 yyrecoverSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8714 {
8715 size_t yyk;
8716 int yyj;
8717
8718 if (yystackp->yyerrState == 3)
8719 /* We just shifted the error token and (perhaps) took some
8720 reductions. Skip tokens until we can proceed. */
8721 while (yytrue)
8722 {
8723 yySymbol yytoken;
8724 if (yychar == YYEOF)
8725 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8726 if (yychar != YYEMPTY)
8727 {
8728 yytoken = YYTRANSLATE (yychar);
8729 yydestruct ("Error: discarding",
8730 yytoken, &yylval, P, tokens, index);
8731 }
8732 YYDPRINTF ((stderr, "Reading a token: "));
8733 yychar = yylex (&yylval, P, tokens, index);
8734 if (yychar <= YYEOF)
8735 {
8736 yychar = yytoken = YYEOF;
8737 YYDPRINTF ((stderr, "Now at end of input.\n"));
8738 }
8739 else
8740 {
8741 yytoken = YYTRANSLATE (yychar);
8742 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8743 }
8744 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
8745 if (yypact_value_is_default (yyj))
8746 return;
8747 yyj += yytoken;
8748 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
8749 {
8750 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
8751 return;
8752 }
8753 else if (! yytable_value_is_error (yytable[yyj]))
8754 return;
8755 }
8756
8757 /* Reduce to one stack. */
8758 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
8759 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8760 break;
8761 if (yyk >= yystackp->yytops.yysize)
8762 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8763 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
8764 yymarkStackDeleted (yystackp, yyk);
8765 yyremoveDeletes (yystackp);
8766 yycompressStack (yystackp);
8767
8768 /* Now pop stack until we find a state that shifts the error token. */
8769 yystackp->yyerrState = 3;
8770 while (yystackp->yytops.yystates[0] != YY_NULLPTR)
8771 {
8772 yyGLRState *yys = yystackp->yytops.yystates[0];
8773 yyj = yypact[yys->yylrState];
8774 if (! yypact_value_is_default (yyj))
8775 {
8776 yyj += YYTERROR;
8777 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
8778 && yyisShiftAction (yytable[yyj]))
8779 {
8780 /* Shift the error token. */
8781 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
8782 &yylval, &yyerrloc);
8783 yyglrShift (yystackp, 0, yytable[yyj],
8784 yys->yyposn, &yylval);
8785 yys = yystackp->yytops.yystates[0];
8786 break;
8787 }
8788 }
8789 if (yys->yypred != YY_NULLPTR)
8790 yydestroyGLRState ("Error: popping", yys, P, tokens, index);
8791 yystackp->yytops.yystates[0] = yys->yypred;
8792 yystackp->yynextFree -= 1;
8793 yystackp->yyspaceLeft += 1;
8794 }
8795 if (yystackp->yytops.yystates[0] == YY_NULLPTR)
8796 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8797 }
8798
8799 #define YYCHK1(YYE) \
8800 do { \
8801 switch (YYE) { \
8802 case yyok: \
8803 break; \
8804 case yyabort: \
8805 goto yyabortlab; \
8806 case yyaccept: \
8807 goto yyacceptlab; \
8808 case yyerr: \
8809 goto yyuser_error; \
8810 default: \
8811 goto yybuglab; \
8812 } \
8813 } while (0)
8814
8815 /*----------.
8816 | yyparse. |
8817 `----------*/
8818
8819 int
8820 yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8821 {
8822 int yyresult;
8823 yyGLRStack yystack;
8824 yyGLRStack* const yystackp = &yystack;
8825 size_t yyposn;
8826
8827 YYDPRINTF ((stderr, "Starting parse\n"));
8828
8829 yychar = YYEMPTY;
8830 yylval = yyval_default;
8831
8832 /* User initialization code. */
8833 #line 144 "src/parser_proc_grammar.y" /* glr.c:2270 */
8834 {
8835 }
8836
8837 #line 8838 "src/parser_proc.c" /* glr.c:2270 */
8838
8839 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
8840 goto yyexhaustedlab;
8841 switch (YYSETJMP (yystack.yyexception_buffer))
8842 {
8843 case 0: break;
8844 case 1: goto yyabortlab;
8845 case 2: goto yyexhaustedlab;
8846 default: goto yybuglab;
8847 }
8848 yyglrShift (&yystack, 0, 0, 0, &yylval);
8849 yyposn = 0;
8850
8851 while (yytrue)
8852 {
8853 /* For efficiency, we have two loops, the first of which is
8854 specialized to deterministic operation (single stack, no
8855 potential ambiguity). */
8856 /* Standard mode */
8857 while (yytrue)
8858 {
8859 yyRuleNum yyrule;
8860 int yyaction;
8861 const short int* yyconflicts;
8862
8863 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
8864 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
8865 if (yystate == YYFINAL)
8866 goto yyacceptlab;
8867 if (yyisDefaultedState (yystate))
8868 {
8869 yyrule = yydefaultAction (yystate);
8870 if (yyrule == 0)
8871 {
8872
8873 yyreportSyntaxError (&yystack, P, tokens, index);
8874 goto yyuser_error;
8875 }
8876 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, P, tokens, index));
8877 }
8878 else
8879 {
8880 yySymbol yytoken;
8881 if (yychar == YYEMPTY)
8882 {
8883 YYDPRINTF ((stderr, "Reading a token: "));
8884 yychar = yylex (&yylval, P, tokens, index);
8885 }
8886
8887 if (yychar <= YYEOF)
8888 {
8889 yychar = yytoken = YYEOF;
8890 YYDPRINTF ((stderr, "Now at end of input.\n"));
8891 }
8892 else
8893 {
8894 yytoken = YYTRANSLATE (yychar);
8895 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8896 }
8897
8898 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8899 if (*yyconflicts != 0)
8900 break;
8901 if (yyisShiftAction (yyaction))
8902 {
8903 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
8904 yychar = YYEMPTY;
8905 yyposn += 1;
8906 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval);
8907 if (0 < yystack.yyerrState)
8908 yystack.yyerrState -= 1;
8909 }
8910 else if (yyisErrorAction (yyaction))
8911 {
8912
8913 yyreportSyntaxError (&yystack, P, tokens, index);
8914 goto yyuser_error;
8915 }
8916 else
8917 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, P, tokens, index));
8918 }
8919 }
8920
8921 while (yytrue)
8922 {
8923 yySymbol yytoken_to_shift;
8924 size_t yys;
8925
8926 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8927 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
8928
8929 /* yyprocessOneStack returns one of three things:
8930
8931 - An error flag. If the caller is yyprocessOneStack, it
8932 immediately returns as well. When the caller is finally
8933 yyparse, it jumps to an error label via YYCHK1.
8934
8935 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
8936 (&yystack, yys), which sets the top state of yys to NULL. Thus,
8937 yyparse's following invocation of yyremoveDeletes will remove
8938 the stack.
8939
8940 - yyok, when ready to shift a token.
8941
8942 Except in the first case, yyparse will invoke yyremoveDeletes and
8943 then shift the next token onto all remaining stacks. This
8944 synchronization of the shift (that is, after all preceding
8945 reductions on all stacks) helps prevent double destructor calls
8946 on yylval in the event of memory exhaustion. */
8947
8948 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8949 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, P, tokens, index));
8950 yyremoveDeletes (&yystack);
8951 if (yystack.yytops.yysize == 0)
8952 {
8953 yyundeleteLastStack (&yystack);
8954 if (yystack.yytops.yysize == 0)
8955 yyFail (&yystack, P, tokens, index, YY_("syntax error"));
8956 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
8957 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
8958
8959 yyreportSyntaxError (&yystack, P, tokens, index);
8960 goto yyuser_error;
8961 }
8962
8963 /* If any yyglrShift call fails, it will fail after shifting. Thus,
8964 a copy of yylval will already be on stack 0 in the event of a
8965 failure in the following loop. Thus, yychar is set to YYEMPTY
8966 before the loop to make sure the user destructor for yylval isn't
8967 called twice. */
8968 yytoken_to_shift = YYTRANSLATE (yychar);
8969 yychar = YYEMPTY;
8970 yyposn += 1;
8971 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8972 {
8973 int yyaction;
8974 const short int* yyconflicts;
8975 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
8976 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
8977 &yyconflicts);
8978 /* Note that yyconflicts were handled by yyprocessOneStack. */
8979 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
8980 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
8981 yyglrShift (&yystack, yys, yyaction, yyposn,
8982 &yylval);
8983 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
8984 (unsigned long int) yys,
8985 yystack.yytops.yystates[yys]->yylrState));
8986 }
8987
8988 if (yystack.yytops.yysize == 1)
8989 {
8990 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
8991 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
8992 yycompressStack (&yystack);
8993 break;
8994 }
8995 }
8996 continue;
8997 yyuser_error:
8998 yyrecoverSyntaxError (&yystack, P, tokens, index);
8999 yyposn = yystack.yytops.yystates[0]->yyposn;
9000 }
9001
9002 yyacceptlab:
9003 yyresult = 0;
9004 goto yyreturn;
9005
9006 yybuglab:
9007 YYASSERT (yyfalse);
9008 goto yyabortlab;
9009
9010 yyabortlab:
9011 yyresult = 1;
9012 goto yyreturn;
9013
9014 yyexhaustedlab:
9015 yyerror (P, tokens, index, YY_("memory exhausted"));
9016 yyresult = 2;
9017 goto yyreturn;
9018
9019 yyreturn:
9020 if (yychar != YYEMPTY)
9021 yydestruct ("Cleanup: discarding lookahead",
9022 YYTRANSLATE (yychar), &yylval, P, tokens, index);
9023
9024 /* If the stack is well-formed, pop the stack until it is empty,
9025 destroying its entries as we go. But free the stack regardless
9026 of whether it is well-formed. */
9027 if (yystack.yyitems)
9028 {
9029 yyGLRState** yystates = yystack.yytops.yystates;
9030 if (yystates)
9031 {
9032 size_t yysize = yystack.yytops.yysize;
9033 size_t yyk;
9034 for (yyk = 0; yyk < yysize; yyk += 1)
9035 if (yystates[yyk])
9036 {
9037 while (yystates[yyk])
9038 {
9039 yyGLRState *yys = yystates[yyk];
9040 if (yys->yypred != YY_NULLPTR)
9041 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
9042 yystates[yyk] = yys->yypred;
9043 yystack.yynextFree -= 1;
9044 yystack.yyspaceLeft += 1;
9045 }
9046 break;
9047 }
9048 }
9049 yyfreeGLRStack (&yystack);
9050 }
9051
9052 return yyresult;
9053 }
9054
9055 /* DEBUGGING ONLY */
9056 #if YYDEBUG
9057 static void
9058 yy_yypstack (yyGLRState* yys)
9059 {
9060 if (yys->yypred)
9061 {
9062 yy_yypstack (yys->yypred);
9063 YYFPRINTF (stderr, " -> ");
9064 }
9065 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
9066 (unsigned long int) yys->yyposn);
9067 }
9068
9069 static void
9070 yypstates (yyGLRState* yyst)
9071 {
9072 if (yyst == YY_NULLPTR)
9073 YYFPRINTF (stderr, "<null>");
9074 else
9075 yy_yypstack (yyst);
9076 YYFPRINTF (stderr, "\n");
9077 }
9078
9079 static void
9080 yypstack (yyGLRStack* yystackp, size_t yyk)
9081 {
9082 yypstates (yystackp->yytops.yystates[yyk]);
9083 }
9084
9085 #define YYINDEX(YYX) \
9086 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9087
9088
9089 static void
9090 yypdumpstack (yyGLRStack* yystackp)
9091 {
9092 yyGLRStackItem* yyp;
9093 size_t yyi;
9094 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
9095 {
9096 YYFPRINTF (stderr, "%3lu. ",
9097 (unsigned long int) (yyp - yystackp->yyitems));
9098 if (*(yybool *) yyp)
9099 {
9100 YYASSERT (yyp->yystate.yyisState);
9101 YYASSERT (yyp->yyoption.yyisState);
9102 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9103 yyp->yystate.yyresolved, yyp->yystate.yylrState,
9104 (unsigned long int) yyp->yystate.yyposn,
9105 (long int) YYINDEX (yyp->yystate.yypred));
9106 if (! yyp->yystate.yyresolved)
9107 YYFPRINTF (stderr, ", firstVal: %ld",
9108 (long int) YYINDEX (yyp->yystate
9109 .yysemantics.yyfirstVal));
9110 }
9111 else
9112 {
9113 YYASSERT (!yyp->yystate.yyisState);
9114 YYASSERT (!yyp->yyoption.yyisState);
9115 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
9116 yyp->yyoption.yyrule - 1,
9117 (long int) YYINDEX (yyp->yyoption.yystate),
9118 (long int) YYINDEX (yyp->yyoption.yynext));
9119 }
9120 YYFPRINTF (stderr, "\n");
9121 }
9122 YYFPRINTF (stderr, "Tops:");
9123 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
9124 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
9125 (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
9126 YYFPRINTF (stderr, "\n");
9127 }
9128 #endif
9129
9130 #undef yylval
9131 #undef yychar
9132 #undef yynerrs
9133
9134 /* Substitute the variable and function names. */
9135 #define yyparse psi_parser_proc_parse
9136 #define yylex psi_parser_proc_lex
9137 #define yyerror psi_parser_proc_error
9138 #define yylval psi_parser_proc_lval
9139 #define yychar psi_parser_proc_char
9140 #define yydebug psi_parser_proc_debug
9141 #define yynerrs psi_parser_proc_nerrs
9142
9143 #line 2253 "src/parser_proc_grammar.y" /* glr.c:2584 */
9144
9145
9146 /* epilogue */
9147
9148 static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
9149 {
9150 struct psi_token *token;
9151
9152 if (psi_plist_get(tokens, (*index)++, &token)) {
9153 if (P->flags & PSI_DEBUG) {
9154 psi_token_dump(2, token);
9155 }
9156
9157 *((struct psi_token **)lvalp) = token;
9158 return token->type;
9159 } else {
9160 (*index)--;
9161 PSI_DEBUG_PRINT(P, "EOF(%d)\n", PSI_T_EOF);
9162 }
9163
9164 return PSI_T_EOF;
9165 }
9166
9167 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg)
9168 {
9169 struct psi_token *T = NULL;
9170 size_t last;
9171
9172 if (*index == 0) {
9173 last = 0;
9174 } else {
9175 last = --(*index);
9176 }
9177
9178 psi_plist_get(tokens, last, &T);
9179 if (T) {
9180 P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col);
9181 } else {
9182 P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);
9183 }
9184 P->errors++;
9185 }
9186