fix sqlite test
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default;
90
91 /* Copy the second part of user declarations. */
92
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102
103 #define YYDEBUG 1
104 #define PSI_PARSER_PROC_DEBUG 1
105
106 static int psi_parser_proc_lex(YYSTYPE *u, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
107 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg);
108
109 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
110 {
111 assert(strct);
112 if (!P->structs) {
113 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
114 }
115 P->structs = psi_plist_add(P->structs, &strct);
116 }
117 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
118 {
119 assert(u);
120 if (!P->unions) {
121 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
122 }
123 P->unions = psi_plist_add(P->unions, &u);
124 }
125 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
126 {
127 assert(e);
128 if (!P->enums) {
129 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
130 }
131 P->enums = psi_plist_add(P->enums, &e);
132 }
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg *def)
134 {
135 switch (def->type->type) {
136 case PSI_T_STRUCT:
137 if (!psi_decl_type_is_anon(def->type->name, "struct")) {
138 return;
139 }
140 break;
141 case PSI_T_UNION:
142 if (!psi_decl_type_is_anon(def->type->name, "union")) {
143 return;
144 }
145 break;
146 case PSI_T_ENUM:
147 if (!psi_decl_type_is_anon(def->type->name, "enum")) {
148 return;
149 }
150 break;
151 default:
152 return;
153 }
154 free(def->type->name);
155 def->type->name = strdup(def->var->name);
156 }
157 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
158 {
159 assert(def);
160 if (!P->types) {
161 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
162 }
163 //psi_parser_proc_deanon_typedef(def);
164 P->types = psi_plist_add(P->types, &def);
165 }
166 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
167 assert(cnst);
168 if (!P->consts) {
169 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
170 }
171 P->consts = psi_plist_add(P->consts, &cnst);
172
173 }
174 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
175 assert(decl);
176
177 if (psi_decl_is_blacklisted(decl->func->var->name)) {
178 psi_decl_free(&decl);
179 return;
180 }
181
182 if (!P->decls) {
183 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
184 }
185 P->decls = psi_plist_add(P->decls, &decl);
186 }
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser *P, struct psi_plist *list) {
188 assert(list);
189 if (!P->vars) {
190 P->vars = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
191 }
192 P->vars = psi_plist_add_r(P->vars, psi_plist_count(list), psi_plist_eles(list));
193 free(list);
194 }
195 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
196 assert(impl);
197 if (!P->impls) {
198 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
199 }
200 P->impls = psi_plist_add(P->impls, &impl);
201 }
202
203 /* end code */
204
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
206
207 #include <stdio.h>
208 #include <stdlib.h>
209 #include <string.h>
210
211 #ifndef YY_
212 # if defined YYENABLE_NLS && YYENABLE_NLS
213 # if ENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
216 # endif
217 # endif
218 # ifndef YY_
219 # define YY_(Msgid) Msgid
220 # endif
221 #endif
222
223 #ifndef YYFREE
224 # define YYFREE free
225 #endif
226 #ifndef YYMALLOC
227 # define YYMALLOC malloc
228 #endif
229 #ifndef YYREALLOC
230 # define YYREALLOC realloc
231 #endif
232
233 #define YYSIZEMAX ((size_t) -1)
234
235 #ifdef __cplusplus
236 typedef bool yybool;
237 #else
238 typedef unsigned char yybool;
239 #endif
240 #define yytrue 1
241 #define yyfalse 0
242
243 #ifndef YYSETJMP
244 # include <setjmp.h>
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
247 /* Pacify clang. */
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
249 #endif
250
251 #ifndef YY_ATTRIBUTE
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
256 # else
257 # define YY_ATTRIBUTE(Spec) /* empty */
258 # endif
259 #endif
260
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
263 #endif
264
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
267 #endif
268
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
273 # else
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
275 # endif
276 #endif
277
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
281 #else
282 # define YYUSE(E) /* empty */
283 #endif
284
285 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
293 #else
294 # define YY_INITIAL_VALUE(Value) Value
295 #endif
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
299 #endif
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
302 #endif
303
304
305 #ifndef YYASSERT
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
307 #endif
308
309 /* YYFINAL -- State number of the termination state. */
310 #define YYFINAL 160
311 /* YYLAST -- Last index in YYTABLE. */
312 #define YYLAST 7725
313
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
317 #define YYNNTS 141
318 /* YYNRULES -- Number of rules. */
319 #define YYNRULES 627
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 937
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
323 #define YYMAXRHS 16
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
326 #define YYMAXLEFT 0
327
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
329 #define YYUNDEFTOK 2
330 #define YYMAXUTOK 394
331
332 #define YYTRANSLATE(YYX) \
333 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
334
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate[] =
337 {
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
378 };
379
380 #if YYDEBUG
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short int yyrline[] =
383 {
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 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, 1254, 1282, 1289, 1300, 1346, 1387,
429 1402, 1405, 1408, 1414, 1417, 1423, 1438, 1441, 1470, 1478,
430 1506, 1511, 1519, 1529, 1539, 1542, 1546, 1552, 1566, 1583,
431 1586, 1592, 1599, 1609, 1616, 1619, 1625, 1630, 1638, 1642,
432 1646, 1650, 1654, 1658, 1665, 1669, 1673, 1677, 1681, 1685,
433 1691, 1695, 1702, 1705, 1717, 1721, 1725, 1732, 1745, 1758,
434 1771, 1774, 1781, 1782, 1786, 1789, 1792, 1795, 1801, 1805,
435 1812, 1815, 1818, 1833, 1834, 1835, 1836, 1840, 1843, 1849,
436 1850, 1856, 1859, 1865, 1866, 1870, 1871, 1881, 1884, 1891,
437 1896, 1901, 1911, 1914, 1920, 1923, 1929, 1936, 1943, 1950,
438 1951, 1955, 1956, 1957, 1958, 1962, 1963, 1964, 1965, 1966,
439 1970, 1973, 1979, 1982, 1985, 1988, 1991, 1997, 2001, 2009,
440 2010, 2014, 2021, 2024, 2027, 2030, 2034, 2037, 2043, 2047,
441 2055, 2062, 2067, 2075, 2083, 2084, 2085, 2086, 2087, 2088,
442 2089, 2090, 2091, 2092, 2096, 2099, 2105, 2108, 2114, 2115,
443 2119, 2122, 2128, 2131, 2137, 2144, 2148, 2155, 2158, 2161,
444 2167, 2174, 2177, 2180, 2187, 2192, 2200, 2201, 2202, 2203,
445 2204, 2205, 2206, 2207, 2211, 2214, 2220, 2223, 2229, 2236,
446 2237, 2241, 2248, 2251, 2257, 2265, 2268, 2274
447 };
448 #endif
449
450 #if YYDEBUG || YYERROR_VERBOSE || 1
451 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
452 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
453 static const char *const yytname[] =
454 {
455 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
456 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
457 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
458 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
459 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
460 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
461 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
462 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
463 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
464 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
465 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
466 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
467 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
468 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
469 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
470 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
471 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
472 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
473 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
474 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
475 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
476 "$accept", "binary_op_token", "unary_op_token", "name_token",
477 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
478 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
479 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
480 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
481 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
482 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
483 "cpp_macro_call_arg_list", "constant", "impl_def_val",
484 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
485 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
486 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
487 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
488 "decl_int_type", "int_signed_types", "signed_short_types",
489 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
490 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
491 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
492 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
493 "decl_functor_body", "decl_anon_functor_body", "decl_functor",
494 "decl_anon_functor", "decl_func", "decl_args", "decl_arg_list",
495 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
496 "decl_struct_args", "struct_args_block", "struct_args",
497 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
498 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
499 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
500 "struct_name", "optional_name", "optional_comma", "decl_layout",
501 "align_and_size", "array_size", "array_qualifier_token", "indirection",
502 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
503 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
504 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
505 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
506 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
507 "let_callback", "let_func", "let_func_token", "let_func_exps",
508 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
509 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
510 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
511 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
512 "byref", YY_NULLPTR
513 };
514 #endif
515
516 #define YYPACT_NINF -717
517 #define YYTABLE_NINF -626
518
519 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
520 STATE-NUM. */
521 static const short int yypact[] =
522 {
523 713, -717, -717, -717, -717, -717, 54, -717, -717, -717,
524 501, -717, -717, -717, 741, 1409, 7459, 7459, 7459, 120,
525 26, 236, 23, -717, 5541, 1667, 71, 713, -717, -717,
526 -717, -717, -717, 6717, 597, -717, -717, -717, -717, 174,
527 162, -717, -717, -717, -717, -40, -717, -717, 84, 64,
528 87, -717, -717, -717, -717, 91, -717, 97, -717, -717,
529 -717, 7459, 7459, 7459, -717, 1667, -717, 79, -717, -717,
530 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
531 884, -717, -717, -717, -717, 123, 1010, 1010, 25, -717,
532 1010, 6491, 7459, 7459, 1780, 125, -717, -717, -717, 129,
533 7459, 141, 141, -717, -717, -717, 5474, -717, -717, -717,
534 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
535 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
536 -717, -717, -717, -717, -717, -717, -717, 131, -717, -717,
537 131, 128, -717, -717, -717, -717, -717, 158, -717, 155,
538 1667, 152, 161, -717, 171, -717, 1893, 1409, -40, 152,
539 -717, -717, 27, 164, -717, -717, 168, 7459, 4, -717,
540 -717, -717, 222, -717, 73, -717, -717, -717, 199, -717,
541 198, 207, 2006, 2006, 7459, 217, -717, -717, -717, 152,
542 6943, 232, -717, 1519, -717, -717, -717, -717, -717, -717,
543 -717, -717, 1632, -717, -717, -717, -717, 1745, 1858, -717,
544 -717, -717, 1971, -717, -717, -717, -717, -717, -717, -717,
545 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
546 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
547 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
548 -717, -717, -717, -717, -717, 2084, 2197, 2310, 2423, 2536,
549 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
550 -717, -717, -717, -717, -717, 2649, -717, 2762, 2875, 2988,
551 3101, 3214, 3327, -717, 3440, -717, -717, 3553, 3666, 3779,
552 3892, 4005, 4118, 4231, 4344, 4457, 4570, 4683, 4796, 4909,
553 5022, 5135, 5248, -717, -717, -717, -717, -717, -717, -717,
554 5361, 1010, -717, -717, -717, -717, -717, -717, -717, -717,
555 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
556 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
557 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
558 1010, -717, -717, -717, -717, -717, -717, -717, 80, 6491,
559 -717, -717, -717, -717, 7056, 6491, 201, 7588, -717, 139,
560 -717, 177, -717, -717, -717, -717, 241, 243, 243, 52,
561 52, 245, -717, 152, 1262, -717, 217, 251, 264, 283,
562 -717, -717, -717, -717, 1376, -717, 253, 164, -717, -717,
563 -717, -717, -717, 311, -717, -717, 292, -717, 202, 6717,
564 -717, 287, 216, 290, -717, -717, 218, 285, 294, -717,
565 6943, 6152, 6943, 7459, 6943, -717, -717, 43, -717, -717,
566 -717, -717, -717, 6378, -717, -717, 296, -717, 7459, -717,
567 -717, 299, 7588, 300, -717, -717, -717, -717, 567, 312,
568 -717, 6822, 7459, -717, -717, 6491, -717, -717, -717, -717,
569 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
570 -717, -717, -717, -717, 6491, 6491, 314, 1497, 6943, 6943,
571 -717, -717, -717, -717, 5700, -717, -717, -717, -717, -717,
572 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
573 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
574 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
575 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
576 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
577 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
578 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
579 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
580 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
581 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
582 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
583 -717, -717, -717, -717, 1136, -717, 56, 258, -717, -717,
584 -717, -717, -717, -717, -717, 5587, -717, -717, 6378, -717,
585 7564, -717, -717, 309, 7169, -717, -717, -717, 68, 317,
586 2006, 164, 291, 1667, 164, 297, 6378, 7459, 319, 318,
587 320, 7612, 324, 323, -717, 328, 341, 326, 335, 112,
588 -717, 338, 340, -717, -717, -717, 6705, 6943, 7228, -717,
589 253, 339, -717, -717, -717, 342, 7588, 345, 346, 7322,
590 -717, 348, 1780, 344, -717, -717, 6604, 408, 7459, 141,
591 141, -717, -717, 176, -717, -717, 350, -717, 300, 7612,
592 -717, -717, -717, -717, -717, -717, -717, -717, 349, 233,
593 -717, 23, -717, -717, -717, 44, 70, 76, 6924, -717,
594 -717, 6378, 6378, -717, 253, 249, -717, 253, 255, -717,
595 352, -717, -717, 353, 7612, -717, -717, 5813, -717, 6152,
596 -717, 6943, -717, 23, 6943, -717, 7459, 7341, -717, -717,
597 -717, -717, -717, 356, 357, -717, -717, -717, -717, 6491,
598 6491, 363, -717, 51, 365, -717, 344, 243, 243, -717,
599 284, 367, 284, 343, 6378, -717, 7540, -717, 7459, 2006,
600 -717, 6830, 164, 347, 164, 164, 192, 295, 237, 371,
601 7612, -717, -717, -717, -717, 374, 6265, -717, 375, 6943,
602 271, -717, 377, 296, 387, 1010, 7400, 7588, 7636, 397,
603 388, 392, 6943, 395, 365, 6943, 6943, -717, 284, -717,
604 23, 5700, -717, 6378, 396, 399, -717, -717, 400, -717,
605 -717, 371, -717, -717, -717, 7341, -717, 406, 6378, 23,
606 -717, 5926, 407, 411, -717, 331, -717, -717, -717, 410,
607 404, 419, 344, 414, -717, 418, -717, 40, -717, 7660,
608 425, 427, 164, 428, 23, 7160, 424, 435, -717, 436,
609 -717, -717, 104, -717, 439, 440, -717, 6943, -717, 451,
610 2006, 449, -717, 385, 453, 6378, 5813, 454, -717, 6152,
611 -717, -717, 456, 461, 464, 344, 458, 463, 2006, 459,
612 6039, 7047, 318, -717, -717, -717, 465, 6265, -717, -717,
613 466, 468, -717, 462, 469, 471, 481, 482, 480, -717,
614 -717, 5813, -717, 494, -717, 284, 489, 164, 23, 492,
615 6152, -717, 493, -717, 2006, -717, 490, -717, -717, -717,
616 495, 6039, 164, 499, -717, 500, -717
617 };
618
619 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
620 Performed when YYTABLE does not specify something else to do. Zero
621 means the default is an error. */
622 static const unsigned short int yydefact[] =
623 {
624 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
625 386, 378, 282, 281, 0, 0, 0, 0, 500, 377,
626 0, 0, 625, 283, 0, 0, 0, 278, 279, 285,
627 284, 286, 290, 517, 0, 374, 380, 379, 385, 400,
628 412, 384, 287, 288, 289, 417, 435, 437, 438, 0,
629 0, 449, 292, 291, 293, 0, 294, 0, 395, 390,
630 386, 0, 0, 0, 377, 0, 436, 422, 296, 307,
631 304, 306, 308, 309, 320, 317, 318, 315, 321, 316,
632 0, 319, 310, 311, 312, 0, 332, 332, 0, 300,
633 0, 0, 500, 500, 0, 0, 360, 365, 458, 364,
634 0, 508, 508, 33, 34, 613, 574, 24, 39, 38,
635 37, 35, 36, 32, 31, 25, 29, 28, 26, 27,
636 40, 582, 581, 579, 577, 578, 580, 576, 575, 583,
637 30, 611, 609, 608, 610, 607, 606, 381, 41, 42,
638 382, 383, 497, 541, 542, 543, 544, 0, 538, 0,
639 0, 0, 0, 627, 0, 626, 386, 0, 417, 0,
640 1, 280, 523, 510, 376, 459, 0, 518, 519, 521,
641 375, 402, 406, 404, 408, 401, 398, 413, 400, 399,
642 0, 0, 450, 450, 0, 0, 381, 382, 383, 0,
643 0, 0, 68, 43, 44, 45, 46, 47, 48, 49,
644 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
645 60, 61, 62, 63, 64, 65, 66, 67, 158, 159,
646 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
647 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
648 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
649 99, 100, 101, 102, 108, 106, 107, 105, 103, 104,
650 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
651 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
652 129, 130, 131, 132, 160, 133, 134, 135, 136, 137,
653 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
654 148, 149, 150, 151, 152, 156, 153, 154, 155, 157,
655 0, 332, 302, 297, 43, 52, 57, 58, 62, 106,
656 107, 105, 103, 104, 124, 126, 127, 128, 129, 130,
657 131, 160, 135, 136, 137, 138, 139, 140, 141, 142,
658 143, 144, 145, 146, 147, 148, 149, 150, 334, 305,
659 333, 298, 313, 314, 299, 301, 342, 343, 0, 0,
660 22, 23, 20, 21, 0, 0, 345, 303, 344, 381,
661 499, 382, 498, 361, 358, 366, 0, 0, 0, 0,
662 0, 0, 295, 0, 0, 426, 0, 0, 0, 0,
663 428, 526, 525, 524, 513, 461, 517, 510, 520, 522,
664 407, 403, 409, 410, 405, 414, 0, 415, 387, 517,
665 455, 0, 0, 452, 453, 456, 0, 476, 502, 474,
666 0, 625, 0, 0, 0, 619, 620, 0, 550, 553,
667 552, 554, 555, 0, 556, 429, 423, 424, 0, 421,
668 419, 0, 324, 325, 322, 335, 496, 495, 0, 0,
669 491, 0, 0, 340, 337, 347, 2, 3, 4, 5,
670 6, 7, 8, 9, 10, 11, 13, 12, 14, 15,
671 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
672 464, 463, 465, 462, 0, 427, 186, 161, 162, 163,
673 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
674 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
675 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
676 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
677 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
678 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
679 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
680 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
681 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
682 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
683 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
684 271, 273, 433, 434, 0, 431, 0, 0, 359, 416,
685 487, 485, 484, 486, 515, 0, 516, 514, 0, 488,
686 0, 478, 489, 0, 0, 518, 460, 411, 0, 457,
687 450, 510, 0, 0, 510, 0, 0, 503, 0, 0,
688 0, 602, 0, 0, 601, 42, 0, 0, 0, 0,
689 622, 0, 0, 596, 527, 551, 0, 0, 326, 420,
690 517, 0, 492, 494, 336, 0, 349, 0, 348, 0,
691 338, 0, 0, 504, 369, 362, 370, 0, 371, 508,
692 508, 368, 367, 487, 356, 357, 0, 352, 354, 353,
693 430, 432, 528, 546, 547, 548, 549, 545, 0, 0,
694 532, 625, 537, 539, 540, 613, 24, 0, 0, 482,
695 512, 0, 0, 511, 517, 0, 418, 517, 0, 441,
696 0, 454, 439, 0, 477, 475, 473, 0, 557, 625,
697 600, 0, 536, 625, 0, 621, 0, 597, 594, 618,
698 425, 327, 330, 0, 328, 493, 490, 341, 346, 0,
699 0, 0, 363, 0, 469, 466, 504, 0, 0, 351,
700 0, 0, 0, 534, 0, 480, 0, 481, 0, 450,
701 447, 0, 510, 0, 510, 510, 487, 0, 31, 30,
702 563, 568, 564, 566, 567, 41, 0, 603, 614, 0,
703 0, 623, 613, 599, 0, 332, 0, 350, 339, 0,
704 505, 0, 0, 0, 469, 373, 372, 529, 0, 533,
705 625, 0, 479, 0, 0, 0, 448, 445, 0, 442,
706 440, 0, 565, 588, 574, 597, 589, 0, 0, 625,
707 569, 625, 0, 0, 624, 0, 323, 329, 331, 0,
708 0, 0, 504, 470, 467, 0, 530, 0, 535, 483,
709 0, 0, 510, 0, 625, 0, 584, 0, 616, 615,
710 604, 558, 0, 509, 0, 0, 471, 0, 468, 0,
711 450, 0, 446, 0, 0, 0, 0, 0, 605, 625,
712 612, 595, 0, 0, 0, 504, 0, 0, 450, 0,
713 590, 0, 488, 586, 561, 559, 585, 0, 573, 617,
714 0, 0, 472, 0, 0, 0, 0, 0, 591, 592,
715 570, 0, 560, 0, 506, 0, 0, 510, 625, 0,
716 625, 587, 0, 531, 450, 443, 0, 571, 593, 507,
717 0, 590, 510, 0, 444, 0, 572
718 };
719
720 /* YYPGOTO[NTERM-NUM]. */
721 static const short int yypgoto[] =
722 {
723 -717, -334, -81, -2, -58, -717, -717, -717, 507, -717,
724 -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
725 -717, -717, -84, -717, -284, -717, -717, -717, -276, -717,
726 -717, 370, -141, 35, -135, -174, -22, -14, -717, -717,
727 -717, 502, -717, -717, 361, -717, -717, -717, -717, 382,
728 -261, -717, -717, -177, -717, -121, -717, -63, 520, 37,
729 3, 45, -717, -717, -717, -717, -179, -717, -88, -10,
730 -32, -717, -717, 166, -350, -717, -257, -717, 7, -717,
731 -89, -359, -717, -79, -717, 101, -717, -440, -438, 214,
732 -717, -708, -83, -374, -717, -367, -27, -717, 383, -717,
733 -717, 529, -717, -209, -670, -716, -717, -717, 535, -717,
734 169, -384, -717, -355, -686, 148, -208, -717, -717, -691,
735 -717, -717, -319, -352, -717, -717, -717, -245, -717, -396,
736 -407, -400, -717, -717, -717, -717, -717, -717, -155, -20,
737 -687
738 };
739
740 /* YYDEFGOTO[NTERM-NUM]. */
741 static const short int yydefgoto[] =
742 {
743 -1, 712, 618, 163, 348, 602, 26, 27, 28, 29,
744 30, 85, 86, 87, 88, 354, 89, 90, 91, 312,
745 743, 744, 349, 350, 367, 667, 668, 31, 686, 687,
746 32, 95, 673, 674, 675, 33, 34, 35, 36, 37,
747 38, 39, 40, 41, 176, 401, 404, 179, 42, 181,
748 688, 43, 191, 793, 44, 603, 604, 605, 45, 46,
749 47, 98, 410, 49, 411, 50, 412, 413, 414, 51,
750 619, 52, 53, 481, 482, 677, 803, 843, 100, 418,
751 419, 641, 621, 622, 661, 450, 55, 101, 102, 142,
752 638, 754, 377, 395, 623, 166, 438, 168, 169, 393,
753 56, 57, 699, 700, 642, 701, 147, 702, 703, 704,
754 427, 428, 429, 893, 894, 895, 782, 783, 784, 138,
755 877, 896, 827, 907, 908, 430, 652, 794, 431, 909,
756 644, 139, 832, 859, 432, 433, 434, 649, 650, 646,
757 155
758 };
759
760 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
761 positive, shift that token. If negative, reduce the rule whose
762 number is the opposite. If YYTABLE_NINF, syntax error. */
763 static const short int yytable[] =
764 {
765 67, 165, 154, 351, 416, 99, 167, 54, 409, 409,
766 365, 164, 368, 436, 137, 140, 141, 653, 97, 378,
767 170, 645, 311, 626, 645, 643, 442, 478, 479, 624,
768 385, 763, 355, 475, 54, 620, 785, 679, 390, 680,
769 786, 781, 629, 655, 807, 48, 810, 66, 804, 443,
770 96, 352, 149, 162, 379, 48, 391, 380, 151, 186,
771 187, 188, 159, 58, 732, 59, 48, 153, 435, 48,
772 48, 160, 48, -387, 656, 451, 800, -387, 310, 402,
773 654, 454, 403, 480, 99, 180, 801, 826, 477, 366,
774 369, 371, 846, 692, 659, 785, 182, 97, 375, -386,
775 830, 716, 189, -24, 869, 11, 446, 447, 475, 764,
776 48, -449, 448, 190, 392, -438, -458, 475, -458, 183,
777 475, 105, 880, 143, 449, 689, 144, 184, 398, 373,
778 145, -387, 146, 185, 866, 420, 421, 422, 423, 424,
779 763, 425, 426, 735, 353, 628, 736, 99, 420, 421,
780 422, 423, 424, 313, 425, 426, 374, -386, 437, 856,
781 97, -449, -508, 64, -501, 397, 376, -508, 177, 4,
782 5, 666, 415, 415, -381, -501, 376, 902, 171, 172,
783 173, 381, 417, 174, 874, 785, 382, 383, 384, 897,
784 669, 670, 96, 66, 387, 48, 175, 386, 826, 923,
785 396, 48, 394, 171, 172, 173, 785, -355, 174, -355,
786 -355, 912, -382, -501, 131, 132, 133, 134, 135, 136,
787 785, 175, 655, -487, 897, -487, -487, 444, 400, 365,
788 406, 368, 679, 455, 680, -387, -387, 679, 407, 680,
789 1, 2, 3, 4, 5, 6, 7, 8, 926, 631,
790 632, 634, 635, 9, 823, 824, 708, 719, 60, 709,
791 722, 143, 485, 439, 144, 11, 761, 762, 145, 825,
792 146, 693, 694, 695, 696, 697, 476, 724, 365, 477,
793 368, 769, 770, 607, 365, 484, 368, 143, 772, 773,
794 144, 698, 445, 745, 145, 608, 146, 693, 694, 695,
795 696, 697, 162, 676, 834, 657, 370, 372, 366, 420,
796 421, 422, 423, 424, 609, 425, 426, 627, 440, 630,
797 61, 62, 63, 64, 633, 636, 659, 22, 637, 645,
798 657, 658, 475, 787, 663, 475, 475, 121, 122, 123,
799 124, 125, 126, 127, 128, 129, 671, 768, 713, 717,
800 771, 728, 766, 767, 730, 720, 726, 366, 727, 150,
801 731, 723, 453, 366, 729, 732, 733, 734, 780, 625,
802 737, 738, 746, 751, 365, 747, 368, 165, 748, 753,
803 749, 759, 167, 811, 760, 774, 775, 164, 639, 795,
804 647, 796, 651, 365, 365, 368, 368, 799, 817, 802,
805 819, 820, 808, 828, 821, 812, 829, 805, 806, 831,
806 -598, 818, 1, 2, 3, 4, 5, 6, 7, 8,
807 835, 648, 839, 840, 841, 9, 844, 780, 862, 850,
808 60, 645, 851, 852, 660, 858, 397, 11, 854, 864,
809 860, 707, 861, 863, 865, 755, 681, 682, 867, 868,
810 665, 718, 689, 366, 849, 881, 409, 870, 876, 409,
811 871, 873, 882, 475, 475, 797, 798, 99, 878, 855,
812 879, 883, 366, 366, 884, 886, 823, 824, 872, 645,
813 97, 888, 889, 899, 678, 890, 900, 898, 731, 901,
814 645, 903, 92, 93, 18, 64, 904, 915, 676, 911,
815 913, 914, 916, 676, 917, 1, 2, 3, 4, 5,
816 6, 7, 8, 918, 920, 919, 891, 780, 9, 922,
817 645, 924, 931, 60, 928, 927, 929, 388, 932, 672,
818 11, 645, 935, 936, 161, 848, 756, 752, 780, 405,
819 389, 691, 178, 925, 158, 721, 483, 845, 725, 662,
820 152, 399, 780, 809, 148, 606, 921, 790, 934, 121,
821 122, 123, 124, 125, 126, 127, 128, 129, 640, 822,
822 906, 1, 2, 3, 4, 5, 6, 7, 8, 933,
823 853, 791, 0, 0, 9, 61, 62, 63, 64, 60,
824 815, 0, 0, 446, 447, 409, 757, 758, 0, 0,
825 0, 1, 2, 3, 4, 5, 6, 7, 8, 0,
826 0, 449, 0, 0, 9, 0, 0, 0, 0, 60,
827 415, 0, 715, 415, 65, 740, 0, 0, 0, 0,
828 0, 0, 0, 625, 0, 417, 0, 0, 0, 0,
829 0, 0, 0, 0, 165, 0, 0, 0, 0, 167,
830 0, 61, 62, 63, 164, 0, 742, 0, 0, 0,
831 0, 0, 99, 0, 0, 0, 0, 99, 365, 365,
832 368, 368, 0, 0, 0, 97, 375, 0, 0, 678,
833 97, 61, 62, 63, 678, 164, 0, 625, 0, 0,
834 625, 887, 0, 0, 0, 0, 409, 0, 0, 788,
835 0, 0, 437, 0, 0, 437, 0, 0, 0, 905,
836 0, 836, 0, 789, 409, 0, 0, 1, 2, 3,
837 4, 5, 6, 7, 8, 0, 0, 0, 0, 0,
838 9, 0, 0, 0, 648, 10, 0, 0, 0, 0,
839 0, 0, 11, 12, 13, 930, 0, 366, 366, 0,
840 409, 0, 0, 0, 14, 0, 0, 833, 0, 415,
841 0, 0, 0, 0, 0, 0, 814, 0, 0, 715,
842 842, 68, 0, 681, 682, 0, 0, 0, 0, 0,
843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
844 847, 0, 0, 437, 838, 0, 15, 16, 17, 18,
845 19, 20, 21, 0, 22, 0, 0, 69, 70, 71,
846 72, 73, 74, 75, 76, 77, 78, 79, 80, 0,
847 81, 82, 83, 84, 0, 0, 0, 0, 0, 23,
848 0, 0, 0, 0, 24, 885, 25, 0, 0, 0,
849 0, 0, 0, 0, 892, 0, 0, 0, 0, 0,
850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
851 415, 0, 0, 0, 0, 0, 0, 0, 0, 0,
852 0, 0, 0, 0, 0, 0, 0, 0, 415, 892,
853 0, 0, 0, 0, 192, 0, 0, 193, 194, 195,
854 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
855 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
856 216, 217, 218, 219, 415, 220, 221, 222, 223, 224,
857 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
858 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
859 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
860 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
861 265, 266, 267, 268, 0, 269, 0, 270, 271, 272,
862 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
863 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
864 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
865 303, 0, 0, 304, 0, 305, 306, 307, 308, 309,
866 192, 0, 0, 314, 194, 195, 196, 197, 198, 199,
867 200, 201, 315, 203, 204, 205, 206, 316, 317, 209,
868 210, 211, 318, 213, 214, 215, 216, 217, 218, 219,
869 0, 220, 221, 222, 223, 224, 225, 226, 227, 228,
870 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
871 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
872 249, 250, 251, 252, 253, 254, 319, 320, 321, 322,
873 323, 260, 261, 262, 263, 264, 265, 266, 267, 268,
874 0, 269, 0, 270, 271, 272, 273, 274, 324, 276,
875 325, 326, 327, 328, 329, 330, 283, 331, 285, 286,
876 332, 333, 334, 335, 336, 337, 338, 339, 340, 341,
877 342, 343, 344, 345, 346, 347, 303, 0, 0, 304,
878 0, 305, 306, 307, 308, 309, 486, 0, 0, 487,
879 488, 489, 490, 491, 492, 493, 494, 495, 496, 497,
880 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
881 508, 509, 510, 511, 512, 513, 0, 514, 515, 516,
882 517, 518, 384, 690, 519, 520, 521, 522, 523, 524,
883 525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
884 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
885 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
886 555, 556, 557, 558, 559, 560, 0, 561, 0, 562,
887 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
888 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
889 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
890 593, 594, 595, 0, 0, 596, 0, 597, 598, 599,
891 600, 601, 486, 0, 0, 487, 488, 489, 490, 491,
892 492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
893 502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
894 512, 513, 0, 514, 515, 516, 517, 518, 384, 0,
895 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
896 529, 530, 531, 532, 533, 534, 535, 536, 537, 538,
897 539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
898 549, 550, 551, 552, 553, 554, 555, 556, 557, 558,
899 559, 560, 0, 561, 0, 562, 563, 564, 565, 566,
900 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
901 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
902 587, 588, 589, 590, 591, 592, 593, 594, 595, 103,
903 0, 596, 0, 597, 598, 599, 600, 601, 104, 0,
904 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
905 0, 612, 0, 613, 358, 614, 0, 0, 615, 0,
906 0, 0, 0, 1, 2, 3, 4, 5, 6, 7,
907 8, 0, 0, 360, 361, 162, 9, 0, 0, 0,
908 0, 60, 0, 0, 0, 0, 362, 363, 11, 0,
909 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 616, 113, 0, 114, 115, 116, 117,
912 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
913 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
914 135, 136, 0, 92, 93, 18, 64, 0, 0, 0,
915 617, 1, 2, 3, 4, 5, 6, 7, 8, 0,
916 0, 0, 0, 0, 9, 0, 0, 0, 0, 60,
917 0, 0, -33, 0, 0, 0, 11, 0, 0, 0,
918 94, -33, 0, 0, 0, 0, -33, -33, 0, 0,
919 0, -33, 0, 0, -33, -33, -33, -33, 0, 0,
920 0, -33, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, -33, -33, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
923 -33, 92, 93, 18, 64, -33, -33, -33, -33, -33,
924 0, 0, 0, 0, 0, 0, 0, -33, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, -33, 0, -33,
926 -33, -33, -33, -33, -33, 0, -33, 0, 672, -33,
927 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
928 -33, -33, -33, -33, -33, -34, 0, -33, 0, 0,
929 0, 0, 0, 0, -34, 0, 0, 0, 0, -34,
930 -34, 0, 0, 0, -34, 0, 0, -34, -34, -34,
931 -34, 0, 0, 0, -34, 0, 0, 0, 0, 0,
932 0, 1, 2, 3, 4, 5, 6, 7, 8, -34,
933 -34, 0, 0, 0, 9, 0, 0, 0, 0, 60,
934 0, 0, -34, -34, 0, 0, 11, 0, -34, -34,
935 -34, -34, -34, 0, 0, 0, 0, 0, 0, 0,
936 -34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 -34, 0, -34, -34, -34, -34, -34, -34, 0, -34,
938 0, 0, -34, -34, -34, -34, -34, -34, -34, -34,
939 -34, -34, -34, -34, -34, -34, -34, -34, -57, 0,
940 -34, 61, 62, 63, 64, 0, 0, -57, 0, 0,
941 0, 0, -57, -57, 0, 0, 0, -57, 0, 0,
942 -57, -57, -57, -57, 0, 0, 0, -57, 0, 0,
943 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
944 7, 8, -57, -57, 0, 0, 0, 9, 0, 0,
945 0, 0, 60, 0, 0, -57, -57, 0, 0, 11,
946 0, -57, -57, -57, -57, -57, 0, 0, 0, 0,
947 0, 0, 0, -57, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, -57, 0, -57, -57, -57, -57, -57,
949 -57, 0, -57, 0, 0, -57, -57, -57, -57, -57,
950 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
951 -57, -58, 0, -613, 92, 93, 18, 64, 0, 0,
952 -58, 0, 0, 0, 0, -58, -58, 0, 0, 0,
953 -58, 0, 0, -58, -58, -58, -58, 0, 0, 0,
954 -58, 0, 0, 0, 0, 0, 0, 1, 2, 3,
955 4, 5, 6, 7, 8, -58, -58, 0, 0, 0,
956 9, 0, 0, 0, 0, 60, 0, 0, -58, -58,
957 0, 0, 11, 0, -58, -58, -58, -58, -58, 0,
958 0, 0, 0, 0, 0, 0, -58, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, -58, 0, -58, -58,
960 -58, -58, -58, -58, 0, -58, 0, 0, -58, -58,
961 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
962 -58, -58, -58, -58, -24, 0, -574, 61, 62, 63,
963 64, 0, 0, -24, 0, 0, 0, 0, -24, -24,
964 0, 0, 0, -24, 0, 0, -24, -24, -24, -24,
965 0, 0, 0, -24, 0, 0, 0, 0, 0, 0,
966 1, 2, 3, 4, 5, 6, 7, 8, -24, -24,
967 0, 0, 0, 408, 0, 0, 0, 0, 60, 0,
968 0, -24, -24, 0, 0, 11, 0, -24, -24, -24,
969 -24, -24, 0, 0, 0, 0, 0, 0, 0, -24,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, -24,
971 0, -24, -24, -24, -24, -24, -24, 0, -24, 0,
972 0, -24, -24, -24, -24, -24, -24, -24, -24, -24,
973 -24, -24, -24, -24, -24, -24, -24, -39, 0, -24,
974 61, 62, 63, 64, 0, 0, -39, 0, 0, 0,
975 0, -39, -39, 0, 0, 0, -39, 0, 0, -39,
976 -39, -39, -39, 0, 0, 0, -39, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 0, -39, -39, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, -39, -39, 0, 0, 0, 0,
980 -39, -39, -39, -39, -39, 0, 0, 0, 0, 0,
981 0, 0, -39, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, -39, 0, -39, -39, -39, -39, -39, -39,
983 0, -39, 0, 0, -39, -39, -39, -39, -39, -39,
984 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
985 -38, 0, -39, 0, 0, 0, 0, 0, 0, -38,
986 0, 0, 0, 0, -38, -38, 0, 0, 0, -38,
987 0, 0, -38, -38, -38, -38, 0, 0, 0, -38,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, -38, -38, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, -38, -38, 0,
991 0, 0, 0, -38, -38, -38, -38, -38, 0, 0,
992 0, 0, 0, 0, 0, -38, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, -38, 0, -38, -38, -38,
994 -38, -38, -38, 0, -38, 0, 0, -38, -38, -38,
995 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
996 -38, -38, -38, -37, 0, -38, 0, 0, 0, 0,
997 0, 0, -37, 0, 0, 0, 0, -37, -37, 0,
998 0, 0, -37, 0, 0, -37, -37, -37, -37, 0,
999 0, 0, -37, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, -37, -37, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 -37, -37, 0, 0, 0, 0, -37, -37, -37, -37,
1003 -37, 0, 0, 0, 0, 0, 0, 0, -37, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, -37, 0,
1005 -37, -37, -37, -37, -37, -37, 0, -37, 0, 0,
1006 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1007 -37, -37, -37, -37, -37, -37, -35, 0, -37, 0,
1008 0, 0, 0, 0, 0, -35, 0, 0, 0, 0,
1009 -35, -35, 0, 0, 0, -35, 0, 0, -35, -35,
1010 -35, -35, 0, 0, 0, -35, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 -35, -35, 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, -35, -35, 0, 0, 0, 0, -35,
1014 -35, -35, -35, -35, 0, 0, 0, 0, 0, 0,
1015 0, -35, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, -35, 0, -35, -35, -35, -35, -35, -35, 0,
1017 -35, 0, 0, -35, -35, -35, -35, -35, -35, -35,
1018 -35, -35, -35, -35, -35, -35, -35, -35, -35, -36,
1019 0, -35, 0, 0, 0, 0, 0, 0, -36, 0,
1020 0, 0, 0, -36, -36, 0, 0, 0, -36, 0,
1021 0, -36, -36, -36, -36, 0, 0, 0, -36, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, -36, -36, 0, 0, 0, 0, 0,
1024 0, 0, 0, 0, 0, 0, -36, -36, 0, 0,
1025 0, 0, -36, -36, -36, -36, -36, 0, 0, 0,
1026 0, 0, 0, 0, -36, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, -36, 0, -36, -36, -36, -36,
1028 -36, -36, 0, -36, 0, 0, -36, -36, -36, -36,
1029 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
1030 -36, -36, -32, 0, -36, 0, 0, 0, 0, 0,
1031 0, -32, 0, 0, 0, 0, -32, -32, 0, 0,
1032 0, -32, 0, 0, -32, -32, -32, -32, 0, 0,
1033 0, -32, 0, 0, 0, 0, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, -32, -32, 0, 0,
1035 0, 0, 0, 0, 0, 0, 0, 0, 0, -32,
1036 -32, 0, 0, 0, 0, -32, -32, -32, -32, -32,
1037 0, 0, 0, 0, 0, 0, 0, -32, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, -32, 0, -32,
1039 -32, -32, -32, -32, -32, 0, -32, 0, 0, -32,
1040 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1041 -32, -32, -32, -32, -32, -31, 0, -32, 0, 0,
1042 0, 0, 0, 0, -31, 0, 0, 0, 0, -31,
1043 -31, 0, 0, 0, -31, 0, 0, -31, -31, -31,
1044 -31, 0, 0, 0, -31, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, -31,
1046 -31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, -31, -31, 0, 0, 0, 0, -31, -31,
1048 -31, -31, -31, 0, 0, 0, 0, 0, 0, 0,
1049 -31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 -31, 0, -31, -31, -31, -31, -31, -31, 0, -31,
1051 0, 0, -31, -31, -31, -31, -31, -31, -31, -31,
1052 -31, -31, -31, -31, -31, -31, -31, -31, -25, 0,
1053 -31, 0, 0, 0, 0, 0, 0, -25, 0, 0,
1054 0, 0, -25, -25, 0, 0, 0, -25, 0, 0,
1055 -25, -25, -25, -25, 0, 0, 0, -25, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, -25, -25, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, -25, -25, 0, 0, 0,
1059 0, -25, -25, -25, -25, -25, 0, 0, 0, 0,
1060 0, 0, 0, -25, 0, 0, 0, 0, 0, 0,
1061 0, 0, 0, -25, 0, -25, -25, -25, -25, -25,
1062 -25, 0, -25, 0, 0, -25, -25, -25, -25, -25,
1063 -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
1064 -25, -29, 0, -25, 0, 0, 0, 0, 0, 0,
1065 -29, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1066 -29, 0, 0, -29, -29, -29, -29, 0, 0, 0,
1067 -29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1069 0, 0, 0, 0, 0, 0, 0, 0, -29, -29,
1070 0, 0, 0, 0, -29, -29, -29, -29, -29, 0,
1071 0, 0, 0, 0, 0, 0, -29, 0, 0, 0,
1072 0, 0, 0, 0, 0, 0, -29, 0, -29, -29,
1073 -29, -29, -29, -29, 0, -29, 0, 0, -29, -29,
1074 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1075 -29, -29, -29, -29, -28, 0, -29, 0, 0, 0,
1076 0, 0, 0, -28, 0, 0, 0, 0, -28, -28,
1077 0, 0, 0, -28, 0, 0, -28, -28, -28, -28,
1078 0, 0, 0, -28, 0, 0, 0, 0, 0, 0,
1079 0, 0, 0, 0, 0, 0, 0, 0, -28, -28,
1080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1081 0, -28, -28, 0, 0, 0, 0, -28, -28, -28,
1082 -28, -28, 0, 0, 0, 0, 0, 0, 0, -28,
1083 0, 0, 0, 0, 0, 0, 0, 0, 0, -28,
1084 0, -28, -28, -28, -28, -28, -28, 0, -28, 0,
1085 0, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1086 -28, -28, -28, -28, -28, -28, -28, -26, 0, -28,
1087 0, 0, 0, 0, 0, 0, -26, 0, 0, 0,
1088 0, -26, -26, 0, 0, 0, -26, 0, 0, -26,
1089 -26, -26, -26, 0, 0, 0, -26, 0, 0, 0,
1090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1091 0, -26, -26, 0, 0, 0, 0, 0, 0, 0,
1092 0, 0, 0, 0, -26, -26, 0, 0, 0, 0,
1093 -26, -26, -26, -26, -26, 0, 0, 0, 0, 0,
1094 0, 0, -26, 0, 0, 0, 0, 0, 0, 0,
1095 0, 0, -26, 0, -26, -26, -26, -26, -26, -26,
1096 0, -26, 0, 0, -26, -26, -26, -26, -26, -26,
1097 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1098 -27, 0, -26, 0, 0, 0, 0, 0, 0, -27,
1099 0, 0, 0, 0, -27, -27, 0, 0, 0, -27,
1100 0, 0, -27, -27, -27, -27, 0, 0, 0, -27,
1101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1102 0, 0, 0, 0, -27, -27, 0, 0, 0, 0,
1103 0, 0, 0, 0, 0, 0, 0, -27, -27, 0,
1104 0, 0, 0, -27, -27, -27, -27, -27, 0, 0,
1105 0, 0, 0, 0, 0, -27, 0, 0, 0, 0,
1106 0, 0, 0, 0, 0, -27, 0, -27, -27, -27,
1107 -27, -27, -27, 0, -27, 0, 0, -27, -27, -27,
1108 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1109 -27, -27, -27, -40, 0, -27, 0, 0, 0, 0,
1110 0, 0, -40, 0, 0, 0, 0, -40, -40, 0,
1111 0, 0, -40, 0, 0, -40, -40, -40, -40, 0,
1112 0, 0, -40, 0, 0, 0, 0, 0, 0, 0,
1113 0, 0, 0, 0, 0, 0, 0, -40, -40, 0,
1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 -40, -40, 0, 0, 0, 0, -40, -40, -40, -40,
1116 -40, 0, 0, 0, 0, 0, 0, 0, -40, 0,
1117 0, 0, 0, 0, 0, 0, 0, 0, -40, 0,
1118 -40, -40, -40, -40, -40, -40, 0, -40, 0, 0,
1119 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1120 -40, -40, -40, -40, -40, -40, -135, 0, -40, 0,
1121 0, 0, 0, 0, 0, -135, 0, 0, 0, 0,
1122 -135, -135, 0, 0, 0, -135, 0, 0, -135, -135,
1123 -135, -135, 0, 0, 0, -135, 0, 0, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1125 -135, -135, 0, 0, 0, 0, 0, 0, 0, 0,
1126 0, 0, 0, -135, -135, 0, 0, 0, 0, -135,
1127 -135, -135, -135, -135, 0, 0, 0, 0, 0, 0,
1128 0, -135, 0, 0, 0, 0, 0, 0, 0, 0,
1129 0, -135, 0, -135, -135, -135, -135, -135, -135, 0,
1130 -135, 0, 0, -135, -135, -135, -135, -135, -135, -135,
1131 -135, -135, -135, -135, -135, -135, -135, -135, -135, -136,
1132 0, -582, 0, 0, 0, 0, 0, 0, -136, 0,
1133 0, 0, 0, -136, -136, 0, 0, 0, -136, 0,
1134 0, -136, -136, -136, -136, 0, 0, 0, -136, 0,
1135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1136 0, 0, 0, -136, -136, 0, 0, 0, 0, 0,
1137 0, 0, 0, 0, 0, 0, -136, -136, 0, 0,
1138 0, 0, -136, -136, -136, -136, -136, 0, 0, 0,
1139 0, 0, 0, 0, -136, 0, 0, 0, 0, 0,
1140 0, 0, 0, 0, -136, 0, -136, -136, -136, -136,
1141 -136, -136, 0, -136, 0, 0, -136, -136, -136, -136,
1142 -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1143 -136, -136, -137, 0, -581, 0, 0, 0, 0, 0,
1144 0, -137, 0, 0, 0, 0, -137, -137, 0, 0,
1145 0, -137, 0, 0, -137, -137, -137, -137, 0, 0,
1146 0, -137, 0, 0, 0, 0, 0, 0, 0, 0,
1147 0, 0, 0, 0, 0, 0, -137, -137, 0, 0,
1148 0, 0, 0, 0, 0, 0, 0, 0, 0, -137,
1149 -137, 0, 0, 0, 0, -137, -137, -137, -137, -137,
1150 0, 0, 0, 0, 0, 0, 0, -137, 0, 0,
1151 0, 0, 0, 0, 0, 0, 0, -137, 0, -137,
1152 -137, -137, -137, -137, -137, 0, -137, 0, 0, -137,
1153 -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1154 -137, -137, -137, -137, -137, -138, 0, -579, 0, 0,
1155 0, 0, 0, 0, -138, 0, 0, 0, 0, -138,
1156 -138, 0, 0, 0, -138, 0, 0, -138, -138, -138,
1157 -138, 0, 0, 0, -138, 0, 0, 0, 0, 0,
1158 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
1159 -138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, -138, -138, 0, 0, 0, 0, -138, -138,
1161 -138, -138, -138, 0, 0, 0, 0, 0, 0, 0,
1162 -138, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1163 -138, 0, -138, -138, -138, -138, -138, -138, 0, -138,
1164 0, 0, -138, -138, -138, -138, -138, -138, -138, -138,
1165 -138, -138, -138, -138, -138, -138, -138, -138, -139, 0,
1166 -577, 0, 0, 0, 0, 0, 0, -139, 0, 0,
1167 0, 0, -139, -139, 0, 0, 0, -139, 0, 0,
1168 -139, -139, -139, -139, 0, 0, 0, -139, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1170 0, 0, -139, -139, 0, 0, 0, 0, 0, 0,
1171 0, 0, 0, 0, 0, -139, -139, 0, 0, 0,
1172 0, -139, -139, -139, -139, -139, 0, 0, 0, 0,
1173 0, 0, 0, -139, 0, 0, 0, 0, 0, 0,
1174 0, 0, 0, -139, 0, -139, -139, -139, -139, -139,
1175 -139, 0, -139, 0, 0, -139, -139, -139, -139, -139,
1176 -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1177 -139, -140, 0, -578, 0, 0, 0, 0, 0, 0,
1178 -140, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1179 -140, 0, 0, -140, -140, -140, -140, 0, 0, 0,
1180 -140, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1181 0, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1182 0, 0, 0, 0, 0, 0, 0, 0, -140, -140,
1183 0, 0, 0, 0, -140, -140, -140, -140, -140, 0,
1184 0, 0, 0, 0, 0, 0, -140, 0, 0, 0,
1185 0, 0, 0, 0, 0, 0, -140, 0, -140, -140,
1186 -140, -140, -140, -140, 0, -140, 0, 0, -140, -140,
1187 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1188 -140, -140, -140, -140, -141, 0, -580, 0, 0, 0,
1189 0, 0, 0, -141, 0, 0, 0, 0, -141, -141,
1190 0, 0, 0, -141, 0, 0, -141, -141, -141, -141,
1191 0, 0, 0, -141, 0, 0, 0, 0, 0, 0,
1192 0, 0, 0, 0, 0, 0, 0, 0, -141, -141,
1193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1194 0, -141, -141, 0, 0, 0, 0, -141, -141, -141,
1195 -141, -141, 0, 0, 0, 0, 0, 0, 0, -141,
1196 0, 0, 0, 0, 0, 0, 0, 0, 0, -141,
1197 0, -141, -141, -141, -141, -141, -141, 0, -141, 0,
1198 0, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1199 -141, -141, -141, -141, -141, -141, -141, -142, 0, -576,
1200 0, 0, 0, 0, 0, 0, -142, 0, 0, 0,
1201 0, -142, -142, 0, 0, 0, -142, 0, 0, -142,
1202 -142, -142, -142, 0, 0, 0, -142, 0, 0, 0,
1203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1204 0, -142, -142, 0, 0, 0, 0, 0, 0, 0,
1205 0, 0, 0, 0, -142, -142, 0, 0, 0, 0,
1206 -142, -142, -142, -142, -142, 0, 0, 0, 0, 0,
1207 0, 0, -142, 0, 0, 0, 0, 0, 0, 0,
1208 0, 0, -142, 0, -142, -142, -142, -142, -142, -142,
1209 0, -142, 0, 0, -142, -142, -142, -142, -142, -142,
1210 -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1211 -143, 0, -575, 0, 0, 0, 0, 0, 0, -143,
1212 0, 0, 0, 0, -143, -143, 0, 0, 0, -143,
1213 0, 0, -143, -143, -143, -143, 0, 0, 0, -143,
1214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215 0, 0, 0, 0, -143, -143, 0, 0, 0, 0,
1216 0, 0, 0, 0, 0, 0, 0, -143, -143, 0,
1217 0, 0, 0, -143, -143, -143, -143, -143, 0, 0,
1218 0, 0, 0, 0, 0, -143, 0, 0, 0, 0,
1219 0, 0, 0, 0, 0, -143, 0, -143, -143, -143,
1220 -143, -143, -143, 0, -143, 0, 0, -143, -143, -143,
1221 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1222 -143, -143, -143, -30, 0, -583, 0, 0, 0, 0,
1223 0, 0, -30, 0, 0, 0, 0, -30, -30, 0,
1224 0, 0, -30, 0, 0, -30, -30, -30, -30, 0,
1225 0, 0, -30, 0, 0, 0, 0, 0, 0, 0,
1226 0, 0, 0, 0, 0, 0, 0, -30, -30, 0,
1227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1228 -30, -30, 0, 0, 0, 0, -30, -30, -30, -30,
1229 -30, 0, 0, 0, 0, 0, 0, 0, -30, 0,
1230 0, 0, 0, 0, 0, 0, 0, 0, -30, 0,
1231 -30, -30, -30, -30, -30, -30, 0, -30, 0, 0,
1232 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1233 -30, -30, -30, -30, -30, -30, -145, 0, -30, 0,
1234 0, 0, 0, 0, 0, -145, 0, 0, 0, 0,
1235 -145, -145, 0, 0, 0, -145, 0, 0, -145, -145,
1236 -145, -145, 0, 0, 0, -145, 0, 0, 0, 0,
1237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1238 -145, -145, 0, 0, 0, 0, 0, 0, 0, 0,
1239 0, 0, 0, -145, -145, 0, 0, 0, 0, -145,
1240 -145, -145, -145, -145, 0, 0, 0, 0, 0, 0,
1241 0, -145, 0, 0, 0, 0, 0, 0, 0, 0,
1242 0, -145, 0, -145, -145, -145, -145, -145, -145, 0,
1243 -145, 0, 0, -145, -145, -145, -145, -145, -145, -145,
1244 -145, -145, -145, -145, -145, -145, -145, -145, -145, -146,
1245 0, -611, 0, 0, 0, 0, 0, 0, -146, 0,
1246 0, 0, 0, -146, -146, 0, 0, 0, -146, 0,
1247 0, -146, -146, -146, -146, 0, 0, 0, -146, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, -146, -146, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 0, 0, -146, -146, 0, 0,
1251 0, 0, -146, -146, -146, -146, -146, 0, 0, 0,
1252 0, 0, 0, 0, -146, 0, 0, 0, 0, 0,
1253 0, 0, 0, 0, -146, 0, -146, -146, -146, -146,
1254 -146, -146, 0, -146, 0, 0, -146, -146, -146, -146,
1255 -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1256 -146, -146, -147, 0, -609, 0, 0, 0, 0, 0,
1257 0, -147, 0, 0, 0, 0, -147, -147, 0, 0,
1258 0, -147, 0, 0, -147, -147, -147, -147, 0, 0,
1259 0, -147, 0, 0, 0, 0, 0, 0, 0, 0,
1260 0, 0, 0, 0, 0, 0, -147, -147, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, -147,
1262 -147, 0, 0, 0, 0, -147, -147, -147, -147, -147,
1263 0, 0, 0, 0, 0, 0, 0, -147, 0, 0,
1264 0, 0, 0, 0, 0, 0, 0, -147, 0, -147,
1265 -147, -147, -147, -147, -147, 0, -147, 0, 0, -147,
1266 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1267 -147, -147, -147, -147, -147, -148, 0, -608, 0, 0,
1268 0, 0, 0, 0, -148, 0, 0, 0, 0, -148,
1269 -148, 0, 0, 0, -148, 0, 0, -148, -148, -148,
1270 -148, 0, 0, 0, -148, 0, 0, 0, 0, 0,
1271 0, 0, 0, 0, 0, 0, 0, 0, 0, -148,
1272 -148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1273 0, 0, -148, -148, 0, 0, 0, 0, -148, -148,
1274 -148, -148, -148, 0, 0, 0, 0, 0, 0, 0,
1275 -148, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1276 -148, 0, -148, -148, -148, -148, -148, -148, 0, -148,
1277 0, 0, -148, -148, -148, -148, -148, -148, -148, -148,
1278 -148, -148, -148, -148, -148, -148, -148, -148, -149, 0,
1279 -610, 0, 0, 0, 0, 0, 0, -149, 0, 0,
1280 0, 0, -149, -149, 0, 0, 0, -149, 0, 0,
1281 -149, -149, -149, -149, 0, 0, 0, -149, 0, 0,
1282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283 0, 0, -149, -149, 0, 0, 0, 0, 0, 0,
1284 0, 0, 0, 0, 0, -149, -149, 0, 0, 0,
1285 0, -149, -149, -149, -149, -149, 0, 0, 0, 0,
1286 0, 0, 0, -149, 0, 0, 0, 0, 0, 0,
1287 0, 0, 0, -149, 0, -149, -149, -149, -149, -149,
1288 -149, 0, -149, 0, 0, -149, -149, -149, -149, -149,
1289 -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1290 -149, -150, 0, -607, 0, 0, 0, 0, 0, 0,
1291 -150, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1292 -150, 0, 0, -150, -150, -150, -150, 0, 0, 0,
1293 -150, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1294 0, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1295 0, 0, 0, 0, 0, 0, 0, 0, -150, -150,
1296 0, 0, 0, 0, -150, -150, -150, -150, -150, 0,
1297 0, 0, 0, 0, 0, 0, -150, 0, 0, 0,
1298 0, 0, 0, 0, 0, 0, -150, 0, -150, -150,
1299 -150, -150, -150, -150, 0, -150, 0, 0, -150, -150,
1300 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1301 -150, -150, -150, -150, 103, 0, -606, 0, 0, 0,
1302 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1303 0, 0, 0, 107, 0, 0, 356, 440, 357, 358,
1304 0, 0, 0, 359, 0, 0, 0, 0, 0, 0,
1305 0, 0, 0, 0, 0, 0, 0, 0, 360, 361,
1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1307 0, 362, 363, 0, 0, 0, 0, 108, 109, 110,
1308 111, 112, 0, 0, 0, 0, 0, 0, 0, 364,
1309 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1310 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1311 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1312 130, 131, 132, 133, 134, 135, 136, -574, 0, 441,
1313 0, 0, 0, 0, 0, 0, -574, 0, 0, 0,
1314 0, -574, -574, 0, 0, 0, -574, 0, 0, 0,
1315 0, 0, 0, -574, -574, -574, -574, -574, -574, -574,
1316 -574, -574, -574, -574, -574, 0, -574, -574, -574, -574,
1317 -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
1318 -574, -574, -574, -574, 0, 0, 0, 0, 0, -574,
1319 -574, -574, -574, -574, -574, 1, 2, 3, 4, 5,
1320 6, 7, 8, 0, 0, 0, 0, 0, 9, 0,
1321 0, -574, -574, 156, -574, -574, -574, -574, -574, -574,
1322 11, -574, 0, 0, -574, -574, -574, -574, -574, -574,
1323 -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
1324 103, 1, 2, 3, 4, 5, 6, 7, 8, 104,
1325 0, 0, 0, 0, 705, 106, 610, 0, 0, 706,
1326 611, 0, 612, 0, 613, 358, 11, 0, 0, 615,
1327 0, 0, 0, 0, 157, 61, 62, 63, 64, 0,
1328 0, 0, 0, 0, 360, 361, 162, 0, 0, 0,
1329 0, 0, 0, 0, 0, 0, 0, 362, 363, 0,
1330 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332 0, 61, 62, 63, 64, 113, 0, 114, 115, 116,
1333 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1334 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1335 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1336 0, 0, 104, 0, 0, 0, 0, 105, 106, 683,
1337 684, 685, 107, 611, 0, 612, 440, 613, 358, 0,
1338 0, 0, 615, 0, 0, 0, 0, 0, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 360, 361, 162,
1340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1341 362, 363, 0, 0, 0, 0, 108, 109, 110, 111,
1342 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1343 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
1344 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1345 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1346 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1347 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
1348 105, 106, 776, 0, 0, 107, 611, 0, 612, 0,
1349 613, 358, 0, 0, 0, 615, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 0, 0, 153, 0, 0,
1351 360, 361, 162, 0, 0, 0, 0, 0, 0, 0,
1352 0, 0, 0, 362, 363, 0, 0, 0, 0, 108,
1353 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1355 0, 113, 777, 778, 115, 116, 117, 118, 119, 0,
1356 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1357 128, 129, 779, 131, 132, 133, 134, 135, 136, 103,
1358 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1359 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
1360 0, 612, 0, 613, 358, 0, 0, 0, 615, 0,
1361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1362 153, 0, 0, 360, 361, 162, 0, 0, 0, 0,
1363 0, 0, 0, 0, 0, 0, 362, 363, 0, 0,
1364 857, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1367 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1368 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1369 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1370 0, 104, 0, 0, 0, 0, 105, 106, 610, 0,
1371 0, 107, 611, -625, 612, 0, 613, 358, 0, 0,
1372 0, 615, 0, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 153, 0, 0, 360, 361, 162, 0,
1374 0, 0, 0, 0, 0, 0, 0, 0, 0, 362,
1375 363, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1378 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1379 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1380 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1381 0, 0, 0, 0, 104, 0, 0, 0, 0, 105,
1382 106, 610, 0, 0, 107, 611, 0, 612, 0, 613,
1383 358, 0, 0, 0, 615, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 153, 0, 0, 360,
1385 361, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1386 0, 0, 362, 363, 0, 0, 0, 0, 108, 109,
1387 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1389 113, 0, 114, 115, 116, 117, 118, 119, 0, 120,
1390 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1391 129, 130, 131, 132, 133, 134, 135, 136, 103, 0,
1392 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1393 0, 0, 105, 106, 776, 0, 0, 107, 611, 0,
1394 612, 0, 613, 358, 0, 0, 0, 615, 0, 0,
1395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 360, 361, 162, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 362, 363, 0, 0, 0,
1398 0, 108, 109, 110, 111, 112, 0, 0, 0, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1400 0, 0, 0, 113, 777, 778, 115, 116, 117, 118,
1401 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1402 126, 127, 128, 129, 779, 131, 132, 133, 134, 135,
1403 136, 103, 0, 0, 0, 0, 0, 0, 0, 0,
1404 104, 0, 0, 0, 0, 105, 106, 610, 0, 0,
1405 107, 611, 0, 612, 0, 613, 358, 0, 0, 0,
1406 615, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 360, 361, 162, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1409 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1411 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1412 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1413 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1414 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1415 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1416 0, 0, 0, 107, 0, 0, 356, 0, 357, 358,
1417 0, 0, 0, 359, 0, 0, 0, 0, 0, 0,
1418 0, 0, 0, 0, 0, 0, 0, 0, 360, 361,
1419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1420 0, 362, 363, 0, 0, 0, 0, 108, 109, 110,
1421 111, 112, 0, 0, 0, 0, 0, 0, 0, 364,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 113,
1423 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1424 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1425 130, 131, 132, 133, 134, 135, 136, 103, 0, 0,
1426 0, 0, 0, 0, 0, 0, 104, 0, 0, 0,
1427 0, 105, 106, 0, 0, 0, 107, 0, 0, 0,
1428 0, 0, 0, 11, 0, 0, -517, 0, 0, 0,
1429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1430 0, 0, 0, 162, 0, 0, 0, 0, 0, 0,
1431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1434 0, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1435 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1436 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1437 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1438 0, 0, 0, 0, 105, 106, 739, 0, 0, 107,
1439 0, 0, 0, 0, 0, 0, 11, 456, 457, 458,
1440 459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
1441 469, 470, 471, 472, 473, 0, 162, 0, 0, 0,
1442 711, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1443 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445 0, 0, 0, 0, 64, 113, 0, 114, 115, 116,
1446 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1447 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1448 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1449 0, 0, 104, 0, 0, 0, 0, 105, 106, 0,
1450 0, 0, 107, 0, 0, 664, 0, 0, 0, 0,
1451 0, 0, 714, 816, 456, 457, 458, 459, 460, 461,
1452 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1453 472, 473, 0, 0, 0, 0, 0, 474, 0, 0,
1454 0, 0, 0, 0, 0, 0, 108, 109, 110, 111,
1455 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1456 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
1457 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1458 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1459 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1460 0, 0, 0, 0, 0, 104, 0, 765, 0, 0,
1461 105, 106, 0, 0, 0, 107, 456, 457, 458, 459,
1462 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1463 470, 471, 472, 473, 0, 0, 0, 0, 0, 711,
1464 0, 0, 162, 0, 0, 0, 0, 0, 0, 0,
1465 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1466 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1469 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1470 128, 129, 130, 131, 132, 133, 134, 135, 136, 103,
1471 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1472 0, 0, 0, 105, 106, 0, 0, 0, 107, 0,
1473 910, 0, 0, 0, 0, 0, 0, 0, 452, 456,
1474 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1475 467, 468, 469, 470, 471, 472, 473, 0, 0, 0,
1476 0, 0, 711, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1480 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1481 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1482 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1483 0, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1484 0, 107, 0, 0, 875, 0, 0, 0, 0, 0,
1485 0, 714, 456, 457, 458, 459, 460, 461, 462, 463,
1486 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1487 0, 0, 0, 0, 0, 711, 0, 0, 0, 0,
1488 0, 103, 0, 0, 0, 108, 109, 110, 111, 112,
1489 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1490 107, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1491 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1492 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1493 132, 133, 134, 135, 136, 0, 0, 0, 0, 0,
1494 0, 0, 741, 0, 108, 109, 110, 111, 112, 0,
1495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1496 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1497 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1498 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1499 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1500 0, 0, 0, 104, 0, 0, 0, 750, 792, 106,
1501 0, 0, 0, 107, 456, 457, 458, 459, 460, 461,
1502 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1503 472, 473, 0, 0, 0, 0, 0, 474, 0, 0,
1504 162, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 103, 0, 0, 0, 108, 109, 110,
1506 111, 112, 104, 0, 0, 0, 0, 105, 106, 0,
1507 0, 0, 107, 0, 0, 0, 0, 0, 0, 113,
1508 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1509 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1510 130, 131, 132, 133, 134, 135, 136, 0, 0, 0,
1511 0, 0, 103, 0, 837, 0, 108, 109, 110, 111,
1512 112, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1513 0, 107, 0, 0, 0, 0, 0, 0, 113, 0,
1514 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1515 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1516 131, 132, 133, 134, 135, 136, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1520 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1521 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1522 132, 133, 134, 135, 136, 813, 0, 0, 0, 0,
1523 0, 0, 456, 457, 458, 459, 460, 461, 462, 463,
1524 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1525 0, 0, 0, 710, 0, 711, 456, 457, 458, 459,
1526 460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
1527 470, 471, 472, 473, 0, 0, 0, 0, 0, 711,
1528 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1529 466, 467, 468, 469, 470, 471, 472, 473, 0, 0,
1530 0, 0, 0, 474, 456, 457, 458, 459, 460, 461,
1531 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1532 472, 473, 0, 0, 0, 0, 0, 711, 456, 457,
1533 458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
1534 468, 469, 470, 471, 472, 473, 0, 0, 0, 0,
1535 0, 474, 456, 457, 458, 459, 460, 461, 462, 463,
1536 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1537 0, 0, 0, 0, 0, 711
1538 };
1539
1540 static const short int yycheck[] =
1541 {
1542 10, 33, 22, 87, 183, 15, 33, 0, 182, 183,
1543 91, 33, 91, 190, 16, 17, 18, 424, 15, 102,
1544 34, 421, 80, 397, 424, 421, 310, 377, 378, 396,
1545 151, 701, 90, 367, 27, 394, 727, 477, 159, 477,
1546 727, 727, 409, 427, 760, 0, 762, 10, 756, 310,
1547 15, 26, 26, 49, 137, 10, 29, 140, 21, 61,
1548 62, 63, 25, 9, 24, 11, 21, 44, 189, 24,
1549 25, 0, 27, 29, 433, 359, 25, 33, 80, 6,
1550 37, 365, 9, 31, 94, 125, 35, 778, 36, 91,
1551 92, 93, 808, 37, 26, 786, 32, 94, 100, 29,
1552 786, 33, 65, 33, 64, 29, 26, 27, 442, 33,
1553 65, 32, 32, 34, 87, 31, 32, 451, 34, 32,
1554 454, 17, 18, 3, 44, 484, 6, 36, 124, 94,
1555 10, 87, 12, 36, 842, 92, 93, 94, 95, 96,
1556 810, 98, 99, 31, 119, 406, 34, 157, 92, 93,
1557 94, 95, 96, 30, 98, 99, 31, 87, 190, 829,
1558 157, 32, 31, 87, 36, 167, 35, 36, 6, 7,
1559 8, 455, 182, 183, 35, 36, 35, 885, 4, 5,
1560 6, 23, 184, 9, 854, 876, 31, 150, 36, 876,
1561 474, 475, 157, 156, 23, 150, 22, 36, 889, 915,
1562 32, 156, 38, 4, 5, 6, 897, 31, 9, 33,
1563 34, 897, 35, 36, 110, 111, 112, 113, 114, 115,
1564 911, 22, 606, 31, 911, 33, 34, 311, 6, 310,
1565 32, 310, 672, 32, 672, 33, 34, 677, 31, 677,
1566 4, 5, 6, 7, 8, 9, 10, 11, 918, 33,
1567 34, 33, 34, 17, 17, 18, 615, 631, 22, 618,
1568 634, 3, 383, 31, 6, 29, 33, 34, 10, 32,
1569 12, 13, 14, 15, 16, 17, 35, 636, 359, 36,
1570 359, 32, 33, 32, 365, 40, 365, 3, 33, 34,
1571 6, 33, 350, 660, 10, 31, 12, 13, 14, 15,
1572 16, 17, 49, 477, 33, 34, 92, 93, 310, 92,
1573 93, 94, 95, 96, 31, 98, 99, 6, 26, 32,
1574 84, 85, 86, 87, 34, 40, 26, 91, 34, 729,
1575 34, 32, 666, 729, 22, 669, 670, 100, 101, 102,
1576 103, 104, 105, 106, 107, 108, 32, 714, 39, 32,
1577 717, 31, 711, 712, 31, 64, 37, 359, 40, 123,
1578 32, 64, 364, 365, 40, 24, 40, 32, 727, 396,
1579 32, 31, 33, 25, 455, 33, 455, 409, 33, 35,
1580 34, 31, 409, 40, 35, 33, 33, 409, 420, 33,
1581 422, 34, 424, 474, 475, 474, 475, 34, 772, 34,
1582 774, 775, 35, 32, 109, 764, 32, 757, 758, 34,
1583 33, 64, 4, 5, 6, 7, 8, 9, 10, 11,
1584 33, 423, 25, 35, 32, 17, 31, 786, 97, 33,
1585 22, 831, 33, 33, 448, 831, 438, 29, 32, 35,
1586 33, 615, 31, 33, 25, 37, 478, 479, 34, 31,
1587 452, 630, 811, 455, 813, 862, 630, 32, 34, 633,
1588 33, 33, 862, 797, 798, 749, 750, 477, 33, 828,
1589 34, 32, 474, 475, 34, 24, 17, 18, 852, 879,
1590 477, 32, 97, 879, 477, 32, 25, 33, 32, 25,
1591 890, 33, 84, 85, 86, 87, 33, 35, 672, 34,
1592 34, 33, 33, 677, 33, 4, 5, 6, 7, 8,
1593 9, 10, 11, 32, 34, 33, 875, 876, 17, 25,
1594 920, 32, 32, 22, 920, 33, 33, 157, 33, 121,
1595 29, 931, 33, 33, 27, 811, 677, 672, 897, 178,
1596 158, 604, 40, 917, 24, 633, 380, 804, 637, 448,
1597 21, 168, 911, 762, 19, 386, 911, 734, 932, 100,
1598 101, 102, 103, 104, 105, 106, 107, 108, 420, 777,
1599 889, 4, 5, 6, 7, 8, 9, 10, 11, 931,
1600 825, 736, -1, -1, 17, 84, 85, 86, 87, 22,
1601 769, -1, -1, 26, 27, 769, 679, 680, -1, -1,
1602 -1, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1603 -1, 44, -1, -1, 17, -1, -1, -1, -1, 22,
1604 630, -1, 624, 633, 123, 657, -1, -1, -1, -1,
1605 -1, -1, -1, 660, -1, 637, -1, -1, -1, -1,
1606 -1, -1, -1, -1, 676, -1, -1, -1, -1, 676,
1607 -1, 84, 85, 86, 676, -1, 658, -1, -1, -1,
1608 -1, -1, 672, -1, -1, -1, -1, 677, 749, 750,
1609 749, 750, -1, -1, -1, 672, 678, -1, -1, 672,
1610 677, 84, 85, 86, 677, 707, -1, 714, -1, -1,
1611 717, 870, -1, -1, -1, -1, 870, -1, -1, 731,
1612 -1, -1, 734, -1, -1, 737, -1, -1, -1, 888,
1613 -1, 795, -1, 733, 888, -1, -1, 4, 5, 6,
1614 7, 8, 9, 10, 11, -1, -1, -1, -1, -1,
1615 17, -1, -1, -1, 736, 22, -1, -1, -1, -1,
1616 -1, -1, 29, 30, 31, 924, -1, 749, 750, -1,
1617 924, -1, -1, -1, 41, -1, -1, 789, -1, 769,
1618 -1, -1, -1, -1, -1, -1, 768, -1, -1, 771,
1619 802, 30, -1, 805, 806, -1, -1, -1, -1, -1,
1620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1621 810, -1, -1, 825, 796, -1, 83, 84, 85, 86,
1622 87, 88, 89, -1, 91, -1, -1, 66, 67, 68,
1623 69, 70, 71, 72, 73, 74, 75, 76, 77, -1,
1624 79, 80, 81, 82, -1, -1, -1, -1, -1, 116,
1625 -1, -1, -1, -1, 121, 867, 123, -1, -1, -1,
1626 -1, -1, -1, -1, 876, -1, -1, -1, -1, -1,
1627 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1628 870, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1629 -1, -1, -1, -1, -1, -1, -1, -1, 888, 911,
1630 -1, -1, -1, -1, 0, -1, -1, 3, 4, 5,
1631 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1632 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1633 26, 27, 28, 29, 924, 31, 32, 33, 34, 35,
1634 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1635 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1636 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1637 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1638 76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
1639 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1640 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1641 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1642 116, -1, -1, 119, -1, 121, 122, 123, 124, 125,
1643 0, -1, -1, 3, 4, 5, 6, 7, 8, 9,
1644 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1645 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1646 -1, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1647 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1648 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1649 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1650 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1651 -1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
1652 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1653 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1654 110, 111, 112, 113, 114, 115, 116, -1, -1, 119,
1655 -1, 121, 122, 123, 124, 125, 0, -1, -1, 3,
1656 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1657 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1658 24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
1659 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1660 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1661 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1662 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1663 74, 75, 76, 77, 78, 79, -1, 81, -1, 83,
1664 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1665 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1666 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1667 114, 115, 116, -1, -1, 119, -1, 121, 122, 123,
1668 124, 125, 0, -1, -1, 3, 4, 5, 6, 7,
1669 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1670 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1671 28, 29, -1, 31, 32, 33, 34, 35, 36, -1,
1672 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1673 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1674 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1675 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1676 78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
1677 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1678 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1679 108, 109, 110, 111, 112, 113, 114, 115, 116, 3,
1680 -1, 119, -1, 121, 122, 123, 124, 125, 12, -1,
1681 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1682 -1, 25, -1, 27, 28, 29, -1, -1, 32, -1,
1683 -1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
1684 11, -1, -1, 47, 48, 49, 17, -1, -1, -1,
1685 -1, 22, -1, -1, -1, -1, 60, 61, 29, -1,
1686 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1687 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1688 -1, -1, -1, 87, 88, -1, 90, 91, 92, 93,
1689 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1690 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1691 114, 115, -1, 84, 85, 86, 87, -1, -1, -1,
1692 124, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1693 -1, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1694 -1, -1, 3, -1, -1, -1, 29, -1, -1, -1,
1695 121, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1696 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1697 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1698 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1699 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1700 61, 84, 85, 86, 87, 66, 67, 68, 69, 70,
1701 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1702 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1703 91, 92, 93, 94, 95, -1, 97, -1, 121, 100,
1704 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1705 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1706 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1707 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1708 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1709 -1, 4, 5, 6, 7, 8, 9, 10, 11, 47,
1710 48, -1, -1, -1, 17, -1, -1, -1, -1, 22,
1711 -1, -1, 60, 61, -1, -1, 29, -1, 66, 67,
1712 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1713 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1714 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1715 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1716 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1717 118, 84, 85, 86, 87, -1, -1, 12, -1, -1,
1718 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1719 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1720 -1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
1721 10, 11, 47, 48, -1, -1, -1, 17, -1, -1,
1722 -1, -1, 22, -1, -1, 60, 61, -1, -1, 29,
1723 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1724 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1725 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1726 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1727 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1728 115, 3, -1, 118, 84, 85, 86, 87, -1, -1,
1729 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1730 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1731 32, -1, -1, -1, -1, -1, -1, 4, 5, 6,
1732 7, 8, 9, 10, 11, 47, 48, -1, -1, -1,
1733 17, -1, -1, -1, -1, 22, -1, -1, 60, 61,
1734 -1, -1, 29, -1, 66, 67, 68, 69, 70, -1,
1735 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1736 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1737 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1738 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1739 112, 113, 114, 115, 3, -1, 118, 84, 85, 86,
1740 87, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1741 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1742 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1743 4, 5, 6, 7, 8, 9, 10, 11, 47, 48,
1744 -1, -1, -1, 17, -1, -1, -1, -1, 22, -1,
1745 -1, 60, 61, -1, -1, 29, -1, 66, 67, 68,
1746 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1747 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1748 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1749 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1750 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1751 84, 85, 86, 87, -1, -1, 12, -1, -1, -1,
1752 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1753 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1754 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1755 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1756 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1757 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1758 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1759 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1760 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1761 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1762 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1763 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1764 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1765 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1766 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1767 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1768 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1769 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1770 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1771 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1772 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1773 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1774 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1775 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1776 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1777 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1778 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1779 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1780 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1781 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1782 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1783 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1784 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1785 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1786 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1787 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1788 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1789 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1790 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1791 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1792 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1793 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1794 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1795 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1796 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1797 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1798 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1799 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1800 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1802 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1803 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1804 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1805 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1806 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1807 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1808 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1809 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1810 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1811 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1812 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1813 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1814 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1816 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1817 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1818 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1819 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1820 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1821 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1822 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1823 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1824 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1825 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1826 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1827 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1828 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1829 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1830 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1831 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1832 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1834 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1835 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1836 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1837 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1838 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1839 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1840 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1841 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1842 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1843 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1844 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1845 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1846 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1847 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1848 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1849 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1850 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1851 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1852 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1853 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1854 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1855 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1856 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1858 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1859 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1860 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1861 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1862 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1863 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1864 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1865 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1866 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1867 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1868 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1869 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1870 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1871 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1872 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1873 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1874 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1875 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1876 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1877 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1881 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1882 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1883 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1884 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1885 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1886 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
1887 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1888 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
1889 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
1890 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
1891 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1892 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1893 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1895 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1896 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1897 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
1898 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1899 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
1900 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1901 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1902 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
1903 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1904 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
1905 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
1906 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
1907 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1908 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1909 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
1910 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
1911 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
1912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1913 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
1914 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1915 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1916 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1918 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1919 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1920 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
1921 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1922 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
1923 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
1924 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
1925 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
1926 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
1927 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
1928 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1929 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1930 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1931 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
1932 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1933 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
1934 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1935 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
1936 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1938 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1939 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1940 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1941 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1942 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1943 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1944 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1945 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
1946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1947 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
1949 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1950 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
1951 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1952 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1953 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1954 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
1955 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1956 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
1957 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
1959 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
1960 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1961 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
1962 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1963 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1964 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1965 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
1966 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1967 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
1968 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
1969 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
1970 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1971 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1972 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
1973 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1974 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1975 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1976 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
1977 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1978 -1, 17, 18, -1, -1, -1, 22, -1, -1, 25,
1979 26, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1981 -1, 47, 48, -1, -1, -1, -1, -1, -1, -1,
1982 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1983 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1984 -1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
1985 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1986 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1987 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1988 3, -1, 118, -1, -1, -1, -1, -1, -1, 12,
1989 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1990 -1, -1, 25, 26, 27, 28, -1, -1, -1, 32,
1991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1992 -1, -1, -1, -1, 47, 48, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1994 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1995 -1, -1, -1, -1, -1, 78, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1997 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1998 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1999 113, 114, 115, 3, -1, 118, -1, -1, -1, -1,
2000 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2001 -1, -1, 22, -1, -1, 25, 26, 27, 28, -1,
2002 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2003 -1, -1, -1, -1, -1, -1, -1, 47, 48, -1,
2004 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2005 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2006 70, -1, -1, -1, -1, -1, -1, -1, 78, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2008 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2009 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2010 110, 111, 112, 113, 114, 115, 3, -1, 118, -1,
2011 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2012 17, 18, -1, -1, -1, 22, -1, -1, 25, 26,
2013 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2015 47, 48, -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2017 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2018 -1, 78, -1, -1, -1, -1, -1, -1, -1, -1,
2019 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2020 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2021 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2022 -1, 118, -1, -1, -1, -1, -1, -1, 12, -1,
2023 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2024 -1, 25, 26, 27, 28, -1, -1, -1, 32, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, -1, -1, 47, 48, -1, -1, -1, -1, -1,
2027 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2028 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2029 -1, -1, -1, -1, 78, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2031 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2032 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2033 114, 115, 3, -1, 118, -1, -1, -1, -1, -1,
2034 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2035 -1, 22, -1, -1, 25, 26, 27, 28, -1, -1,
2036 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2037 -1, -1, -1, -1, -1, -1, 47, 48, -1, -1,
2038 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2039 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2040 -1, -1, -1, -1, -1, -1, -1, 78, -1, -1,
2041 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2042 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2043 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2044 111, 112, 113, 114, 115, 3, -1, 118, -1, -1,
2045 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2046 18, -1, -1, -1, 22, -1, -1, 25, 26, 27,
2047 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
2049 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2050 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2051 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2052 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2053 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2054 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2055 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2056 118, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2057 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
2058 25, 26, 27, 28, -1, -1, -1, 32, -1, -1,
2059 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2060 -1, -1, 47, 48, -1, -1, -1, -1, -1, -1,
2061 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2062 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2063 -1, -1, -1, 78, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
2065 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2066 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2067 115, 3, -1, 118, -1, -1, -1, -1, -1, -1,
2068 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2069 22, -1, -1, 25, 26, 27, 28, -1, -1, -1,
2070 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, -1, 47, 48, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2073 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2074 -1, -1, -1, -1, -1, -1, 78, -1, -1, -1,
2075 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2076 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2077 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2078 112, 113, 114, 115, 3, -1, 118, -1, -1, -1,
2079 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2080 -1, -1, -1, 22, -1, -1, 25, 26, 27, 28,
2081 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2082 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2084 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2085 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2086 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2087 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2088 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2089 109, 110, 111, 112, 113, 114, 115, 3, -1, 118,
2090 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2091 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2092 -1, -1, -1, 29, 30, 31, 32, 33, 34, 35,
2093 36, 37, 38, 39, 40, -1, 42, 43, 44, 45,
2094 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2095 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2096 66, 67, 68, 69, 70, 4, 5, 6, 7, 8,
2097 9, 10, 11, -1, -1, -1, -1, -1, 17, -1,
2098 -1, 87, 88, 22, 90, 91, 92, 93, 94, 95,
2099 29, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2100 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2101 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
2102 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
2103 23, -1, 25, -1, 27, 28, 29, -1, -1, 32,
2104 -1, -1, -1, -1, 83, 84, 85, 86, 87, -1,
2105 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
2106 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
2107 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2109 -1, 84, 85, 86, 87, 88, -1, 90, 91, 92,
2110 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2111 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2112 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2113 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
2114 20, 21, 22, 23, -1, 25, 26, 27, 28, -1,
2115 -1, -1, 32, -1, -1, -1, -1, -1, -1, -1,
2116 -1, -1, -1, -1, -1, -1, -1, 47, 48, 49,
2117 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2118 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
2119 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2120 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2121 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2122 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2123 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2124 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
2125 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
2126 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
2127 -1, -1, -1, -1, -1, -1, -1, 44, -1, -1,
2128 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
2129 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
2130 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2131 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2132 -1, 88, 89, 90, 91, 92, 93, 94, 95, -1,
2133 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2134 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2135 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2136 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
2137 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
2138 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2139 44, -1, -1, 47, 48, 49, -1, -1, -1, -1,
2140 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
2141 64, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2143 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2144 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2145 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2146 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2147 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
2148 -1, 22, 23, 24, 25, -1, 27, 28, -1, -1,
2149 -1, 32, -1, -1, -1, -1, -1, -1, -1, -1,
2150 -1, -1, -1, 44, -1, -1, 47, 48, 49, -1,
2151 -1, -1, -1, -1, -1, -1, -1, -1, -1, 60,
2152 61, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2153 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2154 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2155 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2156 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2157 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
2158 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
2159 18, 19, -1, -1, 22, 23, -1, 25, -1, 27,
2160 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
2161 -1, -1, -1, -1, -1, -1, 44, -1, -1, 47,
2162 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2163 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
2164 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
2165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2166 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
2167 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
2168 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
2169 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
2170 -1, -1, 17, 18, 19, -1, -1, 22, 23, -1,
2171 25, -1, 27, 28, -1, -1, -1, 32, -1, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, 47, 48, 49, -1, -1, -1, -1, -1,
2174 -1, -1, -1, -1, -1, 60, 61, -1, -1, -1,
2175 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
2176 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2177 -1, -1, -1, 88, 89, 90, 91, 92, 93, 94,
2178 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
2179 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2180 115, 3, -1, -1, -1, -1, -1, -1, -1, -1,
2181 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
2182 22, 23, -1, 25, -1, 27, 28, -1, -1, -1,
2183 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2184 -1, -1, -1, -1, -1, 47, 48, 49, -1, -1,
2185 -1, -1, -1, -1, -1, -1, -1, -1, 60, 61,
2186 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
2187 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2188 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2189 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2190 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2191 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2192 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
2193 -1, -1, -1, 22, -1, -1, 25, -1, 27, 28,
2194 -1, -1, -1, 32, -1, -1, -1, -1, -1, -1,
2195 -1, -1, -1, -1, -1, -1, -1, -1, 47, 48,
2196 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2197 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
2198 69, 70, -1, -1, -1, -1, -1, -1, -1, 78,
2199 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
2200 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2201 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2202 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
2203 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
2204 -1, 17, 18, -1, -1, -1, 22, -1, -1, -1,
2205 -1, -1, -1, 29, -1, -1, 32, -1, -1, -1,
2206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2207 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2209 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2211 -1, 87, 88, -1, 90, 91, 92, 93, 94, 95,
2212 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
2213 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2214 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
2215 -1, -1, -1, -1, 17, 18, 31, -1, -1, 22,
2216 -1, -1, -1, -1, -1, -1, 29, 42, 43, 44,
2217 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2218 55, 56, 57, 58, 59, -1, 49, -1, -1, -1,
2219 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2220 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2221 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2222 -1, -1, -1, -1, 87, 88, -1, 90, 91, 92,
2223 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
2224 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2225 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
2226 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
2227 -1, -1, 22, -1, -1, 33, -1, -1, -1, -1,
2228 -1, -1, 32, 33, 42, 43, 44, 45, 46, 47,
2229 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2230 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2231 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
2232 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2233 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
2234 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2235 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2236 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
2237 -1, -1, -1, -1, -1, 12, -1, 33, -1, -1,
2238 17, 18, -1, -1, -1, 22, 42, 43, 44, 45,
2239 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2240 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2241 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2242 -1, -1, -1, -1, -1, -1, -1, -1, -1, 66,
2243 67, 68, 69, 70, -1, -1, -1, -1, -1, -1,
2244 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2245 -1, 88, -1, 90, 91, 92, 93, 94, 95, -1,
2246 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
2247 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
2248 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
2249 -1, -1, -1, 17, 18, -1, -1, -1, 22, -1,
2250 33, -1, -1, -1, -1, -1, -1, -1, 32, 42,
2251 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2252 53, 54, 55, 56, 57, 58, 59, -1, -1, -1,
2253 -1, -1, 65, -1, -1, -1, -1, -1, -1, -1,
2254 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2256 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
2257 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
2258 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2259 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
2260 -1, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2261 -1, 22, -1, -1, 34, -1, -1, -1, -1, -1,
2262 -1, 32, 42, 43, 44, 45, 46, 47, 48, 49,
2263 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2264 -1, -1, -1, -1, -1, 65, -1, -1, -1, -1,
2265 -1, 3, -1, -1, -1, 66, 67, 68, 69, 70,
2266 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
2267 22, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2268 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2269 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2270 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2271 -1, -1, 64, -1, 66, 67, 68, 69, 70, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
2274 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
2275 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2276 112, 113, 114, 115, 3, -1, -1, -1, -1, -1,
2277 -1, -1, -1, 12, -1, -1, -1, 35, 17, 18,
2278 -1, -1, -1, 22, 42, 43, 44, 45, 46, 47,
2279 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2280 58, 59, -1, -1, -1, -1, -1, 65, -1, -1,
2281 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2282 -1, -1, -1, 3, -1, -1, -1, 66, 67, 68,
2283 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
2284 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
2285 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
2286 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2287 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2288 -1, -1, 3, -1, 64, -1, 66, 67, 68, 69,
2289 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
2290 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
2291 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
2292 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
2293 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, 66, 67, 68, 69, 70,
2295 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2296 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
2297 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
2298 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2299 111, 112, 113, 114, 115, 35, -1, -1, -1, -1,
2300 -1, -1, 42, 43, 44, 45, 46, 47, 48, 49,
2301 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2302 -1, -1, -1, 39, -1, 65, 42, 43, 44, 45,
2303 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2304 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
2305 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2306 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
2307 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
2308 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2309 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
2310 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2311 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
2312 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
2313 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2314 -1, -1, -1, -1, -1, 65
2315 };
2316
2317 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2318 symbol of state STATE-NUM. */
2319 static const unsigned short int yystos[] =
2320 {
2321 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
2322 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
2323 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
2324 150, 167, 170, 175, 176, 177, 178, 179, 180, 181,
2325 182, 183, 188, 191, 194, 198, 199, 200, 201, 203,
2326 205, 209, 211, 212, 218, 226, 240, 241, 9, 11,
2327 22, 84, 85, 86, 87, 123, 199, 209, 30, 66,
2328 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2329 77, 79, 80, 81, 82, 151, 152, 153, 154, 156,
2330 157, 158, 84, 85, 121, 171, 173, 200, 201, 209,
2331 218, 227, 228, 3, 12, 17, 18, 22, 66, 67,
2332 68, 69, 70, 88, 90, 91, 92, 93, 94, 95,
2333 97, 100, 101, 102, 103, 104, 105, 106, 107, 108,
2334 109, 110, 111, 112, 113, 114, 115, 143, 259, 271,
2335 143, 143, 229, 3, 6, 10, 12, 246, 248, 26,
2336 123, 199, 241, 44, 279, 280, 22, 83, 198, 199,
2337 0, 148, 49, 143, 176, 210, 235, 236, 237, 238,
2338 177, 4, 5, 6, 9, 22, 184, 6, 181, 187,
2339 125, 189, 32, 32, 36, 36, 143, 143, 143, 199,
2340 34, 192, 0, 3, 4, 5, 6, 7, 8, 9,
2341 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2342 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
2343 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2344 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2345 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2346 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2347 71, 72, 73, 74, 75, 76, 77, 78, 79, 81,
2348 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2349 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2350 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
2351 113, 114, 115, 116, 119, 121, 122, 123, 124, 125,
2352 143, 144, 159, 30, 3, 12, 17, 18, 22, 66,
2353 67, 68, 69, 70, 88, 90, 91, 92, 93, 94,
2354 95, 97, 100, 101, 102, 103, 104, 105, 106, 107,
2355 108, 109, 110, 111, 112, 113, 114, 115, 144, 162,
2356 163, 162, 26, 119, 155, 144, 25, 27, 28, 32,
2357 47, 48, 60, 61, 78, 142, 143, 164, 223, 143,
2358 229, 143, 229, 173, 31, 143, 35, 232, 232, 232,
2359 232, 23, 31, 199, 36, 195, 36, 23, 171, 189,
2360 195, 29, 87, 239, 38, 233, 32, 143, 124, 238,
2361 6, 185, 6, 9, 186, 184, 32, 31, 17, 175,
2362 202, 204, 206, 207, 208, 209, 206, 143, 219, 220,
2363 92, 93, 94, 95, 96, 98, 99, 250, 251, 252,
2364 265, 268, 274, 275, 276, 195, 193, 210, 236, 31,
2365 26, 118, 164, 190, 162, 144, 26, 27, 32, 44,
2366 225, 164, 32, 143, 164, 32, 42, 43, 44, 45,
2367 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2368 56, 57, 58, 59, 65, 141, 35, 36, 214, 214,
2369 31, 213, 214, 213, 40, 195, 0, 3, 4, 5,
2370 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2371 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2372 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
2373 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2374 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2375 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2376 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2377 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
2378 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2379 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
2380 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
2381 124, 125, 145, 195, 196, 197, 250, 32, 31, 31,
2382 19, 23, 25, 27, 29, 32, 87, 124, 142, 210,
2383 221, 222, 223, 234, 235, 236, 233, 6, 190, 235,
2384 32, 33, 34, 34, 33, 34, 40, 34, 230, 210,
2385 255, 221, 244, 269, 270, 271, 279, 210, 143, 277,
2386 278, 210, 266, 270, 37, 251, 221, 34, 32, 26,
2387 177, 224, 225, 22, 33, 143, 164, 165, 166, 164,
2388 164, 32, 121, 172, 173, 174, 175, 215, 218, 227,
2389 228, 210, 210, 19, 20, 21, 168, 169, 190, 221,
2390 37, 197, 37, 13, 14, 15, 16, 17, 33, 242,
2391 243, 245, 247, 248, 249, 17, 22, 175, 221, 221,
2392 39, 65, 141, 39, 32, 143, 33, 32, 206, 233,
2393 64, 208, 233, 64, 221, 220, 37, 40, 31, 40,
2394 31, 32, 24, 40, 32, 31, 34, 32, 31, 31,
2395 210, 64, 143, 160, 161, 235, 33, 33, 33, 34,
2396 35, 25, 174, 35, 231, 37, 172, 232, 232, 31,
2397 35, 33, 34, 244, 33, 33, 221, 221, 235, 32,
2398 33, 235, 33, 34, 33, 33, 19, 89, 90, 109,
2399 221, 254, 256, 257, 258, 259, 280, 269, 210, 279,
2400 193, 278, 17, 193, 267, 33, 34, 164, 164, 34,
2401 25, 35, 34, 216, 231, 214, 214, 245, 35, 243,
2402 245, 40, 221, 35, 143, 206, 33, 233, 64, 233,
2403 233, 109, 256, 17, 18, 32, 259, 262, 32, 32,
2404 254, 34, 272, 210, 33, 33, 162, 64, 143, 25,
2405 35, 32, 210, 217, 31, 216, 245, 279, 168, 221,
2406 33, 33, 33, 267, 32, 221, 244, 64, 269, 273,
2407 33, 31, 97, 33, 35, 25, 231, 34, 31, 64,
2408 32, 33, 233, 33, 244, 34, 34, 260, 33, 34,
2409 18, 270, 271, 32, 34, 210, 24, 206, 32, 97,
2410 32, 221, 210, 253, 254, 255, 261, 280, 33, 269,
2411 25, 25, 231, 33, 33, 206, 262, 263, 264, 269,
2412 33, 34, 254, 34, 33, 35, 33, 33, 32, 33,
2413 34, 253, 25, 245, 32, 233, 244, 33, 269, 33,
2414 206, 32, 33, 263, 233, 33, 33
2415 };
2416
2417 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2418 static const unsigned short int yyr1[] =
2419 {
2420 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
2421 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
2422 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
2423 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
2424 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
2425 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2426 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2427 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2428 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2429 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2430 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2431 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2432 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2433 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2434 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2435 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
2436 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2437 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2438 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2439 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2440 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2441 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2442 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2443 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2444 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2445 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2446 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
2447 145, 145, 145, 145, 145, 145, 145, 146, 146, 147,
2448 147, 148, 148, 148, 148, 148, 148, 148, 148, 148,
2449 148, 148, 148, 148, 148, 149, 150, 150, 151, 151,
2450 151, 151, 151, 151, 151, 151, 152, 152, 153, 153,
2451 154, 154, 154, 155, 155, 156, 156, 157, 157, 157,
2452 158, 158, 159, 159, 159, 159, 160, 160, 160, 160,
2453 161, 161, 162, 162, 163, 163, 164, 164, 164, 164,
2454 164, 164, 164, 164, 164, 164, 164, 165, 165, 166,
2455 166, 167, 168, 168, 168, 169, 169, 169, 170, 170,
2456 171, 171, 172, 172, 173, 173, 173, 173, 173, 174,
2457 174, 174, 174, 174, 175, 175, 175, 176, 176, 177,
2458 177, 178, 178, 178, 179, 179, 179, 179, 180, 180,
2459 180, 181, 181, 182, 182, 182, 183, 183, 183, 183,
2460 184, 184, 184, 184, 184, 184, 185, 185, 186, 186,
2461 186, 186, 187, 187, 187, 188, 188, 189, 189, 190,
2462 190, 191, 192, 192, 193, 193, 194, 194, 194, 194,
2463 195, 196, 196, 197, 197, 198, 198, 199, 199, 200,
2464 200, 201, 201, 201, 201, 202, 202, 203, 204, 205,
2465 206, 206, 206, 207, 207, 208, 208, 208, 209, 209,
2466 210, 210, 211, 212, 213, 213, 214, 215, 215, 216,
2467 216, 217, 217, 218, 219, 219, 220, 220, 221, 221,
2468 221, 221, 221, 221, 222, 222, 222, 222, 222, 222,
2469 223, 223, 224, 224, 225, 225, 225, 226, 227, 228,
2470 229, 229, 230, 230, 231, 231, 231, 231, 232, 232,
2471 233, 233, 233, 234, 234, 234, 234, 235, 235, 236,
2472 236, 237, 237, 238, 238, 239, 239, 240, 240, 241,
2473 241, 241, 242, 242, 243, 243, 244, 245, 246, 247,
2474 247, 248, 248, 248, 248, 249, 249, 249, 249, 249,
2475 250, 250, 251, 251, 251, 251, 251, 252, 252, 253,
2476 253, 253, 254, 254, 254, 254, 254, 254, 255, 255,
2477 256, 257, 257, 258, 259, 259, 259, 259, 259, 259,
2478 259, 259, 259, 259, 260, 260, 261, 261, 262, 262,
2479 263, 263, 264, 264, 265, 266, 266, 267, 267, 267,
2480 268, 269, 269, 269, 270, 270, 271, 271, 271, 271,
2481 271, 271, 271, 271, 272, 272, 273, 273, 274, 275,
2482 275, 276, 277, 277, 278, 279, 279, 280
2483 };
2484
2485 /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
2486 static const unsigned char yyr2[] =
2487 {
2488 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
2489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2495 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2515 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
2516 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2517 1, 1, 1, 1, 1, 3, 2, 3, 2, 2,
2518 1, 2, 2, 2, 1, 2, 1, 1, 1, 1,
2519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2520 1, 1, 2, 6, 2, 2, 0, 1, 1, 3,
2521 1, 3, 0, 1, 1, 2, 3, 2, 3, 5,
2522 2, 4, 1, 1, 1, 1, 4, 0, 1, 1,
2523 3, 6, 1, 1, 1, 1, 1, 1, 3, 4,
2524 1, 2, 1, 2, 1, 1, 2, 4, 4, 1,
2525 1, 1, 3, 3, 1, 2, 2, 1, 1, 1,
2526 1, 2, 2, 2, 1, 1, 1, 1, 1, 1,
2527 2, 1, 1, 1, 1, 2, 1, 1, 2, 2,
2528 0, 1, 1, 2, 1, 2, 0, 1, 0, 1,
2529 1, 2, 0, 1, 2, 3, 4, 0, 4, 1,
2530 2, 4, 0, 2, 1, 3, 3, 4, 3, 4,
2531 3, 1, 2, 1, 1, 1, 2, 1, 1, 5,
2532 7, 5, 7, 13, 16, 5, 7, 6, 5, 1,
2533 0, 1, 1, 1, 3, 1, 1, 2, 1, 2,
2534 3, 2, 4, 4, 1, 1, 3, 4, 5, 0,
2535 2, 2, 4, 5, 1, 3, 1, 3, 1, 4,
2536 3, 3, 2, 5, 1, 1, 1, 1, 1, 1,
2537 4, 2, 1, 2, 2, 1, 1, 2, 2, 2,
2538 0, 1, 0, 1, 0, 2, 7, 9, 0, 7,
2539 0, 3, 3, 0, 1, 1, 1, 0, 1, 1,
2540 2, 1, 2, 1, 2, 1, 1, 4, 5, 7,
2541 8, 13, 1, 3, 2, 4, 2, 1, 1, 1,
2542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2543 1, 2, 1, 1, 1, 1, 1, 3, 6, 1,
2544 2, 1, 1, 1, 1, 2, 1, 1, 3, 4,
2545 6, 8, 12, 5, 1, 1, 1, 1, 1, 1,
2546 1, 1, 1, 1, 0, 2, 1, 3, 1, 1,
2547 0, 1, 1, 3, 3, 6, 1, 0, 1, 1,
2548 3, 1, 1, 3, 5, 6, 1, 1, 1, 1,
2549 1, 1, 1, 1, 0, 2, 1, 3, 3, 1,
2550 1, 3, 1, 3, 4, 0, 1, 1
2551 };
2552
2553
2554 /* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
2555 static const unsigned char yydprec[] =
2556 {
2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2564 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2568 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2570 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2582 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589 0, 0, 1, 2, 2, 2, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2592 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2593 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
2594 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 2, 1, 0, 0, 0, 2, 1, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2606 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2608 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2610 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2613 0, 0, 2, 1, 0, 0, 0, 0, 0, 0,
2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2619 0, 0, 0, 0, 0, 0, 0, 0
2620 };
2621
2622 /* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
2623 static const unsigned char yymerger[] =
2624 {
2625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2667 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2682 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2687 0, 0, 0, 0, 0, 0, 0, 0
2688 };
2689
2690 /* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
2691 in the case of predicates. */
2692 static const yybool yyimmediate[] =
2693 {
2694 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2702 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2712 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2729 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2730 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2736 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2740 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2748 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2749 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2755 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2756 0, 0, 0, 0, 0, 0, 0, 0
2757 };
2758
2759 /* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
2760 list of conflicting reductions corresponding to action entry for
2761 state STATE-NUM in yytable. 0 means no conflicts. The list in
2762 yyconfl is terminated by a rule number of 0. */
2763 static const unsigned short int yyconflp[] =
2764 {
2765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2772 0, 0, 0, 0, 0, 0, 0, 3215, 0, 0,
2773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2775 0, 0, 0, 3217, 0, 0, 0, 0, 0, 0,
2776 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
2778 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2782 0, 0, 0, 0, 3197, 0, 0, 0, 0, 0,
2783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2784 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,
2785 0, 0, 0, 0, 0, 0, 0, 3209, 0, 3211,
2786 3213, 0, 3199, 0, 0, 0, 0, 0, 0, 0,
2787 0, 157, 0, 3219, 0, 3221, 3223, 0, 0, 0,
2788 0, 0, 0, 0, 0, 3201, 3203, 0, 0, 0,
2789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2797 0, 0, 0, 0, 3205, 0, 0, 0, 0, 0,
2798 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2800 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2801 3207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2806 3225, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2807 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2816 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
2817 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
2818 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2821 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2822 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2823 0, 0, 0, 0, 0, 0, 0, 0, 7, 0,
2824 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2825 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2831 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2836 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2841 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2847 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2848 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2849 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2850 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2852 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2857 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2886 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2917 0, 0, 159, 0, 0, 0, 0, 0, 0, 0,
2918 0, 161, 0, 0, 0, 0, 163, 165, 0, 0,
2919 0, 167, 0, 0, 169, 171, 173, 175, 0, 0,
2920 0, 177, 0, 0, 0, 0, 0, 0, 0, 0,
2921 0, 0, 0, 0, 0, 0, 179, 181, 0, 0,
2922 0, 0, 0, 0, 0, 0, 0, 0, 0, 183,
2923 185, 0, 0, 0, 0, 187, 189, 191, 193, 195,
2924 0, 0, 0, 0, 0, 0, 0, 197, 0, 0,
2925 0, 0, 0, 0, 0, 0, 0, 199, 0, 201,
2926 203, 205, 207, 209, 211, 0, 213, 0, 0, 215,
2927 217, 219, 221, 223, 225, 227, 229, 231, 233, 235,
2928 237, 239, 241, 243, 245, 247, 0, 0, 0, 0,
2929 0, 0, 0, 0, 249, 0, 0, 0, 0, 251,
2930 253, 0, 0, 0, 255, 0, 0, 257, 259, 261,
2931 263, 0, 0, 0, 265, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 267,
2933 269, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2934 0, 0, 271, 273, 0, 0, 0, 0, 275, 277,
2935 279, 281, 283, 0, 0, 0, 0, 0, 0, 0,
2936 285, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2937 287, 0, 289, 291, 293, 295, 297, 299, 0, 301,
2938 0, 0, 303, 305, 307, 309, 311, 313, 315, 317,
2939 319, 321, 323, 325, 327, 329, 331, 333, 335, 0,
2940 0, 0, 0, 0, 0, 0, 0, 337, 0, 0,
2941 0, 0, 339, 341, 0, 0, 0, 343, 0, 0,
2942 345, 347, 349, 351, 0, 0, 0, 353, 0, 0,
2943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2944 0, 0, 355, 357, 0, 0, 0, 0, 0, 0,
2945 0, 0, 0, 0, 0, 359, 361, 0, 0, 0,
2946 0, 363, 365, 367, 369, 371, 0, 0, 0, 0,
2947 0, 0, 0, 373, 0, 0, 0, 0, 0, 0,
2948 0, 0, 0, 375, 0, 377, 379, 381, 383, 385,
2949 387, 0, 389, 0, 0, 391, 393, 395, 397, 399,
2950 401, 403, 405, 407, 409, 411, 413, 415, 417, 419,
2951 421, 423, 0, 0, 0, 0, 0, 0, 0, 0,
2952 426, 0, 0, 0, 0, 429, 432, 0, 0, 0,
2953 435, 0, 0, 438, 441, 444, 447, 0, 0, 0,
2954 450, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2955 0, 0, 0, 0, 0, 453, 456, 0, 0, 0,
2956 149, 0, 0, 0, 0, 151, 0, 0, 459, 462,
2957 0, 0, 153, 0, 465, 468, 471, 474, 477, 0,
2958 0, 0, 0, 0, 0, 0, 480, 0, 0, 0,
2959 0, 0, 0, 0, 0, 0, 483, 0, 486, 489,
2960 492, 495, 498, 501, 0, 504, 0, 0, 507, 510,
2961 513, 516, 519, 522, 525, 528, 531, 534, 537, 540,
2962 543, 546, 549, 552, 557, 0, 555, 0, 0, 0,
2963 155, 0, 0, 559, 0, 0, 0, 0, 561, 563,
2964 0, 0, 0, 565, 0, 0, 567, 569, 571, 573,
2965 0, 0, 0, 575, 0, 0, 0, 0, 0, 0,
2966 0, 0, 0, 0, 0, 0, 0, 0, 577, 579,
2967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2968 0, 581, 583, 0, 0, 0, 0, 585, 587, 589,
2969 591, 593, 0, 0, 0, 0, 0, 0, 0, 595,
2970 0, 0, 0, 0, 0, 0, 0, 0, 0, 597,
2971 0, 599, 601, 603, 605, 607, 609, 0, 611, 0,
2972 0, 613, 615, 617, 619, 621, 623, 625, 627, 629,
2973 631, 633, 635, 637, 639, 641, 643, 645, 0, 0,
2974 0, 0, 0, 0, 0, 0, 647, 0, 0, 0,
2975 0, 649, 651, 0, 0, 0, 653, 0, 0, 655,
2976 657, 659, 661, 0, 0, 0, 663, 0, 0, 0,
2977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2978 0, 665, 667, 0, 0, 0, 0, 0, 0, 0,
2979 0, 0, 0, 0, 669, 671, 0, 0, 0, 0,
2980 673, 675, 677, 679, 681, 0, 0, 0, 0, 0,
2981 0, 0, 683, 0, 0, 0, 0, 0, 0, 0,
2982 0, 0, 685, 0, 687, 689, 691, 693, 695, 697,
2983 0, 699, 0, 0, 701, 703, 705, 707, 709, 711,
2984 713, 715, 717, 719, 721, 723, 725, 727, 729, 731,
2985 733, 0, 0, 0, 0, 0, 0, 0, 0, 735,
2986 0, 0, 0, 0, 737, 739, 0, 0, 0, 741,
2987 0, 0, 743, 745, 747, 749, 0, 0, 0, 751,
2988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2989 0, 0, 0, 0, 753, 755, 0, 0, 0, 0,
2990 0, 0, 0, 0, 0, 0, 0, 757, 759, 0,
2991 0, 0, 0, 761, 763, 765, 767, 769, 0, 0,
2992 0, 0, 0, 0, 0, 771, 0, 0, 0, 0,
2993 0, 0, 0, 0, 0, 773, 0, 775, 777, 779,
2994 781, 783, 785, 0, 787, 0, 0, 789, 791, 793,
2995 795, 797, 799, 801, 803, 805, 807, 809, 811, 813,
2996 815, 817, 819, 821, 0, 0, 0, 0, 0, 0,
2997 0, 0, 823, 0, 0, 0, 0, 825, 827, 0,
2998 0, 0, 829, 0, 0, 831, 833, 835, 837, 0,
2999 0, 0, 839, 0, 0, 0, 0, 0, 0, 0,
3000 0, 0, 0, 0, 0, 0, 0, 841, 843, 0,
3001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3002 845, 847, 0, 0, 0, 0, 849, 851, 853, 855,
3003 857, 0, 0, 0, 0, 0, 0, 0, 859, 0,
3004 0, 0, 0, 0, 0, 0, 0, 0, 861, 0,
3005 863, 865, 867, 869, 871, 873, 0, 875, 0, 0,
3006 877, 879, 881, 883, 885, 887, 889, 891, 893, 895,
3007 897, 899, 901, 903, 905, 907, 909, 0, 0, 0,
3008 0, 0, 0, 0, 0, 911, 0, 0, 0, 0,
3009 913, 915, 0, 0, 0, 917, 0, 0, 919, 921,
3010 923, 925, 0, 0, 0, 927, 0, 0, 0, 0,
3011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3012 929, 931, 0, 0, 0, 0, 0, 0, 0, 0,
3013 0, 0, 0, 933, 935, 0, 0, 0, 0, 937,
3014 939, 941, 943, 945, 0, 0, 0, 0, 0, 0,
3015 0, 947, 0, 0, 0, 0, 0, 0, 0, 0,
3016 0, 949, 0, 951, 953, 955, 957, 959, 961, 0,
3017 963, 0, 0, 965, 967, 969, 971, 973, 975, 977,
3018 979, 981, 983, 985, 987, 989, 991, 993, 995, 997,
3019 0, 0, 0, 0, 0, 0, 0, 0, 999, 0,
3020 0, 0, 0, 1001, 1003, 0, 0, 0, 1005, 0,
3021 0, 1007, 1009, 1011, 1013, 0, 0, 0, 1015, 0,
3022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3023 0, 0, 0, 1017, 1019, 0, 0, 0, 0, 0,
3024 0, 0, 0, 0, 0, 0, 1021, 1023, 0, 0,
3025 0, 0, 1025, 1027, 1029, 1031, 1033, 0, 0, 0,
3026 0, 0, 0, 0, 1035, 0, 0, 0, 0, 0,
3027 0, 0, 0, 0, 1037, 0, 1039, 1041, 1043, 1045,
3028 1047, 1049, 0, 1051, 0, 0, 1053, 1055, 1057, 1059,
3029 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
3030 1081, 1083, 1085, 0, 0, 0, 0, 0, 0, 0,
3031 0, 1087, 0, 0, 0, 0, 1089, 1091, 0, 0,
3032 0, 1093, 0, 0, 1095, 1097, 1099, 1101, 0, 0,
3033 0, 1103, 0, 0, 0, 0, 0, 0, 0, 0,
3034 0, 0, 0, 0, 0, 0, 1105, 1107, 0, 0,
3035 0, 0, 0, 0, 0, 0, 0, 0, 0, 1109,
3036 1111, 0, 0, 0, 0, 1113, 1115, 1117, 1119, 1121,
3037 0, 0, 0, 0, 0, 0, 0, 1123, 0, 0,
3038 0, 0, 0, 0, 0, 0, 0, 1125, 0, 1127,
3039 1129, 1131, 1133, 1135, 1137, 0, 1139, 0, 0, 1141,
3040 1143, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1159, 1161,
3041 1163, 1165, 1167, 1169, 1171, 1173, 0, 0, 0, 0,
3042 0, 0, 0, 0, 1175, 0, 0, 0, 0, 1177,
3043 1179, 0, 0, 0, 1181, 0, 0, 1183, 1185, 1187,
3044 1189, 0, 0, 0, 1191, 0, 0, 0, 0, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193,
3046 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3047 0, 0, 1197, 1199, 0, 0, 0, 0, 1201, 1203,
3048 1205, 1207, 1209, 0, 0, 0, 0, 0, 0, 0,
3049 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3050 1213, 0, 1215, 1217, 1219, 1221, 1223, 1225, 0, 1227,
3051 0, 0, 1229, 1231, 1233, 1235, 1237, 1239, 1241, 1243,
3052 1245, 1247, 1249, 1251, 1253, 1255, 1257, 1259, 1261, 0,
3053 0, 0, 0, 0, 0, 0, 0, 1263, 0, 0,
3054 0, 0, 1265, 1267, 0, 0, 0, 1269, 0, 0,
3055 1271, 1273, 1275, 1277, 0, 0, 0, 1279, 0, 0,
3056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3057 0, 0, 1281, 1283, 0, 0, 0, 0, 0, 0,
3058 0, 0, 0, 0, 0, 1285, 1287, 0, 0, 0,
3059 0, 1289, 1291, 1293, 1295, 1297, 0, 0, 0, 0,
3060 0, 0, 0, 1299, 0, 0, 0, 0, 0, 0,
3061 0, 0, 0, 1301, 0, 1303, 1305, 1307, 1309, 1311,
3062 1313, 0, 1315, 0, 0, 1317, 1319, 1321, 1323, 1325,
3063 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341, 1343, 1345,
3064 1347, 1349, 0, 0, 0, 0, 0, 0, 0, 0,
3065 1351, 0, 0, 0, 0, 1353, 1355, 0, 0, 0,
3066 1357, 0, 0, 1359, 1361, 1363, 1365, 0, 0, 0,
3067 1367, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3068 0, 0, 0, 0, 0, 1369, 1371, 0, 0, 0,
3069 0, 0, 0, 0, 0, 0, 0, 0, 1373, 1375,
3070 0, 0, 0, 0, 1377, 1379, 1381, 1383, 1385, 0,
3071 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0,
3072 0, 0, 0, 0, 0, 0, 1389, 0, 1391, 1393,
3073 1395, 1397, 1399, 1401, 0, 1403, 0, 0, 1405, 1407,
3074 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427,
3075 1429, 1431, 1433, 1435, 1437, 0, 0, 0, 0, 0,
3076 0, 0, 0, 1439, 0, 0, 0, 0, 1441, 1443,
3077 0, 0, 0, 1445, 0, 0, 1447, 1449, 1451, 1453,
3078 0, 0, 0, 1455, 0, 0, 0, 0, 0, 0,
3079 0, 0, 0, 0, 0, 0, 0, 0, 1457, 1459,
3080 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3081 0, 1461, 1463, 0, 0, 0, 0, 1465, 1467, 1469,
3082 1471, 1473, 0, 0, 0, 0, 0, 0, 0, 1475,
3083 0, 0, 0, 0, 0, 0, 0, 0, 0, 1477,
3084 0, 1479, 1481, 1483, 1485, 1487, 1489, 0, 1491, 0,
3085 0, 1493, 1495, 1497, 1499, 1501, 1503, 1505, 1507, 1509,
3086 1511, 1513, 1515, 1517, 1519, 1521, 1523, 1525, 0, 0,
3087 0, 0, 0, 0, 0, 0, 1527, 0, 0, 0,
3088 0, 1529, 1531, 0, 0, 0, 1533, 0, 0, 1535,
3089 1537, 1539, 1541, 0, 0, 0, 1543, 0, 0, 0,
3090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3091 0, 1545, 1547, 0, 0, 0, 0, 0, 0, 0,
3092 0, 0, 0, 0, 1549, 1551, 0, 0, 0, 0,
3093 1553, 1555, 1557, 1559, 1561, 0, 0, 0, 0, 0,
3094 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0,
3095 0, 0, 1565, 0, 1567, 1569, 1571, 1573, 1575, 1577,
3096 0, 1579, 0, 0, 1581, 1583, 1585, 1587, 1589, 1591,
3097 1593, 1595, 1597, 1599, 1601, 1603, 1605, 1607, 1609, 1611,
3098 1613, 0, 0, 0, 0, 0, 0, 0, 0, 1615,
3099 0, 0, 0, 0, 1617, 1619, 0, 0, 0, 1621,
3100 0, 0, 1623, 1625, 1627, 1629, 0, 0, 0, 1631,
3101 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3102 0, 0, 0, 0, 1633, 1635, 0, 0, 0, 0,
3103 0, 0, 0, 0, 0, 0, 0, 1637, 1639, 0,
3104 0, 0, 0, 1641, 1643, 1645, 1647, 1649, 0, 0,
3105 0, 0, 0, 0, 0, 1651, 0, 0, 0, 0,
3106 0, 0, 0, 0, 0, 1653, 0, 1655, 1657, 1659,
3107 1661, 1663, 1665, 0, 1667, 0, 0, 1669, 1671, 1673,
3108 1675, 1677, 1679, 1681, 1683, 1685, 1687, 1689, 1691, 1693,
3109 1695, 1697, 1699, 1701, 0, 0, 0, 0, 0, 0,
3110 0, 0, 1703, 0, 0, 0, 0, 1705, 1707, 0,
3111 0, 0, 1709, 0, 0, 1711, 1713, 1715, 1717, 0,
3112 0, 0, 1719, 0, 0, 0, 0, 0, 0, 0,
3113 0, 0, 0, 0, 0, 0, 0, 1721, 1723, 0,
3114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3115 1725, 1727, 0, 0, 0, 0, 1729, 1731, 1733, 1735,
3116 1737, 0, 0, 0, 0, 0, 0, 0, 1739, 0,
3117 0, 0, 0, 0, 0, 0, 0, 0, 1741, 0,
3118 1743, 1745, 1747, 1749, 1751, 1753, 0, 1755, 0, 0,
3119 1757, 1759, 1761, 1763, 1765, 1767, 1769, 1771, 1773, 1775,
3120 1777, 1779, 1781, 1783, 1785, 1787, 1789, 0, 0, 0,
3121 0, 0, 0, 0, 0, 1791, 0, 0, 0, 0,
3122 1793, 1795, 0, 0, 0, 1797, 0, 0, 1799, 1801,
3123 1803, 1805, 0, 0, 0, 1807, 0, 0, 0, 0,
3124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3125 1809, 1811, 0, 0, 0, 0, 0, 0, 0, 0,
3126 0, 0, 0, 1813, 1815, 0, 0, 0, 0, 1817,
3127 1819, 1821, 1823, 1825, 0, 0, 0, 0, 0, 0,
3128 0, 1827, 0, 0, 0, 0, 0, 0, 0, 0,
3129 0, 1829, 0, 1831, 1833, 1835, 1837, 1839, 1841, 0,
3130 1843, 0, 0, 1845, 1847, 1849, 1851, 1853, 1855, 1857,
3131 1859, 1861, 1863, 1865, 1867, 1869, 1871, 1873, 1875, 1877,
3132 0, 0, 0, 0, 0, 0, 0, 0, 1879, 0,
3133 0, 0, 0, 1881, 1883, 0, 0, 0, 1885, 0,
3134 0, 1887, 1889, 1891, 1893, 0, 0, 0, 1895, 0,
3135 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3136 0, 0, 0, 1897, 1899, 0, 0, 0, 0, 0,
3137 0, 0, 0, 0, 0, 0, 1901, 1903, 0, 0,
3138 0, 0, 1905, 1907, 1909, 1911, 1913, 0, 0, 0,
3139 0, 0, 0, 0, 1915, 0, 0, 0, 0, 0,
3140 0, 0, 0, 0, 1917, 0, 1919, 1921, 1923, 1925,
3141 1927, 1929, 0, 1931, 0, 0, 1933, 1935, 1937, 1939,
3142 1941, 1943, 1945, 1947, 1949, 1951, 1953, 1955, 1957, 1959,
3143 1961, 1963, 1965, 0, 0, 0, 0, 0, 0, 0,
3144 0, 1967, 0, 0, 0, 0, 1969, 1971, 0, 0,
3145 0, 1973, 0, 0, 1975, 1977, 1979, 1981, 0, 0,
3146 0, 1983, 0, 0, 0, 0, 0, 0, 0, 0,
3147 0, 0, 0, 0, 0, 0, 1985, 1987, 0, 0,
3148 0, 0, 0, 0, 0, 0, 0, 0, 0, 1989,
3149 1991, 0, 0, 0, 0, 1993, 1995, 1997, 1999, 2001,
3150 0, 0, 0, 0, 0, 0, 0, 2003, 0, 0,
3151 0, 0, 0, 0, 0, 0, 0, 2005, 0, 2007,
3152 2009, 2011, 2013, 2015, 2017, 0, 2019, 0, 0, 2021,
3153 2023, 2025, 2027, 2029, 2031, 2033, 2035, 2037, 2039, 2041,
3154 2043, 2045, 2047, 2049, 2051, 2053, 0, 0, 0, 0,
3155 0, 0, 0, 0, 2055, 0, 0, 0, 0, 2057,
3156 2059, 0, 0, 0, 2061, 0, 0, 2063, 2065, 2067,
3157 2069, 0, 0, 0, 2071, 0, 0, 0, 0, 0,
3158 0, 0, 0, 0, 0, 0, 0, 0, 0, 2073,
3159 2075, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3160 0, 0, 2077, 2079, 0, 0, 0, 0, 2081, 2083,
3161 2085, 2087, 2089, 0, 0, 0, 0, 0, 0, 0,
3162 2091, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3163 2093, 0, 2095, 2097, 2099, 2101, 2103, 2105, 0, 2107,
3164 0, 0, 2109, 2111, 2113, 2115, 2117, 2119, 2121, 2123,
3165 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139, 2141, 0,
3166 0, 0, 0, 0, 0, 0, 0, 2143, 0, 0,
3167 0, 0, 2145, 2147, 0, 0, 0, 2149, 0, 0,
3168 2151, 2153, 2155, 2157, 0, 0, 0, 2159, 0, 0,
3169 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3170 0, 0, 2161, 2163, 0, 0, 0, 0, 0, 0,
3171 0, 0, 0, 0, 0, 2165, 2167, 0, 0, 0,
3172 0, 2169, 2171, 2173, 2175, 2177, 0, 0, 0, 0,
3173 0, 0, 0, 2179, 0, 0, 0, 0, 0, 0,
3174 0, 0, 0, 2181, 0, 2183, 2185, 2187, 2189, 2191,
3175 2193, 0, 2195, 0, 0, 2197, 2199, 2201, 2203, 2205,
3176 2207, 2209, 2211, 2213, 2215, 2217, 2219, 2221, 2223, 2225,
3177 2227, 2229, 0, 0, 0, 0, 0, 0, 0, 0,
3178 2231, 0, 0, 0, 0, 2233, 2235, 0, 0, 0,
3179 2237, 0, 0, 2239, 2241, 2243, 2245, 0, 0, 0,
3180 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3181 0, 0, 0, 0, 0, 2249, 2251, 0, 0, 0,
3182 0, 0, 0, 0, 0, 0, 0, 0, 2253, 2255,
3183 0, 0, 0, 0, 2257, 2259, 2261, 2263, 2265, 0,
3184 0, 0, 0, 0, 0, 0, 2267, 0, 0, 0,
3185 0, 0, 0, 0, 0, 0, 2269, 0, 2271, 2273,
3186 2275, 2277, 2279, 2281, 0, 2283, 0, 0, 2285, 2287,
3187 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303, 2305, 2307,
3188 2309, 2311, 2313, 2315, 2317, 0, 0, 0, 0, 0,
3189 0, 0, 0, 2319, 0, 0, 0, 0, 2321, 2323,
3190 0, 0, 0, 2325, 0, 0, 2327, 2329, 2331, 2333,
3191 0, 0, 0, 2335, 0, 0, 0, 0, 0, 0,
3192 0, 0, 0, 0, 0, 0, 0, 0, 2337, 2339,
3193 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3194 0, 2341, 2343, 0, 0, 0, 0, 2345, 2347, 2349,
3195 2351, 2353, 0, 0, 0, 0, 0, 0, 0, 2355,
3196 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357,
3197 0, 2359, 2361, 2363, 2365, 2367, 2369, 0, 2371, 0,
3198 0, 2373, 2375, 2377, 2379, 2381, 2383, 2385, 2387, 2389,
3199 2391, 2393, 2395, 2397, 2399, 2401, 2403, 2405, 0, 0,
3200 0, 0, 0, 0, 0, 0, 2407, 0, 0, 0,
3201 0, 2409, 2411, 0, 0, 0, 2413, 0, 0, 2415,
3202 2417, 2419, 2421, 0, 0, 0, 2423, 0, 0, 0,
3203 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3204 0, 2425, 2427, 0, 0, 0, 0, 0, 0, 0,
3205 0, 0, 0, 0, 2429, 2431, 0, 0, 0, 0,
3206 2433, 2435, 2437, 2439, 2441, 0, 0, 0, 0, 0,
3207 0, 0, 2443, 0, 0, 0, 0, 0, 0, 0,
3208 0, 0, 2445, 0, 2447, 2449, 2451, 2453, 2455, 2457,
3209 0, 2459, 0, 0, 2461, 2463, 2465, 2467, 2469, 2471,
3210 2473, 2475, 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491,
3211 2493, 0, 0, 0, 0, 0, 0, 0, 0, 2495,
3212 0, 0, 0, 0, 2497, 2499, 0, 0, 0, 2501,
3213 0, 0, 2503, 2505, 2507, 2509, 0, 0, 0, 2511,
3214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3215 0, 0, 0, 0, 2513, 2515, 0, 0, 0, 0,
3216 0, 0, 0, 0, 0, 0, 0, 2517, 2519, 0,
3217 0, 0, 0, 2521, 2523, 2525, 2527, 2529, 0, 0,
3218 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0,
3219 0, 0, 0, 0, 0, 2533, 0, 2535, 2537, 2539,
3220 2541, 2543, 2545, 0, 2547, 0, 0, 2549, 2551, 2553,
3221 2555, 2557, 2559, 2561, 2563, 2565, 2567, 2569, 2571, 2573,
3222 2575, 2577, 2579, 2581, 0, 0, 0, 0, 0, 0,
3223 0, 0, 2583, 0, 0, 0, 0, 2585, 2587, 0,
3224 0, 0, 2589, 0, 0, 2591, 2593, 2595, 2597, 0,
3225 0, 0, 2599, 0, 0, 0, 0, 0, 0, 0,
3226 0, 0, 0, 0, 0, 0, 0, 2601, 2603, 0,
3227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3228 2605, 2607, 0, 0, 0, 0, 2609, 2611, 2613, 2615,
3229 2617, 0, 0, 0, 0, 0, 0, 0, 2619, 0,
3230 0, 0, 0, 0, 0, 0, 0, 0, 2621, 0,
3231 2623, 2625, 2627, 2629, 2631, 2633, 0, 2635, 0, 0,
3232 2637, 2639, 2641, 2643, 2645, 2647, 2649, 2651, 2653, 2655,
3233 2657, 2659, 2661, 2663, 2665, 2667, 2669, 0, 0, 0,
3234 0, 0, 0, 0, 0, 2671, 0, 0, 0, 0,
3235 2673, 2675, 0, 0, 0, 2677, 0, 0, 2679, 2681,
3236 2683, 2685, 0, 0, 0, 2687, 0, 0, 0, 0,
3237 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3238 2689, 2691, 0, 0, 0, 0, 0, 0, 0, 0,
3239 0, 0, 0, 2693, 2695, 0, 0, 0, 0, 2697,
3240 2699, 2701, 2703, 2705, 0, 0, 0, 0, 0, 0,
3241 0, 2707, 0, 0, 0, 0, 0, 0, 0, 0,
3242 0, 2709, 0, 2711, 2713, 2715, 2717, 2719, 2721, 0,
3243 2723, 0, 0, 2725, 2727, 2729, 2731, 2733, 2735, 2737,
3244 2739, 2741, 2743, 2745, 2747, 2749, 2751, 2753, 2755, 2757,
3245 0, 0, 0, 0, 0, 0, 0, 0, 2759, 0,
3246 0, 0, 0, 2761, 2763, 0, 0, 0, 2765, 0,
3247 0, 2767, 2769, 2771, 2773, 0, 0, 0, 2775, 0,
3248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3249 0, 0, 0, 2777, 2779, 0, 0, 0, 0, 0,
3250 0, 0, 0, 0, 0, 0, 2781, 2783, 0, 0,
3251 0, 0, 2785, 2787, 2789, 2791, 2793, 0, 0, 0,
3252 0, 0, 0, 0, 2795, 0, 0, 0, 0, 0,
3253 0, 0, 0, 0, 2797, 0, 2799, 2801, 2803, 2805,
3254 2807, 2809, 0, 2811, 0, 0, 2813, 2815, 2817, 2819,
3255 2821, 2823, 2825, 2827, 2829, 2831, 2833, 2835, 2837, 2839,
3256 2841, 2843, 2845, 0, 0, 0, 0, 0, 0, 0,
3257 0, 2847, 0, 0, 0, 0, 2849, 2851, 0, 0,
3258 0, 2853, 0, 0, 2855, 2857, 2859, 2861, 0, 0,
3259 0, 2863, 0, 0, 0, 0, 0, 0, 0, 0,
3260 0, 0, 0, 0, 0, 0, 2865, 2867, 0, 0,
3261 0, 0, 0, 0, 0, 0, 0, 0, 0, 2869,
3262 2871, 0, 0, 0, 0, 2873, 2875, 2877, 2879, 2881,
3263 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0,
3264 0, 0, 0, 0, 0, 0, 0, 2885, 0, 2887,
3265 2889, 2891, 2893, 2895, 2897, 0, 2899, 0, 0, 2901,
3266 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917, 2919, 2921,
3267 2923, 2925, 2927, 2929, 2931, 2933, 0, 0, 0, 0,
3268 0, 0, 0, 0, 2935, 0, 0, 0, 0, 2937,
3269 2939, 0, 0, 0, 2941, 0, 0, 2943, 2945, 2947,
3270 2949, 0, 0, 0, 2951, 0, 0, 0, 0, 0,
3271 0, 0, 0, 0, 0, 0, 0, 0, 0, 2953,
3272 2955, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3273 0, 0, 2957, 2959, 0, 0, 0, 0, 2961, 2963,
3274 2965, 2967, 2969, 0, 0, 0, 0, 0, 0, 0,
3275 2971, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3276 2973, 0, 2975, 2977, 2979, 2981, 2983, 2985, 0, 2987,
3277 0, 0, 2989, 2991, 2993, 2995, 2997, 2999, 3001, 3003,
3278 3005, 3007, 3009, 3011, 3013, 3015, 3017, 3019, 3021, 0,
3279 0, 0, 0, 0, 0, 0, 0, 3023, 0, 0,
3280 0, 0, 3025, 3027, 0, 0, 0, 3029, 0, 0,
3281 3031, 3033, 3035, 3037, 0, 0, 0, 3039, 0, 0,
3282 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3283 0, 0, 3041, 3043, 0, 0, 0, 0, 0, 0,
3284 0, 0, 0, 0, 0, 3045, 3047, 0, 0, 0,
3285 0, 3049, 3051, 3053, 3055, 3057, 0, 0, 0, 0,
3286 0, 0, 0, 3059, 0, 0, 0, 0, 0, 0,
3287 0, 0, 0, 3061, 0, 3063, 3065, 3067, 3069, 3071,
3288 3073, 0, 3075, 0, 0, 3077, 3079, 3081, 3083, 3085,
3289 3087, 3089, 3091, 3093, 3095, 3097, 3099, 3101, 3103, 3105,
3290 3107, 3109, 0, 0, 0, 0, 0, 0, 0, 0,
3291 3111, 0, 0, 0, 0, 3113, 3115, 0, 0, 0,
3292 3117, 0, 0, 3119, 3121, 3123, 3125, 0, 0, 0,
3293 3127, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3294 0, 0, 0, 0, 0, 3129, 3131, 0, 0, 0,
3295 0, 0, 0, 0, 0, 0, 0, 0, 3133, 3135,
3296 0, 0, 0, 0, 3137, 3139, 3141, 3143, 3145, 0,
3297 0, 0, 0, 0, 0, 0, 3147, 0, 0, 0,
3298 0, 0, 0, 0, 0, 0, 3149, 0, 3151, 3153,
3299 3155, 3157, 3159, 3161, 0, 3163, 0, 0, 3165, 3167,
3300 3169, 3171, 3173, 3175, 3177, 3179, 3181, 3183, 3185, 3187,
3301 3189, 3191, 3193, 3195, 0, 0, 0, 0, 0, 0,
3302 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3303 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3304 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3305 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3307 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3309 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3310 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3311 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3312 0, 0, 0, 0, 0, 0, 0, 17, 0, 0,
3313 0, 0, 0, 0, 0, 0, 19, 0, 0, 0,
3314 0, 21, 23, 0, 0, 0, 25, 0, 0, 0,
3315 0, 0, 0, 27, 29, 31, 33, 35, 37, 39,
3316 41, 43, 45, 47, 49, 0, 51, 53, 55, 57,
3317 59, 61, 63, 65, 67, 69, 71, 73, 75, 77,
3318 79, 81, 83, 85, 0, 0, 0, 0, 0, 87,
3319 89, 91, 93, 95, 97, 0, 0, 0, 0, 0,
3320 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3321 0, 99, 101, 0, 103, 105, 107, 109, 111, 113,
3322 0, 115, 0, 0, 117, 119, 121, 123, 125, 127,
3323 129, 131, 133, 135, 137, 139, 141, 143, 145, 147,
3324 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3325 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3327 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3329 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3345 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3353 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3354 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3355 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3416 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3426 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3451 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3459 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3461 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3467 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3473 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3483 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3485 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3491 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3494 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3495 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3500 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3503 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3507 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3509 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3510 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3519 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3521 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3523 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3526 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3527 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3528 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3530 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3531 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3532 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3533 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3535 0, 3227, 0, 0, 0, 0, 0, 0, 0, 0,
3536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3537 0, 0, 0, 0, 0, 3229
3538 };
3539
3540 /* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
3541 0, pointed into by YYCONFLP. */
3542 static const short int yyconfl[] =
3543 {
3544 0, 386, 0, 386, 0, 386, 0, 386, 0, 377,
3545 0, 377, 0, 400, 0, 458, 0, 612, 0, 612,
3546 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3547 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3548 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3549 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3550 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3551 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3552 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3553 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3554 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3555 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3556 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3557 0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
3558 0, 612, 0, 612, 0, 612, 0, 612, 0, 386,
3559 0, 386, 0, 386, 0, 386, 0, 400, 0, 43,
3560 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3561 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3562 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3563 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3564 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3565 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3566 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3567 0, 43, 0, 43, 0, 43, 0, 43, 0, 43,
3568 0, 43, 0, 43, 0, 43, 0, 52, 0, 52,
3569 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3570 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3571 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3572 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3573 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3574 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3575 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3576 0, 52, 0, 52, 0, 52, 0, 52, 0, 52,
3577 0, 52, 0, 52, 0, 613, 0, 613, 0, 613,
3578 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3579 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3580 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3581 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3582 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3583 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3584 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3585 0, 613, 0, 613, 0, 613, 0, 613, 0, 613,
3586 0, 613, 0, 574, 612, 0, 574, 612, 0, 574,
3587 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3588 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3589 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3590 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3591 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3592 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3593 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3594 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3595 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3596 612, 0, 574, 612, 0, 574, 612, 0, 574, 612,
3597 0, 574, 612, 0, 574, 612, 0, 574, 612, 0,
3598 574, 612, 0, 574, 612, 0, 574, 612, 0, 574,
3599 612, 0, 574, 612, 0, 612, 0, 62, 0, 62,
3600 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3601 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3602 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3603 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3604 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3605 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3606 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3607 0, 62, 0, 62, 0, 62, 0, 62, 0, 62,
3608 0, 62, 0, 62, 0, 106, 0, 106, 0, 106,
3609 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3610 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3611 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3612 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3613 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3614 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3615 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3616 0, 106, 0, 106, 0, 106, 0, 106, 0, 106,
3617 0, 106, 0, 107, 0, 107, 0, 107, 0, 107,
3618 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3619 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3620 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3621 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3622 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3623 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3624 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3625 0, 107, 0, 107, 0, 107, 0, 107, 0, 107,
3626 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3627 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3628 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3629 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3630 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3631 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3632 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3633 0, 105, 0, 105, 0, 105, 0, 105, 0, 105,
3634 0, 105, 0, 105, 0, 105, 0, 105, 0, 103,
3635 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3636 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3637 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3638 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3639 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3640 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3641 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3642 0, 103, 0, 103, 0, 103, 0, 103, 0, 103,
3643 0, 103, 0, 103, 0, 103, 0, 104, 0, 104,
3644 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3645 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3646 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3647 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3648 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3649 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3650 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3651 0, 104, 0, 104, 0, 104, 0, 104, 0, 104,
3652 0, 104, 0, 104, 0, 124, 0, 124, 0, 124,
3653 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3654 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3655 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3656 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3657 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3658 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3659 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3660 0, 124, 0, 124, 0, 124, 0, 124, 0, 124,
3661 0, 124, 0, 126, 0, 126, 0, 126, 0, 126,
3662 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3663 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3664 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3665 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3666 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3667 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3668 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3669 0, 126, 0, 126, 0, 126, 0, 126, 0, 126,
3670 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3671 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3672 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3673 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3674 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3675 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3676 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3677 0, 127, 0, 127, 0, 127, 0, 127, 0, 127,
3678 0, 127, 0, 127, 0, 127, 0, 127, 0, 128,
3679 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3680 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3681 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3682 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3683 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3684 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3685 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3686 0, 128, 0, 128, 0, 128, 0, 128, 0, 128,
3687 0, 128, 0, 128, 0, 128, 0, 129, 0, 129,
3688 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3689 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3690 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3691 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3692 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3693 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3694 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3695 0, 129, 0, 129, 0, 129, 0, 129, 0, 129,
3696 0, 129, 0, 129, 0, 130, 0, 130, 0, 130,
3697 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3698 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3699 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3700 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3701 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3702 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3703 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3704 0, 130, 0, 130, 0, 130, 0, 130, 0, 130,
3705 0, 130, 0, 131, 0, 131, 0, 131, 0, 131,
3706 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3707 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3708 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3709 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3710 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3711 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3712 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3713 0, 131, 0, 131, 0, 131, 0, 131, 0, 131,
3714 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3715 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3716 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3717 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3718 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3719 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3720 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3721 0, 160, 0, 160, 0, 160, 0, 160, 0, 160,
3722 0, 160, 0, 160, 0, 160, 0, 160, 0, 582,
3723 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3724 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3725 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3726 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3727 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3728 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3729 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3730 0, 582, 0, 582, 0, 582, 0, 582, 0, 582,
3731 0, 582, 0, 582, 0, 582, 0, 581, 0, 581,
3732 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3733 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3734 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3735 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3736 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3737 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3738 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3739 0, 581, 0, 581, 0, 581, 0, 581, 0, 581,
3740 0, 581, 0, 581, 0, 579, 0, 579, 0, 579,
3741 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3742 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3743 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3744 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3745 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3746 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3747 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3748 0, 579, 0, 579, 0, 579, 0, 579, 0, 579,
3749 0, 579, 0, 577, 0, 577, 0, 577, 0, 577,
3750 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3751 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3752 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3753 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3754 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3755 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3756 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3757 0, 577, 0, 577, 0, 577, 0, 577, 0, 577,
3758 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3759 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3760 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3761 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3762 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3763 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3764 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3765 0, 578, 0, 578, 0, 578, 0, 578, 0, 578,
3766 0, 578, 0, 578, 0, 578, 0, 578, 0, 580,
3767 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3768 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3769 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3770 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3771 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3772 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3773 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3774 0, 580, 0, 580, 0, 580, 0, 580, 0, 580,
3775 0, 580, 0, 580, 0, 580, 0, 576, 0, 576,
3776 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3777 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3778 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3779 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3780 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3781 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3782 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3783 0, 576, 0, 576, 0, 576, 0, 576, 0, 576,
3784 0, 576, 0, 576, 0, 575, 0, 575, 0, 575,
3785 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3786 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3787 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3788 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3789 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3790 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3791 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3792 0, 575, 0, 575, 0, 575, 0, 575, 0, 575,
3793 0, 575, 0, 583, 0, 583, 0, 583, 0, 583,
3794 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3795 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3796 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3797 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3798 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3799 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3800 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3801 0, 583, 0, 583, 0, 583, 0, 583, 0, 583,
3802 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3803 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3804 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3805 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3806 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3807 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3808 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3809 0, 144, 0, 144, 0, 144, 0, 144, 0, 144,
3810 0, 144, 0, 144, 0, 144, 0, 144, 0, 611,
3811 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3812 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3813 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3814 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3815 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3816 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3817 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3818 0, 611, 0, 611, 0, 611, 0, 611, 0, 611,
3819 0, 611, 0, 611, 0, 611, 0, 609, 0, 609,
3820 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3821 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3822 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3823 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3824 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3825 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3826 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3827 0, 609, 0, 609, 0, 609, 0, 609, 0, 609,
3828 0, 609, 0, 609, 0, 608, 0, 608, 0, 608,
3829 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3830 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3831 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3832 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3833 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3834 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3835 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3836 0, 608, 0, 608, 0, 608, 0, 608, 0, 608,
3837 0, 608, 0, 610, 0, 610, 0, 610, 0, 610,
3838 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3839 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3840 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3841 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3842 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3843 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3844 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3845 0, 610, 0, 610, 0, 610, 0, 610, 0, 610,
3846 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3847 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3848 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3849 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3850 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3851 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3852 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3853 0, 607, 0, 607, 0, 607, 0, 607, 0, 607,
3854 0, 607, 0, 607, 0, 607, 0, 607, 0, 606,
3855 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3856 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3857 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3858 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3859 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3860 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3861 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3862 0, 606, 0, 606, 0, 606, 0, 606, 0, 606,
3863 0, 606, 0, 606, 0, 606, 0, 501, 0, 501,
3864 0, 451, 0, 451, 0, 452, 0, 42, 0, 487,
3865 0, 487, 0, 487, 0, 613, 0, 386, 0, 562,
3866 0, 562, 0, 562, 0, 613, 0, 339, 0, 483,
3867 0
3868 };
3869
3870 /* Error token number */
3871 #define YYTERROR 1
3872
3873
3874
3875
3876 #undef yynerrs
3877 #define yynerrs (yystackp->yyerrcnt)
3878 #undef yychar
3879 #define yychar (yystackp->yyrawchar)
3880 #undef yylval
3881 #define yylval (yystackp->yyval)
3882 #undef yylloc
3883 #define yylloc (yystackp->yyloc)
3884 #define psi_parser_proc_nerrs yynerrs
3885 #define psi_parser_proc_char yychar
3886 #define psi_parser_proc_lval yylval
3887 #define psi_parser_proc_lloc yylloc
3888
3889 static const int YYEOF = 0;
3890 static const int YYEMPTY = -2;
3891
3892 typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
3893
3894 #define YYCHK(YYE) \
3895 do { \
3896 YYRESULTTAG yychk_flag = YYE; \
3897 if (yychk_flag != yyok) \
3898 return yychk_flag; \
3899 } while (0)
3900
3901 #if YYDEBUG
3902
3903 # ifndef YYFPRINTF
3904 # define YYFPRINTF fprintf
3905 # endif
3906
3907 /* This macro is provided for backward compatibility. */
3908 #ifndef YY_LOCATION_PRINT
3909 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3910 #endif
3911
3912
3913 # define YYDPRINTF(Args) \
3914 do { \
3915 if (yydebug) \
3916 YYFPRINTF Args; \
3917 } while (0)
3918
3919
3920 /*----------------------------------------.
3921 | Print this symbol's value on YYOUTPUT. |
3922 `----------------------------------------*/
3923
3924 static void
3925 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3926 {
3927 FILE *yyo = yyoutput;
3928 YYUSE (yyo);
3929 YYUSE (P);
3930 YYUSE (tokens);
3931 YYUSE (index);
3932 if (!yyvaluep)
3933 return;
3934 YYUSE (yytype);
3935 }
3936
3937
3938 /*--------------------------------.
3939 | Print this symbol on YYOUTPUT. |
3940 `--------------------------------*/
3941
3942 static void
3943 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
3944 {
3945 YYFPRINTF (yyoutput, "%s %s (",
3946 yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
3947
3948 yy_symbol_value_print (yyoutput, yytype, yyvaluep, P, tokens, index);
3949 YYFPRINTF (yyoutput, ")");
3950 }
3951
3952 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3953 do { \
3954 if (yydebug) \
3955 { \
3956 YYFPRINTF (stderr, "%s ", Title); \
3957 yy_symbol_print (stderr, Type, Value, P, tokens, index); \
3958 YYFPRINTF (stderr, "\n"); \
3959 } \
3960 } while (0)
3961
3962 /* Nonzero means print parse trace. It is left uninitialized so that
3963 multiple parsers can coexist. */
3964 int yydebug;
3965
3966 struct yyGLRStack;
3967 static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
3968 YY_ATTRIBUTE_UNUSED;
3969 static void yypdumpstack (struct yyGLRStack* yystackp)
3970 YY_ATTRIBUTE_UNUSED;
3971
3972 #else /* !YYDEBUG */
3973
3974 # define YYDPRINTF(Args)
3975 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3976
3977 #endif /* !YYDEBUG */
3978
3979 /* YYINITDEPTH -- initial size of the parser's stacks. */
3980 #ifndef YYINITDEPTH
3981 # define YYINITDEPTH 200
3982 #endif
3983
3984 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3985 if the built-in stack extension method is used).
3986
3987 Do not make this value too large; the results are undefined if
3988 SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
3989 evaluated with infinite-precision integer arithmetic. */
3990
3991 #ifndef YYMAXDEPTH
3992 # define YYMAXDEPTH 10000
3993 #endif
3994
3995 /* Minimum number of free items on the stack allowed after an
3996 allocation. This is to allow allocation and initialization
3997 to be completed by functions that call yyexpandGLRStack before the
3998 stack is expanded, thus insuring that all necessary pointers get
3999 properly redirected to new data. */
4000 #define YYHEADROOM 2
4001
4002 #ifndef YYSTACKEXPANDABLE
4003 # define YYSTACKEXPANDABLE 1
4004 #endif
4005
4006 #if YYSTACKEXPANDABLE
4007 # define YY_RESERVE_GLRSTACK(Yystack) \
4008 do { \
4009 if (Yystack->yyspaceLeft < YYHEADROOM) \
4010 yyexpandGLRStack (Yystack); \
4011 } while (0)
4012 #else
4013 # define YY_RESERVE_GLRSTACK(Yystack) \
4014 do { \
4015 if (Yystack->yyspaceLeft < YYHEADROOM) \
4016 yyMemoryExhausted (Yystack); \
4017 } while (0)
4018 #endif
4019
4020
4021 #if YYERROR_VERBOSE
4022
4023 # ifndef yystpcpy
4024 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
4025 # define yystpcpy stpcpy
4026 # else
4027 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
4028 YYDEST. */
4029 static char *
4030 yystpcpy (char *yydest, const char *yysrc)
4031 {
4032 char *yyd = yydest;
4033 const char *yys = yysrc;
4034
4035 while ((*yyd++ = *yys++) != '\0')
4036 continue;
4037
4038 return yyd - 1;
4039 }
4040 # endif
4041 # endif
4042
4043 # ifndef yytnamerr
4044 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
4045 quotes and backslashes, so that it's suitable for yyerror. The
4046 heuristic is that double-quoting is unnecessary unless the string
4047 contains an apostrophe, a comma, or backslash (other than
4048 backslash-backslash). YYSTR is taken from yytname. If YYRES is
4049 null, do not copy; instead, return the length of what the result
4050 would have been. */
4051 static size_t
4052 yytnamerr (char *yyres, const char *yystr)
4053 {
4054 if (*yystr == '"')
4055 {
4056 size_t yyn = 0;
4057 char const *yyp = yystr;
4058
4059 for (;;)
4060 switch (*++yyp)
4061 {
4062 case '\'':
4063 case ',':
4064 goto do_not_strip_quotes;
4065
4066 case '\\':
4067 if (*++yyp != '\\')
4068 goto do_not_strip_quotes;
4069 /* Fall through. */
4070 default:
4071 if (yyres)
4072 yyres[yyn] = *yyp;
4073 yyn++;
4074 break;
4075
4076 case '"':
4077 if (yyres)
4078 yyres[yyn] = '\0';
4079 return yyn;
4080 }
4081 do_not_strip_quotes: ;
4082 }
4083
4084 if (! yyres)
4085 return strlen (yystr);
4086
4087 return yystpcpy (yyres, yystr) - yyres;
4088 }
4089 # endif
4090
4091 #endif /* !YYERROR_VERBOSE */
4092
4093 /** State numbers, as in LALR(1) machine */
4094 typedef int yyStateNum;
4095
4096 /** Rule numbers, as in LALR(1) machine */
4097 typedef int yyRuleNum;
4098
4099 /** Grammar symbol */
4100 typedef int yySymbol;
4101
4102 /** Item references, as in LALR(1) machine */
4103 typedef short int yyItemNum;
4104
4105 typedef struct yyGLRState yyGLRState;
4106 typedef struct yyGLRStateSet yyGLRStateSet;
4107 typedef struct yySemanticOption yySemanticOption;
4108 typedef union yyGLRStackItem yyGLRStackItem;
4109 typedef struct yyGLRStack yyGLRStack;
4110
4111 struct yyGLRState {
4112 /** Type tag: always true. */
4113 yybool yyisState;
4114 /** Type tag for yysemantics. If true, yysval applies, otherwise
4115 * yyfirstVal applies. */
4116 yybool yyresolved;
4117 /** Number of corresponding LALR(1) machine state. */
4118 yyStateNum yylrState;
4119 /** Preceding state in this stack */
4120 yyGLRState* yypred;
4121 /** Source position of the last token produced by my symbol */
4122 size_t yyposn;
4123 union {
4124 /** First in a chain of alternative reductions producing the
4125 * non-terminal corresponding to this state, threaded through
4126 * yynext. */
4127 yySemanticOption* yyfirstVal;
4128 /** Semantic value for this state. */
4129 YYSTYPE yysval;
4130 } yysemantics;
4131 };
4132
4133 struct yyGLRStateSet {
4134 yyGLRState** yystates;
4135 /** During nondeterministic operation, yylookaheadNeeds tracks which
4136 * stacks have actually needed the current lookahead. During deterministic
4137 * operation, yylookaheadNeeds[0] is not maintained since it would merely
4138 * duplicate yychar != YYEMPTY. */
4139 yybool* yylookaheadNeeds;
4140 size_t yysize, yycapacity;
4141 };
4142
4143 struct yySemanticOption {
4144 /** Type tag: always false. */
4145 yybool yyisState;
4146 /** Rule number for this reduction */
4147 yyRuleNum yyrule;
4148 /** The last RHS state in the list of states to be reduced. */
4149 yyGLRState* yystate;
4150 /** The lookahead for this reduction. */
4151 int yyrawchar;
4152 YYSTYPE yyval;
4153 /** Next sibling in chain of options. To facilitate merging,
4154 * options are chained in decreasing order by address. */
4155 yySemanticOption* yynext;
4156 };
4157
4158 /** Type of the items in the GLR stack. The yyisState field
4159 * indicates which item of the union is valid. */
4160 union yyGLRStackItem {
4161 yyGLRState yystate;
4162 yySemanticOption yyoption;
4163 };
4164
4165 struct yyGLRStack {
4166 int yyerrState;
4167
4168
4169 int yyerrcnt;
4170 int yyrawchar;
4171 YYSTYPE yyval;
4172
4173 YYJMP_BUF yyexception_buffer;
4174 yyGLRStackItem* yyitems;
4175 yyGLRStackItem* yynextFree;
4176 size_t yyspaceLeft;
4177 yyGLRState* yysplitPoint;
4178 yyGLRState* yylastDeleted;
4179 yyGLRStateSet yytops;
4180 };
4181
4182 #if YYSTACKEXPANDABLE
4183 static void yyexpandGLRStack (yyGLRStack* yystackp);
4184 #endif
4185
4186 static _Noreturn void
4187 yyFail (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char* yymsg)
4188 {
4189 if (yymsg != YY_NULLPTR)
4190 yyerror (P, tokens, index, yymsg);
4191 YYLONGJMP (yystackp->yyexception_buffer, 1);
4192 }
4193
4194 static _Noreturn void
4195 yyMemoryExhausted (yyGLRStack* yystackp)
4196 {
4197 YYLONGJMP (yystackp->yyexception_buffer, 2);
4198 }
4199
4200 #if YYDEBUG || YYERROR_VERBOSE
4201 /** A printable representation of TOKEN. */
4202 static inline const char*
4203 yytokenName (yySymbol yytoken)
4204 {
4205 if (yytoken == YYEMPTY)
4206 return "";
4207
4208 return yytname[yytoken];
4209 }
4210 #endif
4211
4212 /** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
4213 * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
4214 * containing the pointer to the next state in the chain. */
4215 static void yyfillin (yyGLRStackItem *, int, int) YY_ATTRIBUTE_UNUSED;
4216 static void
4217 yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
4218 {
4219 int i;
4220 yyGLRState *s = yyvsp[yylow0].yystate.yypred;
4221 for (i = yylow0-1; i >= yylow1; i -= 1)
4222 {
4223 #if YYDEBUG
4224 yyvsp[i].yystate.yylrState = s->yylrState;
4225 #endif
4226 yyvsp[i].yystate.yyresolved = s->yyresolved;
4227 if (s->yyresolved)
4228 yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
4229 else
4230 /* The effect of using yysval or yyloc (in an immediate rule) is
4231 * undefined. */
4232 yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULLPTR;
4233 s = yyvsp[i].yystate.yypred = s->yypred;
4234 }
4235 }
4236
4237 /* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
4238 * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
4239 * For convenience, always return YYLOW1. */
4240 static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
4241 YY_ATTRIBUTE_UNUSED;
4242 static inline int
4243 yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
4244 {
4245 if (!yynormal && yylow1 < *yylow)
4246 {
4247 yyfillin (yyvsp, *yylow, yylow1);
4248 *yylow = yylow1;
4249 }
4250 return yylow1;
4251 }
4252
4253 /** Perform user action for rule number YYN, with RHS length YYRHSLEN,
4254 * and top stack item YYVSP. YYLVALP points to place to put semantic
4255 * value ($$), and yylocp points to place for location information
4256 * (@$). Returns yyok for normal return, yyaccept for YYACCEPT,
4257 * yyerr for YYERROR, yyabort for YYABORT. */
4258 static YYRESULTTAG
4259 yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
4260 yyGLRStack* yystackp,
4261 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
4262 {
4263 yybool yynormal YY_ATTRIBUTE_UNUSED = (yystackp->yysplitPoint == YY_NULLPTR);
4264 int yylow;
4265 YYUSE (yyvalp);
4266 YYUSE (P);
4267 YYUSE (tokens);
4268 YYUSE (index);
4269 YYUSE (yyrhslen);
4270 # undef yyerrok
4271 # define yyerrok (yystackp->yyerrState = 0)
4272 # undef YYACCEPT
4273 # define YYACCEPT return yyaccept
4274 # undef YYABORT
4275 # define YYABORT return yyabort
4276 # undef YYERROR
4277 # define YYERROR return yyerrok, yyerr
4278 # undef YYRECOVERING
4279 # define YYRECOVERING() (yystackp->yyerrState != 0)
4280 # undef yyclearin
4281 # define yyclearin (yychar = YYEMPTY)
4282 # undef YYFILL
4283 # define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
4284 # undef YYBACKUP
4285 # define YYBACKUP(Token, Value) \
4286 return yyerror (P, tokens, index, YY_("syntax error: cannot back up")), \
4287 yyerrok, yyerr
4288
4289 yylow = 1;
4290 if (yyrhslen == 0)
4291 *yyvalp = yyval_default;
4292 else
4293 *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;
4294 switch (yyn)
4295 {
4296 case 284:
4297 #line 452 "src/parser_proc_grammar.y" /* glr.c:816 */
4298 {
4299 if ((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4300 psi_cpp_exp_exec((*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), P->preproc, PSI_DATA(P));
4301 psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4302 }
4303 }
4304 #line 4305 "src/parser_proc.c" /* glr.c:816 */
4305 break;
4306
4307 case 285:
4308 #line 458 "src/parser_proc_grammar.y" /* glr.c:816 */
4309 {
4310 if (P->file.ln) {
4311 P->error(PSI_DATA(P), (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), PSI_WARNING,
4312 "Extra 'lib \"%s\"' statement has no effect", (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
4313 } else {
4314 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);
4315 }
4316 }
4317 #line 4318 "src/parser_proc.c" /* glr.c:816 */
4318 break;
4319
4320 case 286:
4321 #line 466 "src/parser_proc_grammar.y" /* glr.c:816 */
4322 {
4323 psi_parser_proc_add_const(P, (*(struct psi_const **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4324 }
4325 #line 4326 "src/parser_proc.c" /* glr.c:816 */
4326 break;
4327
4328 case 287:
4329 #line 469 "src/parser_proc_grammar.y" /* glr.c:816 */
4330 {
4331 psi_parser_proc_add_decl(P, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4332 }
4333 #line 4334 "src/parser_proc.c" /* glr.c:816 */
4334 break;
4335
4336 case 288:
4337 #line 472 "src/parser_proc_grammar.y" /* glr.c:816 */
4338 {
4339 psi_parser_proc_add_decl_extvars(P, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4340 }
4341 #line 4342 "src/parser_proc.c" /* glr.c:816 */
4342 break;
4343
4344 case 289:
4345 #line 475 "src/parser_proc_grammar.y" /* glr.c:816 */
4346 {
4347 if (P->flags & PSI_DEBUG) {
4348 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);
4349 }
4350 psi_decl_free(&(*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4351 }
4352 #line 4353 "src/parser_proc.c" /* glr.c:816 */
4353 break;
4354
4355 case 290:
4356 #line 481 "src/parser_proc_grammar.y" /* glr.c:816 */
4357 {
4358 psi_parser_proc_add_typedef(P, (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4359 }
4360 #line 4361 "src/parser_proc.c" /* glr.c:816 */
4361 break;
4362
4363 case 291:
4364 #line 484 "src/parser_proc_grammar.y" /* glr.c:816 */
4365 {
4366 psi_parser_proc_add_struct(P, (*(struct psi_decl_struct **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4367 }
4368 #line 4369 "src/parser_proc.c" /* glr.c:816 */
4369 break;
4370
4371 case 292:
4372 #line 487 "src/parser_proc_grammar.y" /* glr.c:816 */
4373 {
4374 psi_parser_proc_add_union(P, (*(struct psi_decl_union **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4375 }
4376 #line 4377 "src/parser_proc.c" /* glr.c:816 */
4377 break;
4378
4379 case 293:
4380 #line 490 "src/parser_proc_grammar.y" /* glr.c:816 */
4381 {
4382 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4383 }
4384 #line 4385 "src/parser_proc.c" /* glr.c:816 */
4385 break;
4386
4387 case 294:
4388 #line 493 "src/parser_proc_grammar.y" /* glr.c:816 */
4389 {
4390 psi_parser_proc_add_impl(P, (*(struct psi_impl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4391 }
4392 #line 4393 "src/parser_proc.c" /* glr.c:816 */
4393 break;
4394
4395 case 295:
4396 #line 499 "src/parser_proc_grammar.y" /* glr.c:816 */
4397 {
4398 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4399 }
4400 #line 4401 "src/parser_proc.c" /* glr.c:816 */
4401 break;
4402
4403 case 296:
4404 #line 505 "src/parser_proc_grammar.y" /* glr.c:816 */
4405 {
4406 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4407 }
4408 #line 4409 "src/parser_proc.c" /* glr.c:816 */
4409 break;
4410
4411 case 297:
4412 #line 508 "src/parser_proc_grammar.y" /* glr.c:816 */
4413 {
4414 (*(struct psi_cpp_exp **)(&(*yyvalp))) = (*(struct psi_cpp_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4415 }
4416 #line 4417 "src/parser_proc.c" /* glr.c:816 */
4417 break;
4418
4419 case 298:
4420 #line 514 "src/parser_proc_grammar.y" /* glr.c:816 */
4421 {
4422 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
4423 struct psi_token *msg = NULL;
4424
4425 if (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0, &msg)) {
4426 size_t index = 1;
4427 struct psi_token *next;
4428
4429 msg = psi_token_copy(msg);
4430 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), index++, &next)) {
4431 struct psi_token *old = msg;
4432 msg = psi_token_cat(" ", 2, msg, next);
4433 free(old);
4434 }
4435 }
4436 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4437
4438 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, msg);
4439 } else {
4440 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, NULL);
4441 }
4442 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4443 }
4444 #line 4445 "src/parser_proc.c" /* glr.c:816 */
4445 break;
4446
4447 case 299:
4448 #line 537 "src/parser_proc_grammar.y" /* glr.c:816 */
4449 {
4450 (*(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))));
4451 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4452 }
4453 #line 4454 "src/parser_proc.c" /* glr.c:816 */
4454 break;
4455
4456 case 300:
4457 #line 541 "src/parser_proc_grammar.y" /* glr.c:816 */
4458 {
4459 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4460 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4461 }
4462 #line 4463 "src/parser_proc.c" /* glr.c:816 */
4463 break;
4464
4465 case 301:
4466 #line 545 "src/parser_proc_grammar.y" /* glr.c:816 */
4467 {
4468 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4469 (*(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))));
4470 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4471 }
4472 #line 4473 "src/parser_proc.c" /* glr.c:816 */
4473 break;
4474
4475 case 302:
4476 #line 550 "src/parser_proc_grammar.y" /* glr.c:816 */
4477 {
4478 (*(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)));
4479 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4480 }
4481 #line 4482 "src/parser_proc.c" /* glr.c:816 */
4482 break;
4483
4484 case 303:
4485 #line 554 "src/parser_proc_grammar.y" /* glr.c:816 */
4486 {
4487 (*(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)));
4488 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4489 }
4490 #line 4491 "src/parser_proc.c" /* glr.c:816 */
4491 break;
4492
4493 case 304:
4494 #line 558 "src/parser_proc_grammar.y" /* glr.c:816 */
4495 {
4496 (*(struct psi_cpp_exp **)(&(*yyvalp))) = psi_cpp_exp_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, NULL);
4497 (*(struct psi_cpp_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4498 }
4499 #line 4500 "src/parser_proc.c" /* glr.c:816 */
4500 break;
4501
4502 case 305:
4503 #line 562 "src/parser_proc_grammar.y" /* glr.c:816 */
4504 {
4505 psi_plist_free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4506 (*(struct psi_cpp_exp **)(&(*yyvalp))) = NULL;
4507 }
4508 #line 4509 "src/parser_proc.c" /* glr.c:816 */
4509 break;
4510
4511 case 322:
4512 #line 606 "src/parser_proc_grammar.y" /* glr.c:816 */
4513 {
4514 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4515 (*(struct psi_cpp_macro_decl **)(&(*yyvalp))) = psi_cpp_macro_decl_init(NULL, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), NULL);
4516 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4517 }
4518 #line 4519 "src/parser_proc.c" /* glr.c:816 */
4519 break;
4520
4521 case 323:
4522 #line 611 "src/parser_proc_grammar.y" /* glr.c:816 */
4523 {
4524 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4525 (*(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);
4526 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
4527 }
4528 #line 4529 "src/parser_proc.c" /* glr.c:816 */
4529 break;
4530
4531 case 324:
4532 #line 616 "src/parser_proc_grammar.y" /* glr.c:816 */
4533 {
4534 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4535 (*(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)));
4536 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4537 }
4538 #line 4539 "src/parser_proc.c" /* glr.c:816 */
4539 break;
4540
4541 case 325:
4542 #line 621 "src/parser_proc_grammar.y" /* glr.c:816 */
4543 {
4544 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_token_free);
4545 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4546 (*(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);
4547 (*(struct psi_cpp_macro_decl **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4548 }
4549 #line 4550 "src/parser_proc.c" /* glr.c:816 */
4550 break;
4551
4552 case 326:
4553 #line 630 "src/parser_proc_grammar.y" /* glr.c:816 */
4554 {
4555 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL);
4556 }
4557 #line 4558 "src/parser_proc.c" /* glr.c:816 */
4558 break;
4559
4560 case 327:
4561 #line 633 "src/parser_proc_grammar.y" /* glr.c:816 */
4562 {
4563 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_init(NULL); /* FIXME */
4564 }
4565 #line 4566 "src/parser_proc.c" /* glr.c:816 */
4566 break;
4567
4568 case 329:
4569 #line 637 "src/parser_proc_grammar.y" /* glr.c:816 */
4570 {
4571 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4572 }
4573 #line 4574 "src/parser_proc.c" /* glr.c:816 */
4574 break;
4575
4576 case 330:
4577 #line 643 "src/parser_proc_grammar.y" /* glr.c:816 */
4578 {
4579 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4580 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4581 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_token_free), &(*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4582 }
4583 #line 4584 "src/parser_proc.c" /* glr.c:816 */
4584 break;
4585
4586 case 331:
4587 #line 648 "src/parser_proc_grammar.y" /* glr.c:816 */
4588 {
4589 (*(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)));
4590 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4591 (*(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)));
4592 }
4593 #line 4594 "src/parser_proc.c" /* glr.c:816 */
4594 break;
4595
4596 case 332:
4597 #line 656 "src/parser_proc_grammar.y" /* glr.c:816 */
4598 {
4599 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4600 }
4601 #line 4602 "src/parser_proc.c" /* glr.c:816 */
4602 break;
4603
4604 case 334:
4605 #line 663 "src/parser_proc_grammar.y" /* glr.c:816 */
4606 {
4607 (*(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)));
4608 (*(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)));
4609 }
4610 #line 4611 "src/parser_proc.c" /* glr.c:816 */
4611 break;
4612
4613 case 335:
4614 #line 667 "src/parser_proc_grammar.y" /* glr.c:816 */
4615 {
4616 (*(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)));
4617 (*(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)));
4618 }
4619 #line 4620 "src/parser_proc.c" /* glr.c:816 */
4620 break;
4621
4622 case 336:
4623 #line 674 "src/parser_proc_grammar.y" /* glr.c:816 */
4624 {
4625 (*(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)));
4626 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4627 }
4628 #line 4629 "src/parser_proc.c" /* glr.c:816 */
4629 break;
4630
4631 case 337:
4632 #line 678 "src/parser_proc_grammar.y" /* glr.c:816 */
4633 {
4634 (*(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)));
4635 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4636 }
4637 #line 4638 "src/parser_proc.c" /* glr.c:816 */
4638 break;
4639
4640 case 338:
4641 #line 682 "src/parser_proc_grammar.y" /* glr.c:816 */
4642 {
4643 (*(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)));
4644 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4645 }
4646 #line 4647 "src/parser_proc.c" /* glr.c:816 */
4647 break;
4648
4649 case 339:
4650 #line 686 "src/parser_proc_grammar.y" /* glr.c:816 */
4651 {
4652 (*(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)));
4653 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4654 }
4655 #line 4656 "src/parser_proc.c" /* glr.c:816 */
4656 break;
4657
4658 case 340:
4659 #line 691 "src/parser_proc_grammar.y" /* glr.c:816 */
4660 {
4661 {
4662 uint8_t exists;
4663
4664 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4665 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4666 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4667 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4668 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4669 }
4670 }
4671 #line 4672 "src/parser_proc.c" /* glr.c:816 */
4672 break;
4673
4674 case 341:
4675 #line 702 "src/parser_proc_grammar.y" /* glr.c:816 */
4676 {
4677 {
4678 uint8_t exists;
4679
4680 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4681 exists = psi_cpp_defined(P->preproc, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4682 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_UINT8, &exists, 0));
4683 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4684 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4685 }
4686 }
4687 #line 4688 "src/parser_proc.c" /* glr.c:816 */
4688 break;
4689
4690 case 342:
4691 #line 713 "src/parser_proc_grammar.y" /* glr.c:816 */
4692 {
4693 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->flags));
4694 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4695 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4696 }
4697 #line 4698 "src/parser_proc.c" /* glr.c:816 */
4698 break;
4699
4700 case 343:
4701 #line 718 "src/parser_proc_grammar.y" /* glr.c:816 */
4702 {
4703 (*(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));
4704 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4705 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4706 }
4707 #line 4708 "src/parser_proc.c" /* glr.c:816 */
4708 break;
4709
4710 case 344:
4711 #line 723 "src/parser_proc_grammar.y" /* glr.c:816 */
4712 {
4713 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4714 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4715 }
4716 #line 4717 "src/parser_proc.c" /* glr.c:816 */
4717 break;
4718
4719 case 345:
4720 #line 727 "src/parser_proc_grammar.y" /* glr.c:816 */
4721 {
4722 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4723 (*(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));
4724 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4725 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4726 }
4727 #line 4728 "src/parser_proc.c" /* glr.c:816 */
4728 break;
4729
4730 case 346:
4731 #line 733 "src/parser_proc_grammar.y" /* glr.c:816 */
4732 {
4733 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4734 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num(psi_number_init(PSI_T_FUNCTION,
4735 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));
4736 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4737 (*(struct psi_num_exp **)(&(*yyvalp)))->data.n->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4738 }
4739 #line 4740 "src/parser_proc.c" /* glr.c:816 */
4740 break;
4741
4742 case 347:
4743 #line 743 "src/parser_proc_grammar.y" /* glr.c:816 */
4744 {
4745 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
4746 }
4747 #line 4748 "src/parser_proc.c" /* glr.c:816 */
4748 break;
4749
4750 case 349:
4751 #line 750 "src/parser_proc_grammar.y" /* glr.c:816 */
4752 {
4753 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_num_exp_free),
4754 &(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4755 }
4756 #line 4757 "src/parser_proc.c" /* glr.c:816 */
4757 break;
4758
4759 case 350:
4760 #line 754 "src/parser_proc_grammar.y" /* glr.c:816 */
4761 {
4762 (*(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)));
4763 }
4764 #line 4765 "src/parser_proc.c" /* glr.c:816 */
4765 break;
4766
4767 case 351:
4768 #line 760 "src/parser_proc_grammar.y" /* glr.c:816 */
4769 {
4770 (*(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)));
4771 (*(struct psi_const **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4772 }
4773 #line 4774 "src/parser_proc.c" /* glr.c:816 */
4774 break;
4775
4776 case 352:
4777 #line 767 "src/parser_proc_grammar.y" /* glr.c:816 */
4778 {
4779 (*(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);
4780 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4781 }
4782 #line 4783 "src/parser_proc.c" /* glr.c:816 */
4783 break;
4784
4785 case 353:
4786 #line 771 "src/parser_proc_grammar.y" /* glr.c:816 */
4787 {
4788 (*(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)));
4789 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4790 }
4791 #line 4792 "src/parser_proc.c" /* glr.c:816 */
4792 break;
4793
4794 case 354:
4795 #line 775 "src/parser_proc_grammar.y" /* glr.c:816 */
4796 {
4797 (*(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);
4798 (*(struct psi_impl_def_val **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4799 }
4800 #line 4801 "src/parser_proc.c" /* glr.c:816 */
4801 break;
4802
4803 case 358:
4804 #line 788 "src/parser_proc_grammar.y" /* glr.c:816 */
4805 {
4806 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4807 }
4808 #line 4809 "src/parser_proc.c" /* glr.c:816 */
4809 break;
4810
4811 case 359:
4812 #line 802 "src/parser_proc_grammar.y" /* glr.c:816 */
4813 {
4814 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4815 }
4816 #line 4817 "src/parser_proc.c" /* glr.c:816 */
4817 break;
4818
4819 case 360:
4820 #line 808 "src/parser_proc_grammar.y" /* glr.c:816 */
4821 {
4822 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4823 }
4824 #line 4825 "src/parser_proc.c" /* glr.c:816 */
4825 break;
4826
4827 case 361:
4828 #line 811 "src/parser_proc_grammar.y" /* glr.c:816 */
4829 {
4830 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4831 }
4832 #line 4833 "src/parser_proc.c" /* glr.c:816 */
4833 break;
4834
4835 case 362:
4836 #line 817 "src/parser_proc_grammar.y" /* glr.c:816 */
4837 {
4838 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4839 }
4840 #line 4841 "src/parser_proc.c" /* glr.c:816 */
4841 break;
4842
4843 case 363:
4844 #line 820 "src/parser_proc_grammar.y" /* glr.c:816 */
4845 {
4846 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4847 }
4848 #line 4849 "src/parser_proc.c" /* glr.c:816 */
4849 break;
4850
4851 case 365:
4852 #line 827 "src/parser_proc_grammar.y" /* glr.c:816 */
4853 {
4854 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4855 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
4856 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
4857 );
4858 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
4859 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4860 }
4861 #line 4862 "src/parser_proc.c" /* glr.c:816 */
4862 break;
4863
4864 case 366:
4865 #line 835 "src/parser_proc_grammar.y" /* glr.c:816 */
4866 {
4867 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4868 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4869 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->name),
4870 psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, 0, 0)
4871 );
4872 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4873 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->token);
4874 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4875 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
4876 }
4877 #line 4878 "src/parser_proc.c" /* glr.c:816 */
4878 break;
4879
4880 case 367:
4881 #line 846 "src/parser_proc_grammar.y" /* glr.c:816 */
4882 {
4883 (*(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)));
4884 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4885 (*(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)));
4886 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4887 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4888 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4889 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4890 }
4891 #line 4892 "src/parser_proc.c" /* glr.c:816 */
4892 break;
4893
4894 case 368:
4895 #line 855 "src/parser_proc_grammar.y" /* glr.c:816 */
4896 {
4897 (*(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)));
4898 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
4899 (*(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)));
4900 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
4901 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).pos;
4902 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)).len;
4903 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4904 }
4905 #line 4906 "src/parser_proc.c" /* glr.c:816 */
4906 break;
4907
4908 case 370:
4909 #line 868 "src/parser_proc_grammar.y" /* glr.c:816 */
4910 {
4911 (*(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));
4912 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4913 }
4914 #line 4915 "src/parser_proc.c" /* glr.c:816 */
4915 break;
4916
4917 case 371:
4918 #line 872 "src/parser_proc_grammar.y" /* glr.c:816 */
4919 {
4920 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
4921 psi_decl_type_init(PSI_T_ENUM, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->name),
4922 psi_decl_var_init(NULL, 0, 0)
4923 );
4924 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4925 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
4926 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.enm = (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4927 psi_parser_proc_add_enum(P, (*(struct psi_decl_enum **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4928 }
4929 #line 4930 "src/parser_proc.c" /* glr.c:816 */
4930 break;
4931
4932 case 372:
4933 #line 882 "src/parser_proc_grammar.y" /* glr.c:816 */
4934 {
4935 (*(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));
4936 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4937 (*(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)));
4938 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4939 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4940 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4941 psi_parser_proc_add_struct(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.strct);
4942 }
4943 #line 4944 "src/parser_proc.c" /* glr.c:816 */
4944 break;
4945
4946 case 373:
4947 #line 891 "src/parser_proc_grammar.y" /* glr.c:816 */
4948 {
4949 (*(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));
4950 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
4951 (*(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)));
4952 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
4953 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
4954 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
4955 psi_parser_proc_add_union(P, (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.unn);
4956 }
4957 #line 4958 "src/parser_proc.c" /* glr.c:816 */
4958 break;
4959
4960 case 375:
4961 #line 904 "src/parser_proc_grammar.y" /* glr.c:816 */
4962 {
4963 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4964 }
4965 #line 4966 "src/parser_proc.c" /* glr.c:816 */
4966 break;
4967
4968 case 376:
4969 #line 907 "src/parser_proc_grammar.y" /* glr.c:816 */
4970 {
4971 (*(struct psi_decl_type **)(&(*yyvalp))) = (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
4972 }
4973 #line 4974 "src/parser_proc.c" /* glr.c:816 */
4974 break;
4975
4976 case 379:
4977 #line 918 "src/parser_proc_grammar.y" /* glr.c:816 */
4978 {
4979 (*(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);
4980 (*(struct psi_decl_type **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
4981 }
4982 #line 4983 "src/parser_proc.c" /* glr.c:816 */
4983 break;
4984
4985 case 381:
4986 #line 926 "src/parser_proc_grammar.y" /* glr.c:816 */
4987 {
4988 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4989 (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
4990 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
4991 }
4992 #line 4993 "src/parser_proc.c" /* glr.c:816 */
4993 break;
4994
4995 case 382:
4996 #line 931 "src/parser_proc_grammar.y" /* glr.c:816 */
4997 {
4998 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
4999 (*(struct psi_decl_type **)(&(*yyvalp))) = psi_decl_type_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type, (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text);
5000 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5001 }
5002 #line 5003 "src/parser_proc.c" /* glr.c:816 */
5003 break;
5004
5005 case 383:
5006 #line 936 "src/parser_proc_grammar.y" /* glr.c:816 */
5007 {
5008 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5009 (*(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);
5010 (*(struct psi_decl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5011 }
5012 #line 5013 "src/parser_proc.c" /* glr.c:816 */
5013 break;
5014
5015 case 386:
5016 #line 946 "src/parser_proc_grammar.y" /* glr.c:816 */
5017 {
5018 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5019 }
5020 #line 5021 "src/parser_proc.c" /* glr.c:816 */
5021 break;
5022
5023 case 387:
5024 #line 949 "src/parser_proc_grammar.y" /* glr.c:816 */
5025 {
5026 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5027 }
5028 #line 5029 "src/parser_proc.c" /* glr.c:816 */
5029 break;
5030
5031 case 388:
5032 #line 955 "src/parser_proc_grammar.y" /* glr.c:816 */
5033 {
5034 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5035 }
5036 #line 5037 "src/parser_proc.c" /* glr.c:816 */
5037 break;
5038
5039 case 389:
5040 #line 958 "src/parser_proc_grammar.y" /* glr.c:816 */
5041 {
5042 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5043 }
5044 #line 5045 "src/parser_proc.c" /* glr.c:816 */
5045 break;
5046
5047 case 390:
5048 #line 961 "src/parser_proc_grammar.y" /* glr.c:816 */
5049 {
5050 (*(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)));
5051 }
5052 #line 5053 "src/parser_proc.c" /* glr.c:816 */
5053 break;
5054
5055 case 393:
5056 #line 972 "src/parser_proc_grammar.y" /* glr.c:816 */
5057 {
5058 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5059 }
5060 #line 5061 "src/parser_proc.c" /* glr.c:816 */
5061 break;
5062
5063 case 394:
5064 #line 975 "src/parser_proc_grammar.y" /* glr.c:816 */
5065 {
5066 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5067 }
5068 #line 5069 "src/parser_proc.c" /* glr.c:816 */
5069 break;
5070
5071 case 395:
5072 #line 978 "src/parser_proc_grammar.y" /* glr.c:816 */
5073 {
5074 (*(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)));
5075 }
5076 #line 5077 "src/parser_proc.c" /* glr.c:816 */
5077 break;
5078
5079 case 396:
5080 #line 984 "src/parser_proc_grammar.y" /* glr.c:816 */
5081 {
5082 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5083 }
5084 #line 5085 "src/parser_proc.c" /* glr.c:816 */
5085 break;
5086
5087 case 397:
5088 #line 987 "src/parser_proc_grammar.y" /* glr.c:816 */
5089 {
5090 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5091 }
5092 #line 5093 "src/parser_proc.c" /* glr.c:816 */
5093 break;
5094
5095 case 398:
5096 #line 990 "src/parser_proc_grammar.y" /* glr.c:816 */
5097 {
5098 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5099 (*(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)));
5100 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5101 } else {
5102 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5103 }
5104 }
5105 #line 5106 "src/parser_proc.c" /* glr.c:816 */
5106 break;
5107
5108 case 399:
5109 #line 998 "src/parser_proc_grammar.y" /* glr.c:816 */
5110 {
5111 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5112 (*(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)));
5113 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5114 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5115 } else {
5116 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5117 }
5118 }
5119 #line 5120 "src/parser_proc.c" /* glr.c:816 */
5120 break;
5121
5122 case 400:
5123 #line 1010 "src/parser_proc_grammar.y" /* glr.c:816 */
5124 {
5125 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5126 }
5127 #line 5128 "src/parser_proc.c" /* glr.c:816 */
5128 break;
5129
5130 case 401:
5131 #line 1013 "src/parser_proc_grammar.y" /* glr.c:816 */
5132 {
5133 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5134 }
5135 #line 5136 "src/parser_proc.c" /* glr.c:816 */
5136 break;
5137
5138 case 402:
5139 #line 1016 "src/parser_proc_grammar.y" /* glr.c:816 */
5140 {
5141 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5142 }
5143 #line 5144 "src/parser_proc.c" /* glr.c:816 */
5144 break;
5145
5146 case 403:
5147 #line 1019 "src/parser_proc_grammar.y" /* glr.c:816 */
5148 {
5149 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5150 (*(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)));
5151 } else {
5152 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5153 }
5154 }
5155 #line 5156 "src/parser_proc.c" /* glr.c:816 */
5156 break;
5157
5158 case 404:
5159 #line 1026 "src/parser_proc_grammar.y" /* glr.c:816 */
5160 {
5161 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5162 }
5163 #line 5164 "src/parser_proc.c" /* glr.c:816 */
5164 break;
5165
5166 case 405:
5167 #line 1029 "src/parser_proc_grammar.y" /* glr.c:816 */
5168 {
5169 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5170 (*(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)));
5171 } else {
5172 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5173 }
5174 }
5175 #line 5176 "src/parser_proc.c" /* glr.c:816 */
5176 break;
5177
5178 case 406:
5179 #line 1039 "src/parser_proc_grammar.y" /* glr.c:816 */
5180 {
5181 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5182 }
5183 #line 5184 "src/parser_proc.c" /* glr.c:816 */
5184 break;
5185
5186 case 408:
5187 #line 1045 "src/parser_proc_grammar.y" /* glr.c:816 */
5188 {
5189 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5190 }
5191 #line 5192 "src/parser_proc.c" /* glr.c:816 */
5192 break;
5193
5194 case 412:
5195 #line 1054 "src/parser_proc_grammar.y" /* glr.c:816 */
5196 {
5197 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5198 }
5199 #line 5200 "src/parser_proc.c" /* glr.c:816 */
5200 break;
5201
5202 case 413:
5203 #line 1057 "src/parser_proc_grammar.y" /* glr.c:816 */
5204 {
5205 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5206 }
5207 #line 5208 "src/parser_proc.c" /* glr.c:816 */
5208 break;
5209
5210 case 414:
5211 #line 1060 "src/parser_proc_grammar.y" /* glr.c:816 */
5212 {
5213 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5214 (*(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)));
5215 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5216 } else {
5217 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5218 }
5219 }
5220 #line 5221 "src/parser_proc.c" /* glr.c:816 */
5221 break;
5222
5223 case 415:
5224 #line 1071 "src/parser_proc_grammar.y" /* glr.c:816 */
5225 {
5226 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5227 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5228 (*(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);
5229 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5230 }
5231 }
5232 #line 5233 "src/parser_proc.c" /* glr.c:816 */
5233 break;
5234
5235 case 416:
5236 #line 1078 "src/parser_proc_grammar.y" /* glr.c:816 */
5237 {
5238 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5239 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5240 (*(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);
5241 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5242 }
5243 }
5244 #line 5245 "src/parser_proc.c" /* glr.c:816 */
5245 break;
5246
5247 case 417:
5248 #line 1088 "src/parser_proc_grammar.y" /* glr.c:816 */
5249 {
5250 (*(struct psi_token **)(&(*yyvalp))) = NULL;
5251 }
5252 #line 5253 "src/parser_proc.c" /* glr.c:816 */
5253 break;
5254
5255 case 418:
5256 #line 1091 "src/parser_proc_grammar.y" /* glr.c:816 */
5257 {
5258 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5259 }
5260 #line 5261 "src/parser_proc.c" /* glr.c:816 */
5261 break;
5262
5263 case 419:
5264 #line 1097 "src/parser_proc_grammar.y" /* glr.c:816 */
5265 {
5266 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5267 }
5268 #line 5269 "src/parser_proc.c" /* glr.c:816 */
5269 break;
5270
5271 case 420:
5272 #line 1100 "src/parser_proc_grammar.y" /* glr.c:816 */
5273 {
5274 (*(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)));
5275 free((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5276 }
5277 #line 5278 "src/parser_proc.c" /* glr.c:816 */
5278 break;
5279
5280 case 421:
5281 #line 1107 "src/parser_proc_grammar.y" /* glr.c:816 */
5282 {
5283 struct psi_plist *list = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
5284
5285 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5286 size_t i = 0;
5287 struct psi_decl_var *var;
5288
5289 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &var)) {
5290 if (psi_decl_extvar_is_blacklisted(var->name)) {
5291 psi_decl_var_free(&var);
5292 } else {
5293 list = psi_plist_add(list, psi_decl_extvar_init(
5294 psi_decl_arg_init(psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type), var)));
5295 }
5296 }
5297 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5298 }
5299
5300 if (psi_decl_extvar_is_blacklisted((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->var->name)) {
5301 psi_decl_arg_free(&(*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5302 } else {
5303 struct psi_decl_extvar *evar = psi_decl_extvar_init((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5304 list = psi_plist_add(list, &evar);
5305 }
5306
5307 (*(struct psi_plist **)(&(*yyvalp))) = list;
5308 }
5309 #line 5310 "src/parser_proc.c" /* glr.c:816 */
5310 break;
5311
5312 case 422:
5313 #line 1137 "src/parser_proc_grammar.y" /* glr.c:816 */
5314 {
5315 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5316 }
5317 #line 5318 "src/parser_proc.c" /* glr.c:816 */
5318 break;
5319
5320 case 423:
5321 #line 1140 "src/parser_proc_grammar.y" /* glr.c:816 */
5322 {
5323 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5324 }
5325 #line 5326 "src/parser_proc.c" /* glr.c:816 */
5326 break;
5327
5328 case 424:
5329 #line 1146 "src/parser_proc_grammar.y" /* glr.c:816 */
5330 {
5331 (*(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)));
5332 }
5333 #line 5334 "src/parser_proc.c" /* glr.c:816 */
5334 break;
5335
5336 case 425:
5337 #line 1149 "src/parser_proc_grammar.y" /* glr.c:816 */
5338 {
5339 (*(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)));
5340 }
5341 #line 5342 "src/parser_proc.c" /* glr.c:816 */
5342 break;
5343
5344 case 426:
5345 #line 1155 "src/parser_proc_grammar.y" /* glr.c:816 */
5346 {
5347 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5348 }
5349 #line 5350 "src/parser_proc.c" /* glr.c:816 */
5350 break;
5351
5352 case 427:
5353 #line 1158 "src/parser_proc_grammar.y" /* glr.c:816 */
5354 {
5355 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5356 }
5357 #line 5358 "src/parser_proc.c" /* glr.c:816 */
5358 break;
5359
5360 case 428:
5361 #line 1161 "src/parser_proc_grammar.y" /* glr.c:816 */
5362 {
5363 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5364 }
5365 #line 5366 "src/parser_proc.c" /* glr.c:816 */
5366 break;
5367
5368 case 429:
5369 #line 1164 "src/parser_proc_grammar.y" /* glr.c:816 */
5370 {
5371 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5372 }
5373 #line 5374 "src/parser_proc.c" /* glr.c:816 */
5374 break;
5375
5376 case 436:
5377 #line 1185 "src/parser_proc_grammar.y" /* glr.c:816 */
5378 {
5379 (*(struct psi_decl **)(&(*yyvalp))) = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5380 (*(struct psi_decl **)(&(*yyvalp)))->abi = psi_decl_abi_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
5381 }
5382 #line 5383 "src/parser_proc.c" /* glr.c:816 */
5383 break;
5384
5385 case 439:
5386 #line 1197 "src/parser_proc_grammar.y" /* glr.c:816 */
5387 {
5388 (*(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)));
5389 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5390 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5391 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5392 }
5393 }
5394 #line 5395 "src/parser_proc.c" /* glr.c:816 */
5395 break;
5396
5397 case 440:
5398 #line 1204 "src/parser_proc_grammar.y" /* glr.c:816 */
5399 {
5400 (*(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)));
5401 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5402 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5403 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5404 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5405 }
5406 }
5407 #line 5408 "src/parser_proc.c" /* glr.c:816 */
5408 break;
5409
5410 case 441:
5411 #line 1215 "src/parser_proc_grammar.y" /* glr.c:816 */
5412 {
5413 (*(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)));
5414 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5415 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5416 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5417 }
5418 }
5419 #line 5420 "src/parser_proc.c" /* glr.c:816 */
5420 break;
5421
5422 case 442:
5423 #line 1222 "src/parser_proc_grammar.y" /* glr.c:816 */
5424 {
5425 (*(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)));
5426 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
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 443:
5436 #line 1230 "src/parser_proc_grammar.y" /* glr.c:816 */
5437 {
5438 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval));
5439 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5440
5441 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval))), 1, "rval");
5442 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));
5443 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5444
5445 rval_func->var->token = psi_token_copy(type_token);
5446 rval_func->token = psi_token_copy(type_token);
5447 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5448 rval_func->var->pointer_level += 1;
5449 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5450 }
5451
5452 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5453 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));
5454
5455 type->real.func = rval_decl;
5456 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5457 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-8)].yystate.yysemantics.yysval)));
5458
5459 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5460 }
5461 #line 5462 "src/parser_proc.c" /* glr.c:816 */
5462 break;
5463
5464 case 444:
5465 #line 1254 "src/parser_proc_grammar.y" /* glr.c:816 */
5466 {
5467 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-12)].yystate.yysemantics.yysval));
5468 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval));
5469 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5470
5471 struct psi_token *type_token = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))), 1, "rval");
5472 struct psi_decl_arg *rval_func = psi_decl_arg_init((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-15)].yystate.yysemantics.yysval)), psi_decl_var_init(type_token->text, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-14)].yystate.yysemantics.yysval)), 0));
5473 struct psi_decl *rval_decl = psi_decl_init(rval_func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5474
5475 rval_func->var->token = psi_token_copy(type_token);
5476 rval_func->token = psi_token_copy(type_token);
5477 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5478 rval_func->var->pointer_level += 1;
5479 rval_func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5480 }
5481
5482 struct psi_decl_type *type = psi_decl_type_init(PSI_T_FUNCTION, type_token->text);
5483 struct psi_decl_arg *func = psi_decl_arg_init(type, psi_decl_var_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval))->text, 1, 0));
5484
5485 type->real.func = rval_decl;
5486 func->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5487 func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-9)].yystate.yysemantics.yysval)));
5488
5489 (*(struct psi_decl **)(&(*yyvalp))) = psi_decl_init(func, (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
5490 }
5491 #line 5492 "src/parser_proc.c" /* glr.c:816 */
5492 break;
5493
5494 case 445:
5495 #line 1282 "src/parser_proc_grammar.y" /* glr.c:816 */
5496 {
5497 (*(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)));
5498 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5499 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5500 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5501 }
5502 }
5503 #line 5504 "src/parser_proc.c" /* glr.c:816 */
5504 break;
5505
5506 case 446:
5507 #line 1289 "src/parser_proc_grammar.y" /* glr.c:816 */
5508 {
5509 (*(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)));
5510 (*(struct psi_decl **)(&(*yyvalp)))->varargs = 1;
5511 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5512 (*(struct psi_decl **)(&(*yyvalp)))->func->var->pointer_level += 1;
5513 (*(struct psi_decl **)(&(*yyvalp)))->func->var->array_size = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5514 }
5515 }
5516 #line 5517 "src/parser_proc.c" /* glr.c:816 */
5517 break;
5518
5519 case 447:
5520 #line 1300 "src/parser_proc_grammar.y" /* glr.c:816 */
5521 {
5522 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5523 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5524 (*(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));
5525 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5526 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5527 }
5528 #line 5529 "src/parser_proc.c" /* glr.c:816 */
5529 break;
5530
5531 case 448:
5532 #line 1346 "src/parser_proc_grammar.y" /* glr.c:816 */
5533 {
5534 (void) (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5535 (*(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));
5536 (*(struct psi_decl_arg **)(&(*yyvalp)))->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5537 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5538 }
5539 #line 5540 "src/parser_proc.c" /* glr.c:816 */
5540 break;
5541
5542 case 450:
5543 #line 1402 "src/parser_proc_grammar.y" /* glr.c:816 */
5544 {
5545 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5546 }
5547 #line 5548 "src/parser_proc.c" /* glr.c:816 */
5548 break;
5549
5550 case 451:
5551 #line 1405 "src/parser_proc_grammar.y" /* glr.c:816 */
5552 {
5553 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5554 }
5555 #line 5556 "src/parser_proc.c" /* glr.c:816 */
5556 break;
5557
5558 case 452:
5559 #line 1408 "src/parser_proc_grammar.y" /* glr.c:816 */
5560 {
5561 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5562 }
5563 #line 5564 "src/parser_proc.c" /* glr.c:816 */
5564 break;
5565
5566 case 453:
5567 #line 1414 "src/parser_proc_grammar.y" /* glr.c:816 */
5568 {
5569 (*(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)));
5570 }
5571 #line 5572 "src/parser_proc.c" /* glr.c:816 */
5572 break;
5573
5574 case 454:
5575 #line 1417 "src/parser_proc_grammar.y" /* glr.c:816 */
5576 {
5577 (*(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)));
5578 }
5579 #line 5580 "src/parser_proc.c" /* glr.c:816 */
5580 break;
5581
5582 case 455:
5583 #line 1423 "src/parser_proc_grammar.y" /* glr.c:816 */
5584 {
5585 char digest[17];
5586 struct psi_token *name;
5587
5588 psi_token_hash((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func ->token, digest);
5589 name = psi_token_append("@", psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token), 2, "funct", digest);
5590
5591 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5592 psi_decl_type_init(PSI_T_FUNCTION, name->text),
5593 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5594 );
5595 (*(struct psi_decl_arg **)(&(*yyvalp)))->token = name;
5596 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5597 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5598 }
5599 #line 5600 "src/parser_proc.c" /* glr.c:816 */
5600 break;
5601
5602 case 456:
5603 #line 1438 "src/parser_proc_grammar.y" /* glr.c:816 */
5604 {
5605 (*(struct psi_decl_arg **)(&(*yyvalp))) = (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5606 }
5607 #line 5608 "src/parser_proc.c" /* glr.c:816 */
5608 break;
5609
5610 case 457:
5611 #line 1441 "src/parser_proc_grammar.y" /* glr.c:816 */
5612 {
5613 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5614 (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)),
5615 psi_decl_var_init(NULL, (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0)
5616 );
5617 }
5618 #line 5619 "src/parser_proc.c" /* glr.c:816 */
5619 break;
5620
5621 case 458:
5622 #line 1470 "src/parser_proc_grammar.y" /* glr.c:816 */
5623 {
5624 (*(struct psi_decl_arg **)(&(*yyvalp))) = psi_decl_arg_init(
5625 psi_decl_type_init(PSI_T_FUNCTION, (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var->name),
5626 psi_decl_var_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->var)
5627 );
5628 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->token = psi_token_copy((*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->func->token);
5629 (*(struct psi_decl_arg **)(&(*yyvalp)))->type->real.func = (*(struct psi_decl **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5630 }
5631 #line 5632 "src/parser_proc.c" /* glr.c:816 */
5632 break;
5633
5634 case 459:
5635 #line 1478 "src/parser_proc_grammar.y" /* glr.c:816 */
5636 {
5637 (*(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)));
5638 }
5639 #line 5640 "src/parser_proc.c" /* glr.c:816 */
5640 break;
5641
5642 case 460:
5643 #line 1506 "src/parser_proc_grammar.y" /* glr.c:816 */
5644 {
5645 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5646 (*(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)));
5647 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5648 }
5649 #line 5650 "src/parser_proc.c" /* glr.c:816 */
5650 break;
5651
5652 case 461:
5653 #line 1511 "src/parser_proc_grammar.y" /* glr.c:816 */
5654 {
5655 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5656 (*(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)));
5657 (*(struct psi_decl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5658 }
5659 #line 5660 "src/parser_proc.c" /* glr.c:816 */
5660 break;
5661
5662 case 462:
5663 #line 1519 "src/parser_proc_grammar.y" /* glr.c:816 */
5664 {
5665 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5666 (*(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)));
5667 (*(struct psi_decl_union **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5668 (*(struct psi_decl_union **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5669 (*(struct psi_decl_union **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5670 }
5671 #line 5672 "src/parser_proc.c" /* glr.c:816 */
5672 break;
5673
5674 case 463:
5675 #line 1529 "src/parser_proc_grammar.y" /* glr.c:816 */
5676 {
5677 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5678 (*(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)));
5679 (*(struct psi_decl_struct **)(&(*yyvalp)))->align = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).pos;
5680 (*(struct psi_decl_struct **)(&(*yyvalp)))->size = (*(struct psi_layout*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)).len;
5681 (*(struct psi_decl_struct **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5682 }
5683 #line 5684 "src/parser_proc.c" /* glr.c:816 */
5684 break;
5685
5686 case 464:
5687 #line 1539 "src/parser_proc_grammar.y" /* glr.c:816 */
5688 {
5689 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5690 }
5691 #line 5692 "src/parser_proc.c" /* glr.c:816 */
5692 break;
5693
5694 case 466:
5695 #line 1546 "src/parser_proc_grammar.y" /* glr.c:816 */
5696 {
5697 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5698 }
5699 #line 5700 "src/parser_proc.c" /* glr.c:816 */
5700 break;
5701
5702 case 467:
5703 #line 1552 "src/parser_proc_grammar.y" /* glr.c:816 */
5704 {
5705 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5706 (*(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)));
5707 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5708 size_t i = 0;
5709 struct psi_decl_arg *arg;
5710
5711 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5712 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5713 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5714 }
5715 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5716 }
5717 }
5718 #line 5719 "src/parser_proc.c" /* glr.c:816 */
5719 break;
5720
5721 case 468:
5722 #line 1566 "src/parser_proc_grammar.y" /* glr.c:816 */
5723 {
5724 (*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
5725 (*(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)));
5726 if ((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))) {
5727 size_t i = 0;
5728 struct psi_decl_arg *arg;
5729
5730 while (psi_plist_get((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), i++, &arg)) {
5731 arg->type = psi_decl_type_copy((*(struct psi_decl_arg **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type);
5732 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&(*yyvalp))), &arg);
5733 }
5734 free((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5735 }
5736 }
5737 #line 5738 "src/parser_proc.c" /* glr.c:816 */
5738 break;
5739
5740 case 469:
5741 #line 1583 "src/parser_proc_grammar.y" /* glr.c:816 */
5742 {
5743 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
5744 }
5745 #line 5746 "src/parser_proc.c" /* glr.c:816 */
5746 break;
5747
5748 case 470:
5749 #line 1586 "src/parser_proc_grammar.y" /* glr.c:816 */
5750 {
5751 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5752 }
5753 #line 5754 "src/parser_proc.c" /* glr.c:816 */
5754 break;
5755
5756 case 471:
5757 #line 1592 "src/parser_proc_grammar.y" /* glr.c:816 */
5758 {
5759 {
5760 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5761 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5762 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add(psi_plist_init((psi_plist_dtor) psi_decl_arg_free), &arg);
5763 }
5764 }
5765 #line 5766 "src/parser_proc.c" /* glr.c:816 */
5766 break;
5767
5768 case 472:
5769 #line 1599 "src/parser_proc_grammar.y" /* glr.c:816 */
5770 {
5771 {
5772 struct psi_decl_arg *arg = psi_decl_arg_init(NULL, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5773 arg->layout = (*(struct psi_layout **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5774 (*(struct psi_plist **)(&(*yyvalp))) = psi_plist_add((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)), &arg);
5775 }
5776 }
5777 #line 5778 "src/parser_proc.c" /* glr.c:816 */
5778 break;
5779
5780 case 473:
5781 #line 1609 "src/parser_proc_grammar.y" /* glr.c:816 */
5782 {
5783 (*(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)));
5784 (*(struct psi_decl_enum **)(&(*yyvalp)))->token = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval));
5785 }
5786 #line 5787 "src/parser_proc.c" /* glr.c:816 */
5787 break;
5788
5789 case 474:
5790 #line 1616 "src/parser_proc_grammar.y" /* glr.c:816 */
5791 {
5792 (*(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)));
5793 }
5794 #line 5795 "src/parser_proc.c" /* glr.c:816 */
5795 break;
5796
5797 case 475:
5798 #line 1619 "src/parser_proc_grammar.y" /* glr.c:816 */
5799 {
5800 (*(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)));
5801 }
5802 #line 5803 "src/parser_proc.c" /* glr.c:816 */
5803 break;
5804
5805 case 476:
5806 #line 1625 "src/parser_proc_grammar.y" /* glr.c:816 */
5807 {
5808 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5809 (*(struct psi_decl_enum_item **)(&(*yyvalp))) = psi_decl_enum_item_init((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->text, NULL);
5810 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5811 }
5812 #line 5813 "src/parser_proc.c" /* glr.c:816 */
5813 break;
5814
5815 case 477:
5816 #line 1630 "src/parser_proc_grammar.y" /* glr.c:816 */
5817 {
5818 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
5819 (*(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)));
5820 (*(struct psi_decl_enum_item **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5821 }
5822 #line 5823 "src/parser_proc.c" /* glr.c:816 */
5823 break;
5824
5825 case 478:
5826 #line 1638 "src/parser_proc_grammar.y" /* glr.c:816 */
5827 {
5828 (*(struct psi_num_exp **)(&(*yyvalp))) = psi_num_exp_init_num((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5829 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5830 }
5831 #line 5832 "src/parser_proc.c" /* glr.c:816 */
5832 break;
5833
5834 case 479:
5835 #line 1642 "src/parser_proc_grammar.y" /* glr.c:816 */
5836 {
5837 (*(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)));
5838 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval))->token);
5839 }
5840 #line 5841 "src/parser_proc.c" /* glr.c:816 */
5841 break;
5842
5843 case 480:
5844 #line 1646 "src/parser_proc_grammar.y" /* glr.c:816 */
5845 {
5846 (*(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)));
5847 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
5848 }
5849 #line 5850 "src/parser_proc.c" /* glr.c:816 */
5850 break;
5851
5852 case 481:
5853 #line 1650 "src/parser_proc_grammar.y" /* glr.c:816 */
5854 {
5855 (*(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)));
5856 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5857 }
5858 #line 5859 "src/parser_proc.c" /* glr.c:816 */
5859 break;
5860
5861 case 482:
5862 #line 1654 "src/parser_proc_grammar.y" /* glr.c:816 */
5863 {
5864 (*(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)));
5865 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5866 }
5867 #line 5868 "src/parser_proc.c" /* glr.c:816 */
5868 break;
5869
5870 case 483:
5871 #line 1658 "src/parser_proc_grammar.y" /* glr.c:816 */
5872 {
5873 (*(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)));
5874 (*(struct psi_num_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5875 }
5876 #line 5877 "src/parser_proc.c" /* glr.c:816 */
5877 break;
5878
5879 case 484:
5880 #line 1665 "src/parser_proc_grammar.y" /* glr.c:816 */
5881 {
5882 (*(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);
5883 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5884 }
5885 #line 5886 "src/parser_proc.c" /* glr.c:816 */
5886 break;
5887
5888 case 485:
5889 #line 1669 "src/parser_proc_grammar.y" /* glr.c:816 */
5890 {
5891 (*(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);
5892 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5893 }
5894 #line 5895 "src/parser_proc.c" /* glr.c:816 */
5895 break;
5896
5897 case 486:
5898 #line 1673 "src/parser_proc_grammar.y" /* glr.c:816 */
5899 {
5900 (*(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);
5901 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5902 }
5903 #line 5904 "src/parser_proc.c" /* glr.c:816 */
5904 break;
5905
5906 case 487:
5907 #line 1677 "src/parser_proc_grammar.y" /* glr.c:816 */
5908 {
5909 (*(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);
5910 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
5911 }
5912 #line 5913 "src/parser_proc.c" /* glr.c:816 */
5913 break;
5914
5915 case 488:
5916 #line 1681 "src/parser_proc_grammar.y" /* glr.c:816 */
5917 {
5918 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_NAME, (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)), 0);
5919 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
5920 }
5921 #line 5922 "src/parser_proc.c" /* glr.c:816 */
5922 break;
5923
5924 case 489:
5925 #line 1685 "src/parser_proc_grammar.y" /* glr.c:816 */
5926 {
5927 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5928 }
5929 #line 5930 "src/parser_proc.c" /* glr.c:816 */
5930 break;
5931
5932 case 490:
5933 #line 1691 "src/parser_proc_grammar.y" /* glr.c:816 */
5934 {
5935 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
5936 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
5937 }
5938 #line 5939 "src/parser_proc.c" /* glr.c:816 */
5939 break;
5940
5941 case 491:
5942 #line 1695 "src/parser_proc_grammar.y" /* glr.c:816 */
5943 {
5944 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5945 (*(struct psi_number **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5946 }
5947 #line 5948 "src/parser_proc.c" /* glr.c:816 */
5948 break;
5949
5950 case 492:
5951 #line 1702 "src/parser_proc_grammar.y" /* glr.c:816 */
5952 {
5953 (*(struct psi_number **)(&(*yyvalp))) = (*(struct psi_number **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
5954 }
5955 #line 5956 "src/parser_proc.c" /* glr.c:816 */
5956 break;
5957
5958 case 493:
5959 #line 1705 "src/parser_proc_grammar.y" /* glr.c:816 */
5960 {
5961 if ((*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
5962 int8_t sizeof_void_p = sizeof(void *);
5963 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5964 psi_decl_type_free(&(*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
5965 } else {
5966 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_SIZEOF, (*(struct psi_decl_type **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), 0);
5967 }
5968 }
5969 #line 5970 "src/parser_proc.c" /* glr.c:816 */
5970 break;
5971
5972 case 494:
5973 #line 1717 "src/parser_proc_grammar.y" /* glr.c:816 */
5974 {
5975 int8_t sizeof_void_p = sizeof(void *);
5976 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_void_p, 0);
5977 }
5978 #line 5979 "src/parser_proc.c" /* glr.c:816 */
5979 break;
5980
5981 case 495:
5982 #line 1721 "src/parser_proc_grammar.y" /* glr.c:816 */
5983 {
5984 int8_t sizeof_a = sizeof('a');
5985 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_INT8, &sizeof_a, 0);
5986 }
5987 #line 5988 "src/parser_proc.c" /* glr.c:816 */
5988 break;
5989
5990 case 496:
5991 #line 1725 "src/parser_proc_grammar.y" /* glr.c:816 */
5992 {
5993 uint64_t len = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->size + 1;
5994 (*(struct psi_number **)(&(*yyvalp))) = psi_number_init(PSI_T_UINT64, &len, 0);
5995 }
5996 #line 5997 "src/parser_proc.c" /* glr.c:816 */
5997 break;
5998
5999 case 497:
6000 #line 1732 "src/parser_proc_grammar.y" /* glr.c:816 */
6001 {
6002 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6003 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6004 } else {
6005 char digest[17];
6006
6007 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6008 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6009 }
6010 }
6011 #line 6012 "src/parser_proc.c" /* glr.c:816 */
6012 break;
6013
6014 case 498:
6015 #line 1745 "src/parser_proc_grammar.y" /* glr.c:816 */
6016 {
6017 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6018 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6019 } else {
6020 char digest[17];
6021
6022 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6023 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6024 }
6025 }
6026 #line 6027 "src/parser_proc.c" /* glr.c:816 */
6027 break;
6028
6029 case 499:
6030 #line 1758 "src/parser_proc_grammar.y" /* glr.c:816 */
6031 {
6032 if ((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))) {
6033 (*(struct psi_token **)(&(*yyvalp))) = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6034 } else {
6035 char digest[17];
6036
6037 psi_token_hash((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), digest);
6038 (*(struct psi_token **)(&(*yyvalp))) = psi_token_append("@", psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))), 1, digest);
6039 }
6040 }
6041 #line 6042 "src/parser_proc.c" /* glr.c:816 */
6042 break;
6043
6044 case 500:
6045 #line 1771 "src/parser_proc_grammar.y" /* glr.c:816 */
6046 {
6047 (*(struct psi_token **)(&(*yyvalp))) = NULL;
6048 }
6049 #line 6050 "src/parser_proc.c" /* glr.c:816 */
6050 break;
6051
6052 case 501:
6053 #line 1774 "src/parser_proc_grammar.y" /* glr.c:816 */
6054 {
6055 (*(struct psi_token **)(&(*yyvalp))) = (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6056 (*(struct psi_token **)(&(*yyvalp)))->type = PSI_T_NAME;
6057 }
6058 #line 6059 "src/parser_proc.c" /* glr.c:816 */
6059 break;
6060
6061 case 504:
6062 #line 1786 "src/parser_proc_grammar.y" /* glr.c:816 */
6063 {
6064 (*(struct psi_layout **)(&(*yyvalp))) = NULL;
6065 }
6066 #line 6067 "src/parser_proc.c" /* glr.c:816 */
6067 break;
6068
6069 case 505:
6070 #line 1789 "src/parser_proc_grammar.y" /* glr.c:816 */
6071 {
6072 (*(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));
6073 }
6074 #line 6075 "src/parser_proc.c" /* glr.c:816 */
6075 break;
6076
6077 case 506:
6078 #line 1792 "src/parser_proc_grammar.y" /* glr.c:816 */
6079 {
6080 (*(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);
6081 }
6082 #line 6083 "src/parser_proc.c" /* glr.c:816 */
6083 break;
6084
6085 case 507:
6086 #line 1795 "src/parser_proc_grammar.y" /* glr.c:816 */
6087 {
6088 (*(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));
6089 }
6090 #line 6091 "src/parser_proc.c" /* glr.c:816 */
6091 break;
6092
6093 case 508:
6094 #line 1801 "src/parser_proc_grammar.y" /* glr.c:816 */
6095 {
6096 (*(struct psi_layout*)(&(*yyvalp))).pos = 0;
6097 (*(struct psi_layout*)(&(*yyvalp))).len = 0;
6098 }
6099 #line 6100 "src/parser_proc.c" /* glr.c:816 */
6100 break;
6101
6102 case 509:
6103 #line 1805 "src/parser_proc_grammar.y" /* glr.c:816 */
6104 {
6105 (*(struct psi_layout*)(&(*yyvalp))).pos = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->text);
6106 (*(struct psi_layout*)(&(*yyvalp))).len = atol((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval))->text);
6107 }
6108 #line 6109 "src/parser_proc.c" /* glr.c:816 */
6109 break;
6110
6111 case 510:
6112 #line 1812 "src/parser_proc_grammar.y" /* glr.c:816 */
6113 {
6114 (*(size_t*)(&(*yyvalp))) = 0;
6115 }
6116 #line 6117 "src/parser_proc.c" /* glr.c:816 */
6117 break;
6118
6119 case 511:
6120 #line 1815 "src/parser_proc_grammar.y" /* glr.c:816 */
6121 {
6122 (*(size_t*)(&(*yyvalp))) = 0;
6123 }
6124 #line 6125 "src/parser_proc.c" /* glr.c:816 */
6125 break;
6126
6127 case 512:
6128 #line 1818 "src/parser_proc_grammar.y" /* glr.c:816 */
6129 {
6130 struct psi_validate_scope scope = {0};
6131 psi_validate_scope_ctor(&scope);
6132 scope.defs = &P->preproc->defs;
6133 if (psi_num_exp_validate(PSI_DATA(P), (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), &scope)) {
6134 (*(size_t*)(&(*yyvalp))) = psi_num_exp_get_long((*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)), NULL, &P->preproc->defs);
6135 } else {
6136 (*(size_t*)(&(*yyvalp))) = 0;
6137 }
6138 psi_num_exp_free(&(*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6139 psi_validate_scope_dtor(&scope);
6140 }
6141 #line 6142 "src/parser_proc.c" /* glr.c:816 */
6142 break;
6143
6144 case 517:
6145 #line 1840 "src/parser_proc_grammar.y" /* glr.c:816 */
6146 {
6147 (*(size_t*)(&(*yyvalp))) = 0;
6148 }
6149 #line 6150 "src/parser_proc.c" /* glr.c:816 */
6150 break;
6151
6152 case 518:
6153 #line 1843 "src/parser_proc_grammar.y" /* glr.c:816 */
6154 {
6155 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6156 }
6157 #line 6158 "src/parser_proc.c" /* glr.c:816 */
6158 break;
6159
6160 case 520:
6161 #line 1850 "src/parser_proc_grammar.y" /* glr.c:816 */
6162 {
6163 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6164 }
6165 #line 6166 "src/parser_proc.c" /* glr.c:816 */
6166 break;
6167
6168 case 521:
6169 #line 1856 "src/parser_proc_grammar.y" /* glr.c:816 */
6170 {
6171 (*(size_t*)(&(*yyvalp))) = 1;
6172 }
6173 #line 6174 "src/parser_proc.c" /* glr.c:816 */
6174 break;
6175
6176 case 522:
6177 #line 1859 "src/parser_proc_grammar.y" /* glr.c:816 */
6178 {
6179 (*(size_t*)(&(*yyvalp))) = (*(size_t*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)) + 1;
6180 }
6181 #line 6182 "src/parser_proc.c" /* glr.c:816 */
6182 break;
6183
6184 case 527:
6185 #line 1881 "src/parser_proc_grammar.y" /* glr.c:816 */
6186 {
6187 (*(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)));
6188 }
6189 #line 6190 "src/parser_proc.c" /* glr.c:816 */
6190 break;
6191
6192 case 528:
6193 #line 1884 "src/parser_proc_grammar.y" /* glr.c:816 */
6194 {
6195 (*(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)));
6196 (*(struct psi_impl_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->static_memory = 1;
6197 }
6198 #line 6199 "src/parser_proc.c" /* glr.c:816 */
6199 break;
6200
6201 case 529:
6202 #line 1891 "src/parser_proc_grammar.y" /* glr.c:816 */
6203 {
6204 (*(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)));
6205 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6206 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval));
6207 }
6208 #line 6209 "src/parser_proc.c" /* glr.c:816 */
6209 break;
6210
6211 case 530:
6212 #line 1896 "src/parser_proc_grammar.y" /* glr.c:816 */
6213 {
6214 (*(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)));
6215 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6216 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval));
6217 }
6218 #line 6219 "src/parser_proc.c" /* glr.c:816 */
6219 break;
6220
6221 case 531:
6222 #line 1901 "src/parser_proc_grammar.y" /* glr.c:816 */
6223 {
6224 (*(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)));
6225 (*(struct psi_impl_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-10)].yystate.yysemantics.yysval)));
6226 (*(struct psi_impl_func **)(&(*yyvalp)))->return_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval));
6227 (*(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);
6228 (*(struct psi_impl_func **)(&(*yyvalp)))->vararg->var->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6229 }
6230 #line 6231 "src/parser_proc.c" /* glr.c:816 */
6231 break;
6232
6233 case 532:
6234 #line 1911 "src/parser_proc_grammar.y" /* glr.c:816 */
6235 {
6236 (*(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)));
6237 }
6238 #line 6239 "src/parser_proc.c" /* glr.c:816 */
6239 break;
6240
6241 case 533:
6242 #line 1914 "src/parser_proc_grammar.y" /* glr.c:816 */
6243 {
6244 (*(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)));
6245 }
6246 #line 6247 "src/parser_proc.c" /* glr.c:816 */
6247 break;
6248
6249 case 534:
6250 #line 1920 "src/parser_proc_grammar.y" /* glr.c:816 */
6251 {
6252 (*(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);
6253 }
6254 #line 6255 "src/parser_proc.c" /* glr.c:816 */
6255 break;
6256
6257 case 535:
6258 #line 1923 "src/parser_proc_grammar.y" /* glr.c:816 */
6259 {
6260 (*(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)));
6261 }
6262 #line 6263 "src/parser_proc.c" /* glr.c:816 */
6263 break;
6264
6265 case 536:
6266 #line 1929 "src/parser_proc_grammar.y" /* glr.c:816 */
6267 {
6268 (*(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)));
6269 (*(struct psi_impl_var **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6270 }
6271 #line 6272 "src/parser_proc.c" /* glr.c:816 */
6272 break;
6273
6274 case 537:
6275 #line 1936 "src/parser_proc_grammar.y" /* glr.c:816 */
6276 {
6277 (*(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);
6278 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6279 }
6280 #line 6281 "src/parser_proc.c" /* glr.c:816 */
6281 break;
6282
6283 case 538:
6284 #line 1943 "src/parser_proc_grammar.y" /* glr.c:816 */
6285 {
6286 (*(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);
6287 (*(struct psi_impl_type **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6288 }
6289 #line 6290 "src/parser_proc.c" /* glr.c:816 */
6290 break;
6291
6292 case 550:
6293 #line 1970 "src/parser_proc_grammar.y" /* glr.c:816 */
6294 {
6295 (*(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)));
6296 }
6297 #line 6298 "src/parser_proc.c" /* glr.c:816 */
6298 break;
6299
6300 case 551:
6301 #line 1973 "src/parser_proc_grammar.y" /* glr.c:816 */
6302 {
6303 (*(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)));
6304 }
6305 #line 6306 "src/parser_proc.c" /* glr.c:816 */
6306 break;
6307
6308 case 552:
6309 #line 1979 "src/parser_proc_grammar.y" /* glr.c:816 */
6310 {
6311 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_return_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6312 }
6313 #line 6314 "src/parser_proc.c" /* glr.c:816 */
6314 break;
6315
6316 case 553:
6317 #line 1982 "src/parser_proc_grammar.y" /* glr.c:816 */
6318 {
6319 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_let_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6320 }
6321 #line 6322 "src/parser_proc.c" /* glr.c:816 */
6322 break;
6323
6324 case 554:
6325 #line 1985 "src/parser_proc_grammar.y" /* glr.c:816 */
6326 {
6327 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_set_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6328 }
6329 #line 6330 "src/parser_proc.c" /* glr.c:816 */
6330 break;
6331
6332 case 555:
6333 #line 1988 "src/parser_proc_grammar.y" /* glr.c:816 */
6334 {
6335 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_assert_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6336 }
6337 #line 6338 "src/parser_proc.c" /* glr.c:816 */
6338 break;
6339
6340 case 556:
6341 #line 1991 "src/parser_proc_grammar.y" /* glr.c:816 */
6342 {
6343 (*(struct psi_token ***)(&(*yyvalp))) = (struct psi_token **) (*(struct psi_free_stmt **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6344 }
6345 #line 6346 "src/parser_proc.c" /* glr.c:816 */
6346 break;
6347
6348 case 557:
6349 #line 1997 "src/parser_proc_grammar.y" /* glr.c:816 */
6350 {
6351 (*(struct psi_let_stmt **)(&(*yyvalp))) = psi_let_stmt_init((*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6352 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6353 }
6354 #line 6355 "src/parser_proc.c" /* glr.c:816 */
6355 break;
6356
6357 case 558:
6358 #line 2001 "src/parser_proc_grammar.y" /* glr.c:816 */
6359 {
6360 (*(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))));
6361 (*(struct psi_let_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6362 (*(struct psi_let_stmt **)(&(*yyvalp)))->exp->is_reference = (*(bool*)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6363 }
6364 #line 6365 "src/parser_proc.c" /* glr.c:816 */
6365 break;
6366
6367 case 560:
6368 #line 2010 "src/parser_proc_grammar.y" /* glr.c:816 */
6369 {
6370 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6371 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = true;
6372 }
6373 #line 6374 "src/parser_proc.c" /* glr.c:816 */
6374 break;
6375
6376 case 561:
6377 #line 2014 "src/parser_proc_grammar.y" /* glr.c:816 */
6378 {
6379 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6380 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = false;
6381 }
6382 #line 6383 "src/parser_proc.c" /* glr.c:816 */
6383 break;
6384
6385 case 562:
6386 #line 2021 "src/parser_proc_grammar.y" /* glr.c:816 */
6387 {
6388 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_NULL, NULL);
6389 }
6390 #line 6391 "src/parser_proc.c" /* glr.c:816 */
6391 break;
6392
6393 case 563:
6394 #line 2024 "src/parser_proc_grammar.y" /* glr.c:816 */
6395 {
6396 (*(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)));
6397 }
6398 #line 6399 "src/parser_proc.c" /* glr.c:816 */
6399 break;
6400
6401 case 564:
6402 #line 2027 "src/parser_proc_grammar.y" /* glr.c:816 */
6403 {
6404 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6405 }
6406 #line 6407 "src/parser_proc.c" /* glr.c:816 */
6407 break;
6408
6409 case 565:
6410 #line 2030 "src/parser_proc_grammar.y" /* glr.c:816 */
6411 {
6412 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLOC, (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6413 (*(struct psi_let_calloc **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->static_memory = 1;
6414 }
6415 #line 6416 "src/parser_proc.c" /* glr.c:816 */
6416 break;
6417
6418 case 566:
6419 #line 2034 "src/parser_proc_grammar.y" /* glr.c:816 */
6420 {
6421 (*(struct psi_let_exp **)(&(*yyvalp))) = psi_let_exp_init(PSI_LET_CALLBACK, (*(struct psi_let_callback **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6422 }
6423 #line 6424 "src/parser_proc.c" /* glr.c:816 */
6424 break;
6425
6426 case 567:
6427 #line 2037 "src/parser_proc_grammar.y" /* glr.c:816 */
6428 {
6429 (*(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)));
6430 }
6431 #line 6432 "src/parser_proc.c" /* glr.c:816 */
6432 break;
6433
6434 case 568:
6435 #line 2043 "src/parser_proc_grammar.y" /* glr.c:816 */
6436 {
6437 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6438 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6439 }
6440 #line 6441 "src/parser_proc.c" /* glr.c:816 */
6441 break;
6442
6443 case 569:
6444 #line 2047 "src/parser_proc_grammar.y" /* glr.c:816 */
6445 {
6446 (*(struct psi_let_exp **)(&(*yyvalp))) = (*(struct psi_let_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6447 (*(struct psi_let_exp **)(&(*yyvalp)))->is_reference = 1;
6448 (*(struct psi_let_exp **)(&(*yyvalp)))->var = (*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval));
6449 }
6450 #line 6451 "src/parser_proc.c" /* glr.c:816 */
6451 break;
6452
6453 case 570:
6454 #line 2055 "src/parser_proc_grammar.y" /* glr.c:816 */
6455 {
6456 (*(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)));
6457 (*(struct psi_let_calloc **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6458 }
6459 #line 6460 "src/parser_proc.c" /* glr.c:816 */
6460 break;
6461
6462 case 571:
6463 #line 2062 "src/parser_proc_grammar.y" /* glr.c:816 */
6464 {
6465 (*(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);
6466 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6467 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval)));
6468 }
6469 #line 6470 "src/parser_proc.c" /* glr.c:816 */
6470 break;
6471
6472 case 572:
6473 #line 2067 "src/parser_proc_grammar.y" /* glr.c:816 */
6474 {
6475 (*(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)));
6476 (*(struct psi_let_callback **)(&(*yyvalp)))->func->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval)));
6477 (*(struct psi_let_callback **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-11)].yystate.yysemantics.yysval)));
6478 }
6479 #line 6480 "src/parser_proc.c" /* glr.c:816 */
6480 break;
6481
6482 case 573:
6483 #line 2075 "src/parser_proc_grammar.y" /* glr.c:816 */
6484 {
6485 (*(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)));
6486 (*(struct psi_let_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6487 (*(struct psi_let_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6488 }
6489 #line 6490 "src/parser_proc.c" /* glr.c:816 */
6490 break;
6491
6492 case 584:
6493 #line 2096 "src/parser_proc_grammar.y" /* glr.c:816 */
6494 {
6495 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6496 }
6497 #line 6498 "src/parser_proc.c" /* glr.c:816 */
6498 break;
6499
6500 case 585:
6501 #line 2099 "src/parser_proc_grammar.y" /* glr.c:816 */
6502 {
6503 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6504 }
6505 #line 6506 "src/parser_proc.c" /* glr.c:816 */
6506 break;
6507
6508 case 586:
6509 #line 2105 "src/parser_proc_grammar.y" /* glr.c:816 */
6510 {
6511 (*(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)));
6512 }
6513 #line 6514 "src/parser_proc.c" /* glr.c:816 */
6514 break;
6515
6516 case 587:
6517 #line 2108 "src/parser_proc_grammar.y" /* glr.c:816 */
6518 {
6519 (*(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)));
6520 }
6521 #line 6522 "src/parser_proc.c" /* glr.c:816 */
6522 break;
6523
6524 case 590:
6525 #line 2119 "src/parser_proc_grammar.y" /* glr.c:816 */
6526 {
6527 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6528 }
6529 #line 6530 "src/parser_proc.c" /* glr.c:816 */
6530 break;
6531
6532 case 591:
6533 #line 2122 "src/parser_proc_grammar.y" /* glr.c:816 */
6534 {
6535 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6536 }
6537 #line 6538 "src/parser_proc.c" /* glr.c:816 */
6538 break;
6539
6540 case 592:
6541 #line 2128 "src/parser_proc_grammar.y" /* glr.c:816 */
6542 {
6543 (*(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)));
6544 }
6545 #line 6546 "src/parser_proc.c" /* glr.c:816 */
6546 break;
6547
6548 case 593:
6549 #line 2131 "src/parser_proc_grammar.y" /* glr.c:816 */
6550 {
6551 (*(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)));
6552 }
6553 #line 6554 "src/parser_proc.c" /* glr.c:816 */
6554 break;
6555
6556 case 594:
6557 #line 2137 "src/parser_proc_grammar.y" /* glr.c:816 */
6558 {
6559 (*(struct psi_return_stmt **)(&(*yyvalp))) = psi_return_stmt_init((*(struct psi_return_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6560 (*(struct psi_return_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6561 }
6562 #line 6563 "src/parser_proc.c" /* glr.c:816 */
6563 break;
6564
6565 case 595:
6566 #line 2144 "src/parser_proc_grammar.y" /* glr.c:816 */
6567 {
6568 (*(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))));
6569 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_decl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval))->token);
6570 }
6571 #line 6572 "src/parser_proc.c" /* glr.c:816 */
6572 break;
6573
6574 case 596:
6575 #line 2148 "src/parser_proc_grammar.y" /* glr.c:816 */
6576 {
6577 (*(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))));
6578 (*(struct psi_return_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval))->token);
6579 }
6580 #line 6581 "src/parser_proc.c" /* glr.c:816 */
6581 break;
6582
6583 case 597:
6584 #line 2155 "src/parser_proc_grammar.y" /* glr.c:816 */
6585 {
6586 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6587 }
6588 #line 6589 "src/parser_proc.c" /* glr.c:816 */
6589 break;
6590
6591 case 598:
6592 #line 2158 "src/parser_proc_grammar.y" /* glr.c:816 */
6593 {
6594 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6595 }
6596 #line 6597 "src/parser_proc.c" /* glr.c:816 */
6597 break;
6598
6599 case 599:
6600 #line 2161 "src/parser_proc_grammar.y" /* glr.c:816 */
6601 {
6602 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6603 }
6604 #line 6605 "src/parser_proc.c" /* glr.c:816 */
6605 break;
6606
6607 case 600:
6608 #line 2167 "src/parser_proc_grammar.y" /* glr.c:816 */
6609 {
6610 (*(struct psi_set_stmt **)(&(*yyvalp))) = psi_set_stmt_init((*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6611 (*(struct psi_set_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6612 }
6613 #line 6614 "src/parser_proc.c" /* glr.c:816 */
6614 break;
6615
6616 case 601:
6617 #line 2174 "src/parser_proc_grammar.y" /* glr.c:816 */
6618 {
6619 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_FUNC, (*(struct psi_set_func **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6620 }
6621 #line 6622 "src/parser_proc.c" /* glr.c:816 */
6622 break;
6623
6624 case 602:
6625 #line 2177 "src/parser_proc_grammar.y" /* glr.c:816 */
6626 {
6627 (*(struct psi_set_exp **)(&(*yyvalp))) = psi_set_exp_init(PSI_SET_NUMEXP, (*(struct psi_num_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval)));
6628 }
6629 #line 6630 "src/parser_proc.c" /* glr.c:816 */
6630 break;
6631
6632 case 603:
6633 #line 2180 "src/parser_proc_grammar.y" /* glr.c:816 */
6634 {
6635 (*(struct psi_set_exp **)(&(*yyvalp))) = (*(struct psi_set_exp **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6636 (*(struct psi_set_exp **)(&(*yyvalp)))->var = (*(struct psi_impl_var **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval));
6637 }
6638 #line 6639 "src/parser_proc.c" /* glr.c:816 */
6639 break;
6640
6641 case 604:
6642 #line 2187 "src/parser_proc_grammar.y" /* glr.c:816 */
6643 {
6644 (*(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)));
6645 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval)));
6646 (*(struct psi_set_func **)(&(*yyvalp)))->inner = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval));
6647 }
6648 #line 6649 "src/parser_proc.c" /* glr.c:816 */
6649 break;
6650
6651 case 605:
6652 #line 2192 "src/parser_proc_grammar.y" /* glr.c:816 */
6653 {
6654 (*(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)));
6655 (*(struct psi_set_func **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval)));
6656 (*(struct psi_set_func **)(&(*yyvalp)))->recursive = 1;
6657 }
6658 #line 6659 "src/parser_proc.c" /* glr.c:816 */
6659 break;
6660
6661 case 614:
6662 #line 2211 "src/parser_proc_grammar.y" /* glr.c:816 */
6663 {
6664 (*(struct psi_plist **)(&(*yyvalp))) = NULL;
6665 }
6666 #line 6667 "src/parser_proc.c" /* glr.c:816 */
6667 break;
6668
6669 case 615:
6670 #line 2214 "src/parser_proc_grammar.y" /* glr.c:816 */
6671 {
6672 (*(struct psi_plist **)(&(*yyvalp))) = (*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval));
6673 }
6674 #line 6675 "src/parser_proc.c" /* glr.c:816 */
6675 break;
6676
6677 case 616:
6678 #line 2220 "src/parser_proc_grammar.y" /* glr.c:816 */
6679 {
6680 (*(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)));
6681 }
6682 #line 6683 "src/parser_proc.c" /* glr.c:816 */
6683 break;
6684
6685 case 617:
6686 #line 2223 "src/parser_proc_grammar.y" /* glr.c:816 */
6687 {
6688 (*(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)));
6689 }
6690 #line 6691 "src/parser_proc.c" /* glr.c:816 */
6691 break;
6692
6693 case 618:
6694 #line 2229 "src/parser_proc_grammar.y" /* glr.c:816 */
6695 {
6696 (*(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)));
6697 (*(struct psi_assert_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6698 }
6699 #line 6700 "src/parser_proc.c" /* glr.c:816 */
6700 break;
6701
6702 case 621:
6703 #line 2241 "src/parser_proc_grammar.y" /* glr.c:816 */
6704 {
6705 (*(struct psi_free_stmt **)(&(*yyvalp))) = psi_free_stmt_init((*(struct psi_plist **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval)));
6706 (*(struct psi_free_stmt **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval)));
6707 }
6708 #line 6709 "src/parser_proc.c" /* glr.c:816 */
6709 break;
6710
6711 case 622:
6712 #line 2248 "src/parser_proc_grammar.y" /* glr.c:816 */
6713 {
6714 (*(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)));
6715 }
6716 #line 6717 "src/parser_proc.c" /* glr.c:816 */
6717 break;
6718
6719 case 623:
6720 #line 2251 "src/parser_proc_grammar.y" /* glr.c:816 */
6721 {
6722 (*(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)));
6723 }
6724 #line 6725 "src/parser_proc.c" /* glr.c:816 */
6725 break;
6726
6727 case 624:
6728 #line 2257 "src/parser_proc_grammar.y" /* glr.c:816 */
6729 {
6730 (*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval))->type = PSI_T_NAME;
6731 (*(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)));
6732 (*(struct psi_free_exp **)(&(*yyvalp)))->token = psi_token_copy((*(struct psi_token **)(&((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval)));
6733 }
6734 #line 6735 "src/parser_proc.c" /* glr.c:816 */
6735 break;
6736
6737 case 625:
6738 #line 2265 "src/parser_proc_grammar.y" /* glr.c:816 */
6739 {
6740 (*(bool*)(&(*yyvalp))) = false;
6741 }
6742 #line 6743 "src/parser_proc.c" /* glr.c:816 */
6743 break;
6744
6745 case 626:
6746 #line 2268 "src/parser_proc_grammar.y" /* glr.c:816 */
6747 {
6748 (*(bool*)(&(*yyvalp))) = true;
6749 }
6750 #line 6751 "src/parser_proc.c" /* glr.c:816 */
6751 break;
6752
6753
6754 #line 6755 "src/parser_proc.c" /* glr.c:816 */
6755 default: break;
6756 }
6757
6758 return yyok;
6759 # undef yyerrok
6760 # undef YYABORT
6761 # undef YYACCEPT
6762 # undef YYERROR
6763 # undef YYBACKUP
6764 # undef yyclearin
6765 # undef YYRECOVERING
6766 }
6767
6768
6769 static void
6770 yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
6771 {
6772 YYUSE (yy0);
6773 YYUSE (yy1);
6774
6775 switch (yyn)
6776 {
6777
6778 default: break;
6779 }
6780 }
6781
6782 /* Bison grammar-table manipulation. */
6783
6784 /*-----------------------------------------------.
6785 | Release the memory associated to this symbol. |
6786 `-----------------------------------------------*/
6787
6788 static void
6789 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
6790 {
6791 YYUSE (yyvaluep);
6792 YYUSE (P);
6793 YYUSE (tokens);
6794 YYUSE (index);
6795 if (!yymsg)
6796 yymsg = "Deleting";
6797 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
6798
6799 YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
6800 switch (yytype)
6801 {
6802 case 141: /* binary_op_token */
6803 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6804 {}
6805 #line 6806 "src/parser_proc.c" /* glr.c:846 */
6806 break;
6807
6808 case 142: /* unary_op_token */
6809 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6810 {}
6811 #line 6812 "src/parser_proc.c" /* glr.c:846 */
6812 break;
6813
6814 case 143: /* name_token */
6815 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6816 {}
6817 #line 6818 "src/parser_proc.c" /* glr.c:846 */
6818 break;
6819
6820 case 144: /* any_noeol_token */
6821 #line 315 "src/parser_proc_grammar.y" /* glr.c:846 */
6822 {}
6823 #line 6824 "src/parser_proc.c" /* glr.c:846 */
6824 break;
6825
6826 case 149: /* lib */
6827 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
6828 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6829 #line 6830 "src/parser_proc.c" /* glr.c:846 */
6830 break;
6831
6832 case 150: /* cpp */
6833 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6834 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6835 #line 6836 "src/parser_proc.c" /* glr.c:846 */
6836 break;
6837
6838 case 151: /* cpp_exp */
6839 #line 324 "src/parser_proc_grammar.y" /* glr.c:846 */
6840 {psi_cpp_exp_free(&(*(struct psi_cpp_exp **)(&(*yyvaluep))));}
6841 #line 6842 "src/parser_proc.c" /* glr.c:846 */
6842 break;
6843
6844 case 153: /* cpp_message_token */
6845 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6846 {}
6847 #line 6848 "src/parser_proc.c" /* glr.c:846 */
6848 break;
6849
6850 case 154: /* cpp_include_token */
6851 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6852 {}
6853 #line 6854 "src/parser_proc.c" /* glr.c:846 */
6854 break;
6855
6856 case 155: /* cpp_header_token */
6857 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6858 {}
6859 #line 6860 "src/parser_proc.c" /* glr.c:846 */
6860 break;
6861
6862 case 156: /* cpp_no_arg_token */
6863 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6864 {}
6865 #line 6866 "src/parser_proc.c" /* glr.c:846 */
6866 break;
6867
6868 case 157: /* cpp_name_arg_token */
6869 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6870 {}
6871 #line 6872 "src/parser_proc.c" /* glr.c:846 */
6872 break;
6873
6874 case 158: /* cpp_exp_arg_token */
6875 #line 312 "src/parser_proc_grammar.y" /* glr.c:846 */
6876 {}
6877 #line 6878 "src/parser_proc.c" /* glr.c:846 */
6878 break;
6879
6880 case 159: /* cpp_macro_decl */
6881 #line 326 "src/parser_proc_grammar.y" /* glr.c:846 */
6882 {psi_cpp_macro_decl_free(&(*(struct psi_cpp_macro_decl **)(&(*yyvaluep))));}
6883 #line 6884 "src/parser_proc.c" /* glr.c:846 */
6884 break;
6885
6886 case 160: /* cpp_macro_sig */
6887 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6888 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6889 #line 6890 "src/parser_proc.c" /* glr.c:846 */
6890 break;
6891
6892 case 161: /* cpp_macro_sig_args */
6893 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6894 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6895 #line 6896 "src/parser_proc.c" /* glr.c:846 */
6896 break;
6897
6898 case 162: /* cpp_macro_decl_tokens */
6899 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6900 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6901 #line 6902 "src/parser_proc.c" /* glr.c:846 */
6902 break;
6903
6904 case 163: /* cpp_macro_decl_token_list */
6905 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6906 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6907 #line 6908 "src/parser_proc.c" /* glr.c:846 */
6908 break;
6909
6910 case 164: /* cpp_macro_exp */
6911 #line 330 "src/parser_proc_grammar.y" /* glr.c:846 */
6912 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
6913 #line 6914 "src/parser_proc.c" /* glr.c:846 */
6914 break;
6915
6916 case 165: /* cpp_macro_call_args */
6917 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6918 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6919 #line 6920 "src/parser_proc.c" /* glr.c:846 */
6920 break;
6921
6922 case 166: /* cpp_macro_call_arg_list */
6923 #line 328 "src/parser_proc_grammar.y" /* glr.c:846 */
6924 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
6925 #line 6926 "src/parser_proc.c" /* glr.c:846 */
6926 break;
6927
6928 case 167: /* constant */
6929 #line 336 "src/parser_proc_grammar.y" /* glr.c:846 */
6930 {psi_const_free(&(*(struct psi_const **)(&(*yyvaluep))));}
6931 #line 6932 "src/parser_proc.c" /* glr.c:846 */
6932 break;
6933
6934 case 168: /* impl_def_val */
6935 #line 338 "src/parser_proc_grammar.y" /* glr.c:846 */
6936 {psi_impl_def_val_free(&(*(struct psi_impl_def_val **)(&(*yyvaluep))));}
6937 #line 6938 "src/parser_proc.c" /* glr.c:846 */
6938 break;
6939
6940 case 169: /* impl_def_val_token */
6941 #line 333 "src/parser_proc_grammar.y" /* glr.c:846 */
6942 {}
6943 #line 6944 "src/parser_proc.c" /* glr.c:846 */
6944 break;
6945
6946 case 170: /* decl_typedef */
6947 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6948 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6949 #line 6950 "src/parser_proc.c" /* glr.c:846 */
6950 break;
6951
6952 case 171: /* typedef */
6953 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6954 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6955 #line 6956 "src/parser_proc.c" /* glr.c:846 */
6956 break;
6957
6958 case 172: /* typedef_anon */
6959 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6960 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6961 #line 6962 "src/parser_proc.c" /* glr.c:846 */
6962 break;
6963
6964 case 173: /* typedef_decl */
6965 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6966 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6967 #line 6968 "src/parser_proc.c" /* glr.c:846 */
6968 break;
6969
6970 case 174: /* typedef_anon_decl */
6971 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
6972 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
6973 #line 6974 "src/parser_proc.c" /* glr.c:846 */
6974 break;
6975
6976 case 175: /* qualified_decl_type */
6977 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6978 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6979 #line 6980 "src/parser_proc.c" /* glr.c:846 */
6980 break;
6981
6982 case 177: /* decl_type */
6983 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6984 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6985 #line 6986 "src/parser_proc.c" /* glr.c:846 */
6986 break;
6987
6988 case 178: /* decl_type_complex */
6989 #line 347 "src/parser_proc_grammar.y" /* glr.c:846 */
6990 {psi_decl_type_free(&(*(struct psi_decl_type **)(&(*yyvaluep))));}
6991 #line 6992 "src/parser_proc.c" /* glr.c:846 */
6992 break;
6993
6994 case 179: /* decl_type_simple */
6995 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
6996 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
6997 #line 6998 "src/parser_proc.c" /* glr.c:846 */
6998 break;
6999
7000 case 180: /* decl_real_type */
7001 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
7002 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7003 #line 7004 "src/parser_proc.c" /* glr.c:846 */
7004 break;
7005
7006 case 181: /* int_signed */
7007 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7008 {}
7009 #line 7010 "src/parser_proc.c" /* glr.c:846 */
7010 break;
7011
7012 case 182: /* int_width */
7013 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7014 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7015 #line 7016 "src/parser_proc.c" /* glr.c:846 */
7016 break;
7017
7018 case 183: /* decl_int_type */
7019 #line 341 "src/parser_proc_grammar.y" /* glr.c:846 */
7020 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7021 #line 7022 "src/parser_proc.c" /* glr.c:846 */
7022 break;
7023
7024 case 184: /* int_signed_types */
7025 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7026 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7027 #line 7028 "src/parser_proc.c" /* glr.c:846 */
7028 break;
7029
7030 case 185: /* signed_short_types */
7031 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7032 {}
7033 #line 7034 "src/parser_proc.c" /* glr.c:846 */
7034 break;
7035
7036 case 186: /* signed_long_types */
7037 #line 321 "src/parser_proc_grammar.y" /* glr.c:846 */
7038 {}
7039 #line 7040 "src/parser_proc.c" /* glr.c:846 */
7040 break;
7041
7042 case 187: /* int_width_types */
7043 #line 318 "src/parser_proc_grammar.y" /* glr.c:846 */
7044 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7045 #line 7046 "src/parser_proc.c" /* glr.c:846 */
7046 break;
7047
7048 case 188: /* decl_stmt */
7049 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7050 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7051 #line 7052 "src/parser_proc.c" /* glr.c:846 */
7052 break;
7053
7054 case 189: /* decl_asm */
7055 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7056 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7057 #line 7058 "src/parser_proc.c" /* glr.c:846 */
7058 break;
7059
7060 case 190: /* quoted_strings */
7061 #line 344 "src/parser_proc_grammar.y" /* glr.c:846 */
7062 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7063 #line 7064 "src/parser_proc.c" /* glr.c:846 */
7064 break;
7065
7066 case 191: /* decl_extvar_stmt */
7067 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7068 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7069 #line 7070 "src/parser_proc.c" /* glr.c:846 */
7070 break;
7071
7072 case 192: /* decl_extvar_list */
7073 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7074 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7075 #line 7076 "src/parser_proc.c" /* glr.c:846 */
7076 break;
7077
7078 case 193: /* decl_vars */
7079 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7080 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7081 #line 7082 "src/parser_proc.c" /* glr.c:846 */
7082 break;
7083
7084 case 194: /* ignored_decl */
7085 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7086 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7087 #line 7088 "src/parser_proc.c" /* glr.c:846 */
7088 break;
7089
7090 case 198: /* decl */
7091 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7092 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7093 #line 7094 "src/parser_proc.c" /* glr.c:846 */
7094 break;
7095
7096 case 199: /* decl_body */
7097 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7098 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7099 #line 7100 "src/parser_proc.c" /* glr.c:846 */
7100 break;
7101
7102 case 200: /* decl_func_body */
7103 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7104 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7105 #line 7106 "src/parser_proc.c" /* glr.c:846 */
7106 break;
7107
7108 case 201: /* decl_functor_body */
7109 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7110 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7111 #line 7112 "src/parser_proc.c" /* glr.c:846 */
7112 break;
7113
7114 case 202: /* decl_anon_functor_body */
7115 #line 349 "src/parser_proc_grammar.y" /* glr.c:846 */
7116 {psi_decl_free(&(*(struct psi_decl **)(&(*yyvaluep))));}
7117 #line 7118 "src/parser_proc.c" /* glr.c:846 */
7118 break;
7119
7120 case 203: /* decl_functor */
7121 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7122 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7123 #line 7124 "src/parser_proc.c" /* glr.c:846 */
7124 break;
7125
7126 case 204: /* decl_anon_functor */
7127 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7128 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7129 #line 7130 "src/parser_proc.c" /* glr.c:846 */
7130 break;
7131
7132 case 205: /* decl_func */
7133 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7134 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7135 #line 7136 "src/parser_proc.c" /* glr.c:846 */
7136 break;
7137
7138 case 206: /* decl_args */
7139 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7140 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7141 #line 7142 "src/parser_proc.c" /* glr.c:846 */
7142 break;
7143
7144 case 207: /* decl_arg_list */
7145 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7146 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7147 #line 7148 "src/parser_proc.c" /* glr.c:846 */
7148 break;
7149
7150 case 208: /* decl_anon_arg */
7151 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7152 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7153 #line 7154 "src/parser_proc.c" /* glr.c:846 */
7154 break;
7155
7156 case 209: /* decl_arg */
7157 #line 351 "src/parser_proc_grammar.y" /* glr.c:846 */
7158 {psi_decl_arg_free(&(*(struct psi_decl_arg **)(&(*yyvaluep))));}
7159 #line 7160 "src/parser_proc.c" /* glr.c:846 */
7160 break;
7161
7162 case 210: /* decl_var */
7163 #line 353 "src/parser_proc_grammar.y" /* glr.c:846 */
7164 {psi_decl_var_free(&(*(struct psi_decl_var **)(&(*yyvaluep))));}
7165 #line 7166 "src/parser_proc.c" /* glr.c:846 */
7166 break;
7167
7168 case 211: /* decl_union */
7169 #line 357 "src/parser_proc_grammar.y" /* glr.c:846 */
7170 {psi_decl_union_free(&(*(struct psi_decl_union **)(&(*yyvaluep))));}
7171 #line 7172 "src/parser_proc.c" /* glr.c:846 */
7172 break;
7173
7174 case 212: /* decl_struct */
7175 #line 355 "src/parser_proc_grammar.y" /* glr.c:846 */
7176 {psi_decl_struct_free(&(*(struct psi_decl_struct **)(&(*yyvaluep))));}
7177 #line 7178 "src/parser_proc.c" /* glr.c:846 */
7178 break;
7179
7180 case 213: /* decl_struct_args */
7181 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7182 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7183 #line 7184 "src/parser_proc.c" /* glr.c:846 */
7184 break;
7185
7186 case 214: /* struct_args_block */
7187 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7188 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7189 #line 7190 "src/parser_proc.c" /* glr.c:846 */
7190 break;
7191
7192 case 215: /* struct_args */
7193 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7194 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7195 #line 7196 "src/parser_proc.c" /* glr.c:846 */
7196 break;
7197
7198 case 216: /* struct_arg_var_list */
7199 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7200 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7201 #line 7202 "src/parser_proc.c" /* glr.c:846 */
7202 break;
7203
7204 case 217: /* decl_vars_with_layout */
7205 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7206 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7207 #line 7208 "src/parser_proc.c" /* glr.c:846 */
7208 break;
7209
7210 case 218: /* decl_enum */
7211 #line 359 "src/parser_proc_grammar.y" /* glr.c:846 */
7212 {psi_decl_enum_free(&(*(struct psi_decl_enum **)(&(*yyvaluep))));}
7213 #line 7214 "src/parser_proc.c" /* glr.c:846 */
7214 break;
7215
7216 case 219: /* decl_enum_items */
7217 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7218 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7219 #line 7220 "src/parser_proc.c" /* glr.c:846 */
7220 break;
7221
7222 case 220: /* decl_enum_item */
7223 #line 361 "src/parser_proc_grammar.y" /* glr.c:846 */
7224 {psi_decl_enum_item_free(&(*(struct psi_decl_enum_item **)(&(*yyvaluep))));}
7225 #line 7226 "src/parser_proc.c" /* glr.c:846 */
7226 break;
7227
7228 case 221: /* num_exp */
7229 #line 419 "src/parser_proc_grammar.y" /* glr.c:846 */
7230 {psi_num_exp_free(&(*(struct psi_num_exp **)(&(*yyvaluep))));}
7231 #line 7232 "src/parser_proc.c" /* glr.c:846 */
7232 break;
7233
7234 case 222: /* number */
7235 #line 421 "src/parser_proc_grammar.y" /* glr.c:846 */
7236 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7237 #line 7238 "src/parser_proc.c" /* glr.c:846 */
7238 break;
7239
7240 case 223: /* sizeof */
7241 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7242 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7243 #line 7244 "src/parser_proc.c" /* glr.c:846 */
7244 break;
7245
7246 case 224: /* sizeof_body */
7247 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7248 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7249 #line 7250 "src/parser_proc.c" /* glr.c:846 */
7250 break;
7251
7252 case 225: /* sizeof_body_notypes */
7253 #line 371 "src/parser_proc_grammar.y" /* glr.c:846 */
7254 {psi_number_free(&(*(struct psi_number **)(&(*yyvaluep))));}
7255 #line 7256 "src/parser_proc.c" /* glr.c:846 */
7256 break;
7257
7258 case 226: /* enum_name */
7259 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7260 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7261 #line 7262 "src/parser_proc.c" /* glr.c:846 */
7262 break;
7263
7264 case 227: /* union_name */
7265 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7266 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7267 #line 7268 "src/parser_proc.c" /* glr.c:846 */
7268 break;
7269
7270 case 228: /* struct_name */
7271 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7272 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7273 #line 7274 "src/parser_proc.c" /* glr.c:846 */
7274 break;
7275
7276 case 229: /* optional_name */
7277 #line 309 "src/parser_proc_grammar.y" /* glr.c:846 */
7278 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7279 #line 7280 "src/parser_proc.c" /* glr.c:846 */
7280 break;
7281
7282 case 231: /* decl_layout */
7283 #line 368 "src/parser_proc_grammar.y" /* glr.c:846 */
7284 {psi_layout_free(&(*(struct psi_layout **)(&(*yyvaluep))));}
7285 #line 7286 "src/parser_proc.c" /* glr.c:846 */
7286 break;
7287
7288 case 232: /* align_and_size */
7289 #line 366 "src/parser_proc_grammar.y" /* glr.c:846 */
7290 {}
7291 #line 7292 "src/parser_proc.c" /* glr.c:846 */
7292 break;
7293
7294 case 233: /* array_size */
7295 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7296 {}
7297 #line 7298 "src/parser_proc.c" /* glr.c:846 */
7298 break;
7299
7300 case 235: /* indirection */
7301 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7302 {}
7303 #line 7304 "src/parser_proc.c" /* glr.c:846 */
7304 break;
7305
7306 case 236: /* pointers */
7307 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7308 {}
7309 #line 7310 "src/parser_proc.c" /* glr.c:846 */
7310 break;
7311
7312 case 237: /* asterisks */
7313 #line 424 "src/parser_proc_grammar.y" /* glr.c:846 */
7314 {}
7315 #line 7316 "src/parser_proc.c" /* glr.c:846 */
7316 break;
7317
7318 case 240: /* impl */
7319 #line 374 "src/parser_proc_grammar.y" /* glr.c:846 */
7320 {psi_impl_free(&(*(struct psi_impl **)(&(*yyvaluep))));}
7321 #line 7322 "src/parser_proc.c" /* glr.c:846 */
7322 break;
7323
7324 case 241: /* impl_func */
7325 #line 376 "src/parser_proc_grammar.y" /* glr.c:846 */
7326 {psi_impl_func_free(&(*(struct psi_impl_func **)(&(*yyvaluep))));}
7327 #line 7328 "src/parser_proc.c" /* glr.c:846 */
7328 break;
7329
7330 case 242: /* impl_args */
7331 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7332 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7333 #line 7334 "src/parser_proc.c" /* glr.c:846 */
7334 break;
7335
7336 case 243: /* impl_arg */
7337 #line 378 "src/parser_proc_grammar.y" /* glr.c:846 */
7338 {psi_impl_arg_free(&(*(struct psi_impl_arg **)(&(*yyvaluep))));}
7339 #line 7340 "src/parser_proc.c" /* glr.c:846 */
7340 break;
7341
7342 case 244: /* impl_var */
7343 #line 382 "src/parser_proc_grammar.y" /* glr.c:846 */
7344 {psi_impl_var_free(&(*(struct psi_impl_var **)(&(*yyvaluep))));}
7345 #line 7346 "src/parser_proc.c" /* glr.c:846 */
7346 break;
7347
7348 case 245: /* impl_type */
7349 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7350 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7351 #line 7352 "src/parser_proc.c" /* glr.c:846 */
7352 break;
7353
7354 case 246: /* impl_type_restricted */
7355 #line 380 "src/parser_proc_grammar.y" /* glr.c:846 */
7356 {psi_impl_type_free(&(*(struct psi_impl_type **)(&(*yyvaluep))));}
7357 #line 7358 "src/parser_proc.c" /* glr.c:846 */
7358 break;
7359
7360 case 247: /* impl_type_token */
7361 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7362 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7363 #line 7364 "src/parser_proc.c" /* glr.c:846 */
7364 break;
7365
7366 case 248: /* impl_type_restricted_token */
7367 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7368 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7369 #line 7370 "src/parser_proc.c" /* glr.c:846 */
7370 break;
7371
7372 case 249: /* impl_type_extended_token */
7373 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7374 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7375 #line 7376 "src/parser_proc.c" /* glr.c:846 */
7376 break;
7377
7378 case 250: /* impl_stmts */
7379 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7380 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7381 #line 7382 "src/parser_proc.c" /* glr.c:846 */
7382 break;
7383
7384 case 251: /* impl_stmt */
7385 #line 412 "src/parser_proc_grammar.y" /* glr.c:846 */
7386 {psi_impl_stmt_free(&(*(struct psi_token ***)(&(*yyvaluep))));}
7387 #line 7388 "src/parser_proc.c" /* glr.c:846 */
7388 break;
7389
7390 case 252: /* let_stmt */
7391 #line 385 "src/parser_proc_grammar.y" /* glr.c:846 */
7392 {psi_let_stmt_free(&(*(struct psi_let_stmt **)(&(*yyvaluep))));}
7393 #line 7394 "src/parser_proc.c" /* glr.c:846 */
7394 break;
7395
7396 case 253: /* let_exp */
7397 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7398 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7399 #line 7400 "src/parser_proc.c" /* glr.c:846 */
7400 break;
7401
7402 case 254: /* let_exp_byref */
7403 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7404 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7405 #line 7406 "src/parser_proc.c" /* glr.c:846 */
7406 break;
7407
7408 case 255: /* let_exp_assign */
7409 #line 387 "src/parser_proc_grammar.y" /* glr.c:846 */
7410 {psi_let_exp_free(&(*(struct psi_let_exp **)(&(*yyvaluep))));}
7411 #line 7412 "src/parser_proc.c" /* glr.c:846 */
7412 break;
7413
7414 case 256: /* let_calloc */
7415 #line 389 "src/parser_proc_grammar.y" /* glr.c:846 */
7416 {psi_let_calloc_free(&(*(struct psi_let_calloc **)(&(*yyvaluep))));}
7417 #line 7418 "src/parser_proc.c" /* glr.c:846 */
7418 break;
7419
7420 case 257: /* let_callback */
7421 #line 391 "src/parser_proc_grammar.y" /* glr.c:846 */
7422 {psi_let_callback_free(&(*(struct psi_let_callback **)(&(*yyvaluep))));}
7423 #line 7424 "src/parser_proc.c" /* glr.c:846 */
7424 break;
7425
7426 case 258: /* let_func */
7427 #line 393 "src/parser_proc_grammar.y" /* glr.c:846 */
7428 {psi_let_func_free(&(*(struct psi_let_func **)(&(*yyvaluep))));}
7429 #line 7430 "src/parser_proc.c" /* glr.c:846 */
7430 break;
7431
7432 case 259: /* let_func_token */
7433 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7434 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7435 #line 7436 "src/parser_proc.c" /* glr.c:846 */
7436 break;
7437
7438 case 260: /* let_func_exps */
7439 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7440 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7441 #line 7442 "src/parser_proc.c" /* glr.c:846 */
7442 break;
7443
7444 case 261: /* let_exps */
7445 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7446 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7447 #line 7448 "src/parser_proc.c" /* glr.c:846 */
7448 break;
7449
7450 case 262: /* callback_rval */
7451 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7452 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7453 #line 7454 "src/parser_proc.c" /* glr.c:846 */
7454 break;
7455
7456 case 263: /* callback_arg_list */
7457 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7458 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7459 #line 7460 "src/parser_proc.c" /* glr.c:846 */
7460 break;
7461
7462 case 264: /* callback_args */
7463 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7464 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7465 #line 7466 "src/parser_proc.c" /* glr.c:846 */
7466 break;
7467
7468 case 265: /* return_stmt */
7469 #line 403 "src/parser_proc_grammar.y" /* glr.c:846 */
7470 {psi_return_stmt_free(&(*(struct psi_return_stmt **)(&(*yyvaluep))));}
7471 #line 7472 "src/parser_proc.c" /* glr.c:846 */
7472 break;
7473
7474 case 266: /* return_exp */
7475 #line 405 "src/parser_proc_grammar.y" /* glr.c:846 */
7476 {psi_return_exp_free(&(*(struct psi_return_exp **)(&(*yyvaluep))));}
7477 #line 7478 "src/parser_proc.c" /* glr.c:846 */
7478 break;
7479
7480 case 267: /* call_decl_vars */
7481 #line 363 "src/parser_proc_grammar.y" /* glr.c:846 */
7482 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7483 #line 7484 "src/parser_proc.c" /* glr.c:846 */
7484 break;
7485
7486 case 268: /* set_stmt */
7487 #line 395 "src/parser_proc_grammar.y" /* glr.c:846 */
7488 {psi_set_stmt_free(&(*(struct psi_set_stmt **)(&(*yyvaluep))));}
7489 #line 7490 "src/parser_proc.c" /* glr.c:846 */
7490 break;
7491
7492 case 269: /* set_exp */
7493 #line 397 "src/parser_proc_grammar.y" /* glr.c:846 */
7494 {psi_set_exp_free(&(*(struct psi_set_exp **)(&(*yyvaluep))));}
7495 #line 7496 "src/parser_proc.c" /* glr.c:846 */
7496 break;
7497
7498 case 270: /* set_func */
7499 #line 399 "src/parser_proc_grammar.y" /* glr.c:846 */
7500 {psi_set_func_free(&(*(struct psi_set_func **)(&(*yyvaluep))));}
7501 #line 7502 "src/parser_proc.c" /* glr.c:846 */
7502 break;
7503
7504 case 271: /* set_func_token */
7505 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7506 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7507 #line 7508 "src/parser_proc.c" /* glr.c:846 */
7508 break;
7509
7510 case 272: /* set_func_exps */
7511 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7512 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7513 #line 7514 "src/parser_proc.c" /* glr.c:846 */
7514 break;
7515
7516 case 273: /* set_exps */
7517 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7518 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7519 #line 7520 "src/parser_proc.c" /* glr.c:846 */
7520 break;
7521
7522 case 274: /* assert_stmt */
7523 #line 401 "src/parser_proc_grammar.y" /* glr.c:846 */
7524 {psi_assert_stmt_free(&(*(struct psi_assert_stmt **)(&(*yyvaluep))));}
7525 #line 7526 "src/parser_proc.c" /* glr.c:846 */
7526 break;
7527
7528 case 275: /* assert_stmt_token */
7529 #line 414 "src/parser_proc_grammar.y" /* glr.c:846 */
7530 {psi_token_free(&(*(struct psi_token **)(&(*yyvaluep))));}
7531 #line 7532 "src/parser_proc.c" /* glr.c:846 */
7532 break;
7533
7534 case 276: /* free_stmt */
7535 #line 407 "src/parser_proc_grammar.y" /* glr.c:846 */
7536 {psi_free_stmt_free(&(*(struct psi_free_stmt **)(&(*yyvaluep))));}
7537 #line 7538 "src/parser_proc.c" /* glr.c:846 */
7538 break;
7539
7540 case 277: /* free_exps */
7541 #line 416 "src/parser_proc_grammar.y" /* glr.c:846 */
7542 {psi_plist_free((*(struct psi_plist **)(&(*yyvaluep))));}
7543 #line 7544 "src/parser_proc.c" /* glr.c:846 */
7544 break;
7545
7546 case 278: /* free_exp */
7547 #line 409 "src/parser_proc_grammar.y" /* glr.c:846 */
7548 {psi_free_exp_free(&(*(struct psi_free_exp **)(&(*yyvaluep))));}
7549 #line 7550 "src/parser_proc.c" /* glr.c:846 */
7550 break;
7551
7552 case 279: /* reference */
7553 #line 426 "src/parser_proc_grammar.y" /* glr.c:846 */
7554 {}
7555 #line 7556 "src/parser_proc.c" /* glr.c:846 */
7556 break;
7557
7558
7559 default:
7560 break;
7561 }
7562 YY_IGNORE_MAYBE_UNINITIALIZED_END
7563 }
7564
7565 /** Number of symbols composing the right hand side of rule #RULE. */
7566 static inline int
7567 yyrhsLength (yyRuleNum yyrule)
7568 {
7569 return yyr2[yyrule];
7570 }
7571
7572 static void
7573 yydestroyGLRState (char const *yymsg, yyGLRState *yys, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7574 {
7575 if (yys->yyresolved)
7576 yydestruct (yymsg, yystos[yys->yylrState],
7577 &yys->yysemantics.yysval, P, tokens, index);
7578 else
7579 {
7580 #if YYDEBUG
7581 if (yydebug)
7582 {
7583 if (yys->yysemantics.yyfirstVal)
7584 YYFPRINTF (stderr, "%s unresolved", yymsg);
7585 else
7586 YYFPRINTF (stderr, "%s incomplete", yymsg);
7587 YY_SYMBOL_PRINT ("", yystos[yys->yylrState], YY_NULLPTR, &yys->yyloc);
7588 }
7589 #endif
7590
7591 if (yys->yysemantics.yyfirstVal)
7592 {
7593 yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
7594 yyGLRState *yyrh;
7595 int yyn;
7596 for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
7597 yyn > 0;
7598 yyrh = yyrh->yypred, yyn -= 1)
7599 yydestroyGLRState (yymsg, yyrh, P, tokens, index);
7600 }
7601 }
7602 }
7603
7604 /** Left-hand-side symbol for rule #YYRULE. */
7605 static inline yySymbol
7606 yylhsNonterm (yyRuleNum yyrule)
7607 {
7608 return yyr1[yyrule];
7609 }
7610
7611 #define yypact_value_is_default(Yystate) \
7612 (!!((Yystate) == (-717)))
7613
7614 /** True iff LR state YYSTATE has only a default reduction (regardless
7615 * of token). */
7616 static inline yybool
7617 yyisDefaultedState (yyStateNum yystate)
7618 {
7619 return yypact_value_is_default (yypact[yystate]);
7620 }
7621
7622 /** The default reduction for YYSTATE, assuming it has one. */
7623 static inline yyRuleNum
7624 yydefaultAction (yyStateNum yystate)
7625 {
7626 return yydefact[yystate];
7627 }
7628
7629 #define yytable_value_is_error(Yytable_value) \
7630 0
7631
7632 /** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
7633 * Result R means
7634 * R < 0: Reduce on rule -R.
7635 * R = 0: Error.
7636 * R > 0: Shift to state R.
7637 * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
7638 * of conflicting reductions.
7639 */
7640 static inline void
7641 yygetLRActions (yyStateNum yystate, int yytoken,
7642 int* yyaction, const short int** yyconflicts)
7643 {
7644 int yyindex = yypact[yystate] + yytoken;
7645 if (yypact_value_is_default (yypact[yystate])
7646 || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
7647 {
7648 *yyaction = -yydefact[yystate];
7649 *yyconflicts = yyconfl;
7650 }
7651 else if (! yytable_value_is_error (yytable[yyindex]))
7652 {
7653 *yyaction = yytable[yyindex];
7654 *yyconflicts = yyconfl + yyconflp[yyindex];
7655 }
7656 else
7657 {
7658 *yyaction = 0;
7659 *yyconflicts = yyconfl + yyconflp[yyindex];
7660 }
7661 }
7662
7663 /** Compute post-reduction state.
7664 * \param yystate the current state
7665 * \param yysym the nonterminal to push on the stack
7666 */
7667 static inline yyStateNum
7668 yyLRgotoState (yyStateNum yystate, yySymbol yysym)
7669 {
7670 int yyr = yypgoto[yysym - YYNTOKENS] + yystate;
7671 if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
7672 return yytable[yyr];
7673 else
7674 return yydefgoto[yysym - YYNTOKENS];
7675 }
7676
7677 static inline yybool
7678 yyisShiftAction (int yyaction)
7679 {
7680 return 0 < yyaction;
7681 }
7682
7683 static inline yybool
7684 yyisErrorAction (int yyaction)
7685 {
7686 return yyaction == 0;
7687 }
7688
7689 /* GLRStates */
7690
7691 /** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
7692 * if YYISSTATE, and otherwise a semantic option. Callers should call
7693 * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
7694 * headroom. */
7695
7696 static inline yyGLRStackItem*
7697 yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
7698 {
7699 yyGLRStackItem* yynewItem = yystackp->yynextFree;
7700 yystackp->yyspaceLeft -= 1;
7701 yystackp->yynextFree += 1;
7702 yynewItem->yystate.yyisState = yyisState;
7703 return yynewItem;
7704 }
7705
7706 /** Add a new semantic action that will execute the action for rule
7707 * YYRULE on the semantic values in YYRHS to the list of
7708 * alternative actions for YYSTATE. Assumes that YYRHS comes from
7709 * stack #YYK of *YYSTACKP. */
7710 static void
7711 yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
7712 yyGLRState* yyrhs, yyRuleNum yyrule)
7713 {
7714 yySemanticOption* yynewOption =
7715 &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
7716 YYASSERT (!yynewOption->yyisState);
7717 yynewOption->yystate = yyrhs;
7718 yynewOption->yyrule = yyrule;
7719 if (yystackp->yytops.yylookaheadNeeds[yyk])
7720 {
7721 yynewOption->yyrawchar = yychar;
7722 yynewOption->yyval = yylval;
7723 }
7724 else
7725 yynewOption->yyrawchar = YYEMPTY;
7726 yynewOption->yynext = yystate->yysemantics.yyfirstVal;
7727 yystate->yysemantics.yyfirstVal = yynewOption;
7728
7729 YY_RESERVE_GLRSTACK (yystackp);
7730 }
7731
7732 /* GLRStacks */
7733
7734 /** Initialize YYSET to a singleton set containing an empty stack. */
7735 static yybool
7736 yyinitStateSet (yyGLRStateSet* yyset)
7737 {
7738 yyset->yysize = 1;
7739 yyset->yycapacity = 16;
7740 yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
7741 if (! yyset->yystates)
7742 return yyfalse;
7743 yyset->yystates[0] = YY_NULLPTR;
7744 yyset->yylookaheadNeeds =
7745 (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
7746 if (! yyset->yylookaheadNeeds)
7747 {
7748 YYFREE (yyset->yystates);
7749 return yyfalse;
7750 }
7751 return yytrue;
7752 }
7753
7754 static void yyfreeStateSet (yyGLRStateSet* yyset)
7755 {
7756 YYFREE (yyset->yystates);
7757 YYFREE (yyset->yylookaheadNeeds);
7758 }
7759
7760 /** Initialize *YYSTACKP to a single empty stack, with total maximum
7761 * capacity for all stacks of YYSIZE. */
7762 static yybool
7763 yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
7764 {
7765 yystackp->yyerrState = 0;
7766 yynerrs = 0;
7767 yystackp->yyspaceLeft = yysize;
7768 yystackp->yyitems =
7769 (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
7770 if (!yystackp->yyitems)
7771 return yyfalse;
7772 yystackp->yynextFree = yystackp->yyitems;
7773 yystackp->yysplitPoint = YY_NULLPTR;
7774 yystackp->yylastDeleted = YY_NULLPTR;
7775 return yyinitStateSet (&yystackp->yytops);
7776 }
7777
7778
7779 #if YYSTACKEXPANDABLE
7780 # define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
7781 &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
7782
7783 /** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
7784 stack from outside should be considered invalid after this call.
7785 We always expand when there are 1 or fewer items left AFTER an
7786 allocation, so that we can avoid having external pointers exist
7787 across an allocation. */
7788 static void
7789 yyexpandGLRStack (yyGLRStack* yystackp)
7790 {
7791 yyGLRStackItem* yynewItems;
7792 yyGLRStackItem* yyp0, *yyp1;
7793 size_t yynewSize;
7794 size_t yyn;
7795 size_t yysize = yystackp->yynextFree - yystackp->yyitems;
7796 if (YYMAXDEPTH - YYHEADROOM < yysize)
7797 yyMemoryExhausted (yystackp);
7798 yynewSize = 2*yysize;
7799 if (YYMAXDEPTH < yynewSize)
7800 yynewSize = YYMAXDEPTH;
7801 yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
7802 if (! yynewItems)
7803 yyMemoryExhausted (yystackp);
7804 for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
7805 0 < yyn;
7806 yyn -= 1, yyp0 += 1, yyp1 += 1)
7807 {
7808 *yyp1 = *yyp0;
7809 if (*(yybool *) yyp0)
7810 {
7811 yyGLRState* yys0 = &yyp0->yystate;
7812 yyGLRState* yys1 = &yyp1->yystate;
7813 if (yys0->yypred != YY_NULLPTR)
7814 yys1->yypred =
7815 YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
7816 if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULLPTR)
7817 yys1->yysemantics.yyfirstVal =
7818 YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
7819 }
7820 else
7821 {
7822 yySemanticOption* yyv0 = &yyp0->yyoption;
7823 yySemanticOption* yyv1 = &yyp1->yyoption;
7824 if (yyv0->yystate != YY_NULLPTR)
7825 yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
7826 if (yyv0->yynext != YY_NULLPTR)
7827 yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
7828 }
7829 }
7830 if (yystackp->yysplitPoint != YY_NULLPTR)
7831 yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
7832 yystackp->yysplitPoint, yystate);
7833
7834 for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
7835 if (yystackp->yytops.yystates[yyn] != YY_NULLPTR)
7836 yystackp->yytops.yystates[yyn] =
7837 YYRELOC (yystackp->yyitems, yynewItems,
7838 yystackp->yytops.yystates[yyn], yystate);
7839 YYFREE (yystackp->yyitems);
7840 yystackp->yyitems = yynewItems;
7841 yystackp->yynextFree = yynewItems + yysize;
7842 yystackp->yyspaceLeft = yynewSize - yysize;
7843 }
7844 #endif
7845
7846 static void
7847 yyfreeGLRStack (yyGLRStack* yystackp)
7848 {
7849 YYFREE (yystackp->yyitems);
7850 yyfreeStateSet (&yystackp->yytops);
7851 }
7852
7853 /** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
7854 * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
7855 * YYS. */
7856 static inline void
7857 yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
7858 {
7859 if (yystackp->yysplitPoint != YY_NULLPTR && yystackp->yysplitPoint > yys)
7860 yystackp->yysplitPoint = yys;
7861 }
7862
7863 /** Invalidate stack #YYK in *YYSTACKP. */
7864 static inline void
7865 yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
7866 {
7867 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
7868 yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
7869 yystackp->yytops.yystates[yyk] = YY_NULLPTR;
7870 }
7871
7872 /** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
7873 only be done once after a deletion, and only when all other stacks have
7874 been deleted. */
7875 static void
7876 yyundeleteLastStack (yyGLRStack* yystackp)
7877 {
7878 if (yystackp->yylastDeleted == YY_NULLPTR || yystackp->yytops.yysize != 0)
7879 return;
7880 yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
7881 yystackp->yytops.yysize = 1;
7882 YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
7883 yystackp->yylastDeleted = YY_NULLPTR;
7884 }
7885
7886 static inline void
7887 yyremoveDeletes (yyGLRStack* yystackp)
7888 {
7889 size_t yyi, yyj;
7890 yyi = yyj = 0;
7891 while (yyj < yystackp->yytops.yysize)
7892 {
7893 if (yystackp->yytops.yystates[yyi] == YY_NULLPTR)
7894 {
7895 if (yyi == yyj)
7896 {
7897 YYDPRINTF ((stderr, "Removing dead stacks.\n"));
7898 }
7899 yystackp->yytops.yysize -= 1;
7900 }
7901 else
7902 {
7903 yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
7904 /* In the current implementation, it's unnecessary to copy
7905 yystackp->yytops.yylookaheadNeeds[yyi] since, after
7906 yyremoveDeletes returns, the parser immediately either enters
7907 deterministic operation or shifts a token. However, it doesn't
7908 hurt, and the code might evolve to need it. */
7909 yystackp->yytops.yylookaheadNeeds[yyj] =
7910 yystackp->yytops.yylookaheadNeeds[yyi];
7911 if (yyj != yyi)
7912 {
7913 YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
7914 (unsigned long int) yyi, (unsigned long int) yyj));
7915 }
7916 yyj += 1;
7917 }
7918 yyi += 1;
7919 }
7920 }
7921
7922 /** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
7923 * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
7924 * value *YYVALP and source location *YYLOCP. */
7925 static inline void
7926 yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7927 size_t yyposn,
7928 YYSTYPE* yyvalp)
7929 {
7930 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7931
7932 yynewState->yylrState = yylrState;
7933 yynewState->yyposn = yyposn;
7934 yynewState->yyresolved = yytrue;
7935 yynewState->yypred = yystackp->yytops.yystates[yyk];
7936 yynewState->yysemantics.yysval = *yyvalp;
7937 yystackp->yytops.yystates[yyk] = yynewState;
7938
7939 YY_RESERVE_GLRSTACK (yystackp);
7940 }
7941
7942 /** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
7943 * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
7944 * semantic value of YYRHS under the action for YYRULE. */
7945 static inline void
7946 yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
7947 size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
7948 {
7949 yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
7950 YYASSERT (yynewState->yyisState);
7951
7952 yynewState->yylrState = yylrState;
7953 yynewState->yyposn = yyposn;
7954 yynewState->yyresolved = yyfalse;
7955 yynewState->yypred = yystackp->yytops.yystates[yyk];
7956 yynewState->yysemantics.yyfirstVal = YY_NULLPTR;
7957 yystackp->yytops.yystates[yyk] = yynewState;
7958
7959 /* Invokes YY_RESERVE_GLRSTACK. */
7960 yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
7961 }
7962
7963 #if !YYDEBUG
7964 # define YY_REDUCE_PRINT(Args)
7965 #else
7966 # define YY_REDUCE_PRINT(Args) \
7967 do { \
7968 if (yydebug) \
7969 yy_reduce_print Args; \
7970 } while (0)
7971
7972 /*----------------------------------------------------------------------.
7973 | Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
7974 `----------------------------------------------------------------------*/
7975
7976 static inline void
7977 yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
7978 yyRuleNum yyrule, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
7979 {
7980 int yynrhs = yyrhsLength (yyrule);
7981 int yyi;
7982 YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
7983 (unsigned long int) yyk, yyrule - 1,
7984 (unsigned long int) yyrline[yyrule]);
7985 if (! yynormal)
7986 yyfillin (yyvsp, 1, -yynrhs);
7987 /* The symbols being reduced. */
7988 for (yyi = 0; yyi < yynrhs; yyi++)
7989 {
7990 YYFPRINTF (stderr, " $%d = ", yyi + 1);
7991 yy_symbol_print (stderr,
7992 yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
7993 &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
7994 , P, tokens, index);
7995 if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
7996 YYFPRINTF (stderr, " (unresolved)");
7997 YYFPRINTF (stderr, "\n");
7998 }
7999 }
8000 #endif
8001
8002 /** Pop the symbols consumed by reduction #YYRULE from the top of stack
8003 * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
8004 * semantic values. Assumes that all ambiguities in semantic values
8005 * have been previously resolved. Set *YYVALP to the resulting value,
8006 * and *YYLOCP to the computed location (if any). Return value is as
8007 * for userAction. */
8008 static inline YYRESULTTAG
8009 yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8010 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8011 {
8012 int yynrhs = yyrhsLength (yyrule);
8013
8014 if (yystackp->yysplitPoint == YY_NULLPTR)
8015 {
8016 /* Standard special case: single stack. */
8017 yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
8018 YYASSERT (yyk == 0);
8019 yystackp->yynextFree -= yynrhs;
8020 yystackp->yyspaceLeft += yynrhs;
8021 yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
8022 YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule, P, tokens, index));
8023 return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
8024 yyvalp, P, tokens, index);
8025 }
8026 else
8027 {
8028 int yyi;
8029 yyGLRState* yys;
8030 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8031 yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
8032 = yystackp->yytops.yystates[yyk];
8033 for (yyi = 0; yyi < yynrhs; yyi += 1)
8034 {
8035 yys = yys->yypred;
8036 YYASSERT (yys);
8037 }
8038 yyupdateSplit (yystackp, yys);
8039 yystackp->yytops.yystates[yyk] = yys;
8040 YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule, P, tokens, index));
8041 return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8042 yystackp, yyvalp, P, tokens, index);
8043 }
8044 }
8045
8046 /** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
8047 * and push back on the resulting nonterminal symbol. Perform the
8048 * semantic action associated with YYRULE and store its value with the
8049 * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
8050 * unambiguous. Otherwise, store the deferred semantic action with
8051 * the new state. If the new state would have an identical input
8052 * position, LR state, and predecessor to an existing state on the stack,
8053 * it is identified with that existing state, eliminating stack #YYK from
8054 * *YYSTACKP. In this case, the semantic value is
8055 * added to the options for the existing state's semantic value.
8056 */
8057 static inline YYRESULTTAG
8058 yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
8059 yybool yyforceEval, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8060 {
8061 size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
8062
8063 if (yyforceEval || yystackp->yysplitPoint == YY_NULLPTR)
8064 {
8065 YYSTYPE yysval;
8066
8067 YYRESULTTAG yyflag = yydoAction (yystackp, yyk, yyrule, &yysval, P, tokens, index);
8068 if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULLPTR)
8069 {
8070 YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
8071 (unsigned long int) yyk, yyrule - 1));
8072 }
8073 if (yyflag != yyok)
8074 return yyflag;
8075 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
8076 yyglrShift (yystackp, yyk,
8077 yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
8078 yylhsNonterm (yyrule)),
8079 yyposn, &yysval);
8080 }
8081 else
8082 {
8083 size_t yyi;
8084 int yyn;
8085 yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
8086 yyStateNum yynewLRState;
8087
8088 for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
8089 0 < yyn; yyn -= 1)
8090 {
8091 yys = yys->yypred;
8092 YYASSERT (yys);
8093 }
8094 yyupdateSplit (yystackp, yys);
8095 yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
8096 YYDPRINTF ((stderr,
8097 "Reduced stack %lu by rule #%d; action deferred. "
8098 "Now in state %d.\n",
8099 (unsigned long int) yyk, yyrule - 1, yynewLRState));
8100 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
8101 if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULLPTR)
8102 {
8103 yyGLRState *yysplit = yystackp->yysplitPoint;
8104 yyGLRState *yyp = yystackp->yytops.yystates[yyi];
8105 while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
8106 {
8107 if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
8108 {
8109 yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
8110 yymarkStackDeleted (yystackp, yyk);
8111 YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
8112 (unsigned long int) yyk,
8113 (unsigned long int) yyi));
8114 return yyok;
8115 }
8116 yyp = yyp->yypred;
8117 }
8118 }
8119 yystackp->yytops.yystates[yyk] = yys;
8120 yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
8121 }
8122 return yyok;
8123 }
8124
8125 static size_t
8126 yysplitStack (yyGLRStack* yystackp, size_t yyk)
8127 {
8128 if (yystackp->yysplitPoint == YY_NULLPTR)
8129 {
8130 YYASSERT (yyk == 0);
8131 yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
8132 }
8133 if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
8134 {
8135 yyGLRState** yynewStates;
8136 yybool* yynewLookaheadNeeds;
8137
8138 yynewStates = YY_NULLPTR;
8139
8140 if (yystackp->yytops.yycapacity
8141 > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
8142 yyMemoryExhausted (yystackp);
8143 yystackp->yytops.yycapacity *= 2;
8144
8145 yynewStates =
8146 (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
8147 (yystackp->yytops.yycapacity
8148 * sizeof yynewStates[0]));
8149 if (yynewStates == YY_NULLPTR)
8150 yyMemoryExhausted (yystackp);
8151 yystackp->yytops.yystates = yynewStates;
8152
8153 yynewLookaheadNeeds =
8154 (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
8155 (yystackp->yytops.yycapacity
8156 * sizeof yynewLookaheadNeeds[0]));
8157 if (yynewLookaheadNeeds == YY_NULLPTR)
8158 yyMemoryExhausted (yystackp);
8159 yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
8160 }
8161 yystackp->yytops.yystates[yystackp->yytops.yysize]
8162 = yystackp->yytops.yystates[yyk];
8163 yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
8164 = yystackp->yytops.yylookaheadNeeds[yyk];
8165 yystackp->yytops.yysize += 1;
8166 return yystackp->yytops.yysize-1;
8167 }
8168
8169 /** True iff YYY0 and YYY1 represent identical options at the top level.
8170 * That is, they represent the same rule applied to RHS symbols
8171 * that produce the same terminal symbols. */
8172 static yybool
8173 yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
8174 {
8175 if (yyy0->yyrule == yyy1->yyrule)
8176 {
8177 yyGLRState *yys0, *yys1;
8178 int yyn;
8179 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8180 yyn = yyrhsLength (yyy0->yyrule);
8181 yyn > 0;
8182 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8183 if (yys0->yyposn != yys1->yyposn)
8184 return yyfalse;
8185 return yytrue;
8186 }
8187 else
8188 return yyfalse;
8189 }
8190
8191 /** Assuming identicalOptions (YYY0,YYY1), destructively merge the
8192 * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
8193 static void
8194 yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
8195 {
8196 yyGLRState *yys0, *yys1;
8197 int yyn;
8198 for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
8199 yyn = yyrhsLength (yyy0->yyrule);
8200 yyn > 0;
8201 yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
8202 {
8203 if (yys0 == yys1)
8204 break;
8205 else if (yys0->yyresolved)
8206 {
8207 yys1->yyresolved = yytrue;
8208 yys1->yysemantics.yysval = yys0->yysemantics.yysval;
8209 }
8210 else if (yys1->yyresolved)
8211 {
8212 yys0->yyresolved = yytrue;
8213 yys0->yysemantics.yysval = yys1->yysemantics.yysval;
8214 }
8215 else
8216 {
8217 yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
8218 yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
8219 while (yytrue)
8220 {
8221 if (yyz1 == *yyz0p || yyz1 == YY_NULLPTR)
8222 break;
8223 else if (*yyz0p == YY_NULLPTR)
8224 {
8225 *yyz0p = yyz1;
8226 break;
8227 }
8228 else if (*yyz0p < yyz1)
8229 {
8230 yySemanticOption* yyz = *yyz0p;
8231 *yyz0p = yyz1;
8232 yyz1 = yyz1->yynext;
8233 (*yyz0p)->yynext = yyz;
8234 }
8235 yyz0p = &(*yyz0p)->yynext;
8236 }
8237 yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
8238 }
8239 }
8240 }
8241
8242 /** Y0 and Y1 represent two possible actions to take in a given
8243 * parsing state; return 0 if no combination is possible,
8244 * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
8245 static int
8246 yypreference (yySemanticOption* y0, yySemanticOption* y1)
8247 {
8248 yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
8249 int p0 = yydprec[r0], p1 = yydprec[r1];
8250
8251 if (p0 == p1)
8252 {
8253 if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
8254 return 0;
8255 else
8256 return 1;
8257 }
8258 if (p0 == 0 || p1 == 0)
8259 return 0;
8260 if (p0 < p1)
8261 return 3;
8262 if (p1 < p0)
8263 return 2;
8264 return 0;
8265 }
8266
8267 static YYRESULTTAG yyresolveValue (yyGLRState* yys,
8268 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
8269
8270
8271 /** Resolve the previous YYN states starting at and including state YYS
8272 * on *YYSTACKP. If result != yyok, some states may have been left
8273 * unresolved possibly with empty semantic option chains. Regardless
8274 * of whether result = yyok, each state has been left with consistent
8275 * data so that yydestroyGLRState can be invoked if necessary. */
8276 static YYRESULTTAG
8277 yyresolveStates (yyGLRState* yys, int yyn,
8278 yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8279 {
8280 if (0 < yyn)
8281 {
8282 YYASSERT (yys->yypred);
8283 YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp, P, tokens, index));
8284 if (! yys->yyresolved)
8285 YYCHK (yyresolveValue (yys, yystackp, P, tokens, index));
8286 }
8287 return yyok;
8288 }
8289
8290 /** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
8291 * user action, and return the semantic value and location in *YYVALP
8292 * and *YYLOCP. Regardless of whether result = yyok, all RHS states
8293 * have been destroyed (assuming the user action destroys all RHS
8294 * semantic values if invoked). */
8295 static YYRESULTTAG
8296 yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
8297 YYSTYPE* yyvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8298 {
8299 yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
8300 int yynrhs = yyrhsLength (yyopt->yyrule);
8301 YYRESULTTAG yyflag =
8302 yyresolveStates (yyopt->yystate, yynrhs, yystackp, P, tokens, index);
8303 if (yyflag != yyok)
8304 {
8305 yyGLRState *yys;
8306 for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
8307 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
8308 return yyflag;
8309 }
8310
8311 yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;
8312 {
8313 int yychar_current = yychar;
8314 YYSTYPE yylval_current = yylval;
8315 yychar = yyopt->yyrawchar;
8316 yylval = yyopt->yyval;
8317 yyflag = yyuserAction (yyopt->yyrule, yynrhs,
8318 yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
8319 yystackp, yyvalp, P, tokens, index);
8320 yychar = yychar_current;
8321 yylval = yylval_current;
8322 }
8323 return yyflag;
8324 }
8325
8326 #if YYDEBUG
8327 static void
8328 yyreportTree (yySemanticOption* yyx, int yyindent)
8329 {
8330 int yynrhs = yyrhsLength (yyx->yyrule);
8331 int yyi;
8332 yyGLRState* yys;
8333 yyGLRState* yystates[1 + YYMAXRHS];
8334 yyGLRState yyleftmost_state;
8335
8336 for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
8337 yystates[yyi] = yys;
8338 if (yys == YY_NULLPTR)
8339 {
8340 yyleftmost_state.yyposn = 0;
8341 yystates[0] = &yyleftmost_state;
8342 }
8343 else
8344 yystates[0] = yys;
8345
8346 if (yyx->yystate->yyposn < yys->yyposn + 1)
8347 YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
8348 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8349 yyx->yyrule - 1);
8350 else
8351 YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
8352 yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
8353 yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
8354 (unsigned long int) yyx->yystate->yyposn);
8355 for (yyi = 1; yyi <= yynrhs; yyi += 1)
8356 {
8357 if (yystates[yyi]->yyresolved)
8358 {
8359 if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
8360 YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
8361 yytokenName (yystos[yystates[yyi]->yylrState]));
8362 else
8363 YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
8364 yytokenName (yystos[yystates[yyi]->yylrState]),
8365 (unsigned long int) (yystates[yyi-1]->yyposn + 1),
8366 (unsigned long int) yystates[yyi]->yyposn);
8367 }
8368 else
8369 yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
8370 }
8371 }
8372 #endif
8373
8374 static YYRESULTTAG
8375 yyreportAmbiguity (yySemanticOption* yyx0,
8376 yySemanticOption* yyx1, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8377 {
8378 YYUSE (yyx0);
8379 YYUSE (yyx1);
8380
8381 #if YYDEBUG
8382 YYFPRINTF (stderr, "Ambiguity detected.\n");
8383 YYFPRINTF (stderr, "Option 1,\n");
8384 yyreportTree (yyx0, 2);
8385 YYFPRINTF (stderr, "\nOption 2,\n");
8386 yyreportTree (yyx1, 2);
8387 YYFPRINTF (stderr, "\n");
8388 #endif
8389
8390 yyerror (P, tokens, index, YY_("syntax is ambiguous"));
8391 return yyabort;
8392 }
8393
8394 /** Resolve the ambiguity represented in state YYS in *YYSTACKP,
8395 * perform the indicated actions, and set the semantic value of YYS.
8396 * If result != yyok, the chain of semantic options in YYS has been
8397 * cleared instead or it has been left unmodified except that
8398 * redundant options may have been removed. Regardless of whether
8399 * result = yyok, YYS has been left with consistent data so that
8400 * yydestroyGLRState can be invoked if necessary. */
8401 static YYRESULTTAG
8402 yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8403 {
8404 yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
8405 yySemanticOption* yybest = yyoptionList;
8406 yySemanticOption** yypp;
8407 yybool yymerge = yyfalse;
8408 YYSTYPE yysval;
8409 YYRESULTTAG yyflag;
8410
8411 for (yypp = &yyoptionList->yynext; *yypp != YY_NULLPTR; )
8412 {
8413 yySemanticOption* yyp = *yypp;
8414
8415 if (yyidenticalOptions (yybest, yyp))
8416 {
8417 yymergeOptionSets (yybest, yyp);
8418 *yypp = yyp->yynext;
8419 }
8420 else
8421 {
8422 switch (yypreference (yybest, yyp))
8423 {
8424 case 0:
8425 return yyreportAmbiguity (yybest, yyp, P, tokens, index);
8426 break;
8427 case 1:
8428 yymerge = yytrue;
8429 break;
8430 case 2:
8431 break;
8432 case 3:
8433 yybest = yyp;
8434 yymerge = yyfalse;
8435 break;
8436 default:
8437 /* This cannot happen so it is not worth a YYASSERT (yyfalse),
8438 but some compilers complain if the default case is
8439 omitted. */
8440 break;
8441 }
8442 yypp = &yyp->yynext;
8443 }
8444 }
8445
8446 if (yymerge)
8447 {
8448 yySemanticOption* yyp;
8449 int yyprec = yydprec[yybest->yyrule];
8450 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8451 if (yyflag == yyok)
8452 for (yyp = yybest->yynext; yyp != YY_NULLPTR; yyp = yyp->yynext)
8453 {
8454 if (yyprec == yydprec[yyp->yyrule])
8455 {
8456 YYSTYPE yysval_other;
8457 yyflag = yyresolveAction (yyp, yystackp, &yysval_other, P, tokens, index);
8458 if (yyflag != yyok)
8459 {
8460 yydestruct ("Cleanup: discarding incompletely merged value for",
8461 yystos[yys->yylrState],
8462 &yysval, P, tokens, index);
8463 break;
8464 }
8465 yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
8466 }
8467 }
8468 }
8469 else
8470 yyflag = yyresolveAction (yybest, yystackp, &yysval, P, tokens, index);
8471
8472 if (yyflag == yyok)
8473 {
8474 yys->yyresolved = yytrue;
8475 yys->yysemantics.yysval = yysval;
8476 }
8477 else
8478 yys->yysemantics.yyfirstVal = YY_NULLPTR;
8479 return yyflag;
8480 }
8481
8482 static YYRESULTTAG
8483 yyresolveStack (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8484 {
8485 if (yystackp->yysplitPoint != YY_NULLPTR)
8486 {
8487 yyGLRState* yys;
8488 int yyn;
8489
8490 for (yyn = 0, yys = yystackp->yytops.yystates[0];
8491 yys != yystackp->yysplitPoint;
8492 yys = yys->yypred, yyn += 1)
8493 continue;
8494 YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
8495 , P, tokens, index));
8496 }
8497 return yyok;
8498 }
8499
8500 static void
8501 yycompressStack (yyGLRStack* yystackp)
8502 {
8503 yyGLRState* yyp, *yyq, *yyr;
8504
8505 if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULLPTR)
8506 return;
8507
8508 for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULLPTR;
8509 yyp != yystackp->yysplitPoint;
8510 yyr = yyp, yyp = yyq, yyq = yyp->yypred)
8511 yyp->yypred = yyr;
8512
8513 yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
8514 yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
8515 yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
8516 yystackp->yysplitPoint = YY_NULLPTR;
8517 yystackp->yylastDeleted = YY_NULLPTR;
8518
8519 while (yyr != YY_NULLPTR)
8520 {
8521 yystackp->yynextFree->yystate = *yyr;
8522 yyr = yyr->yypred;
8523 yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
8524 yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
8525 yystackp->yynextFree += 1;
8526 yystackp->yyspaceLeft -= 1;
8527 }
8528 }
8529
8530 static YYRESULTTAG
8531 yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
8532 size_t yyposn, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8533 {
8534 while (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8535 {
8536 yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
8537 YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
8538 (unsigned long int) yyk, yystate));
8539
8540 YYASSERT (yystate != YYFINAL);
8541
8542 if (yyisDefaultedState (yystate))
8543 {
8544 YYRESULTTAG yyflag;
8545 yyRuleNum yyrule = yydefaultAction (yystate);
8546 if (yyrule == 0)
8547 {
8548 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8549 (unsigned long int) yyk));
8550 yymarkStackDeleted (yystackp, yyk);
8551 return yyok;
8552 }
8553 yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule], P, tokens, index);
8554 if (yyflag == yyerr)
8555 {
8556 YYDPRINTF ((stderr,
8557 "Stack %lu dies "
8558 "(predicate failure or explicit user error).\n",
8559 (unsigned long int) yyk));
8560 yymarkStackDeleted (yystackp, yyk);
8561 return yyok;
8562 }
8563 if (yyflag != yyok)
8564 return yyflag;
8565 }
8566 else
8567 {
8568 yySymbol yytoken;
8569 int yyaction;
8570 const short int* yyconflicts;
8571
8572 yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
8573 if (yychar == YYEMPTY)
8574 {
8575 YYDPRINTF ((stderr, "Reading a token: "));
8576 yychar = yylex (&yylval, P, tokens, index);
8577 }
8578
8579 if (yychar <= YYEOF)
8580 {
8581 yychar = yytoken = YYEOF;
8582 YYDPRINTF ((stderr, "Now at end of input.\n"));
8583 }
8584 else
8585 {
8586 yytoken = YYTRANSLATE (yychar);
8587 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8588 }
8589
8590 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8591
8592 while (*yyconflicts != 0)
8593 {
8594 YYRESULTTAG yyflag;
8595 size_t yynewStack = yysplitStack (yystackp, yyk);
8596 YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
8597 (unsigned long int) yynewStack,
8598 (unsigned long int) yyk));
8599 yyflag = yyglrReduce (yystackp, yynewStack,
8600 *yyconflicts,
8601 yyimmediate[*yyconflicts], P, tokens, index);
8602 if (yyflag == yyok)
8603 YYCHK (yyprocessOneStack (yystackp, yynewStack,
8604 yyposn, P, tokens, index));
8605 else if (yyflag == yyerr)
8606 {
8607 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8608 (unsigned long int) yynewStack));
8609 yymarkStackDeleted (yystackp, yynewStack);
8610 }
8611 else
8612 return yyflag;
8613 yyconflicts += 1;
8614 }
8615
8616 if (yyisShiftAction (yyaction))
8617 break;
8618 else if (yyisErrorAction (yyaction))
8619 {
8620 YYDPRINTF ((stderr, "Stack %lu dies.\n",
8621 (unsigned long int) yyk));
8622 yymarkStackDeleted (yystackp, yyk);
8623 break;
8624 }
8625 else
8626 {
8627 YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
8628 yyimmediate[-yyaction], P, tokens, index);
8629 if (yyflag == yyerr)
8630 {
8631 YYDPRINTF ((stderr,
8632 "Stack %lu dies "
8633 "(predicate failure or explicit user error).\n",
8634 (unsigned long int) yyk));
8635 yymarkStackDeleted (yystackp, yyk);
8636 break;
8637 }
8638 else if (yyflag != yyok)
8639 return yyflag;
8640 }
8641 }
8642 }
8643 return yyok;
8644 }
8645
8646 static void
8647 yyreportSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8648 {
8649 if (yystackp->yyerrState != 0)
8650 return;
8651 #if ! YYERROR_VERBOSE
8652 yyerror (P, tokens, index, YY_("syntax error"));
8653 #else
8654 {
8655 yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
8656 size_t yysize0 = yytnamerr (YY_NULLPTR, yytokenName (yytoken));
8657 size_t yysize = yysize0;
8658 yybool yysize_overflow = yyfalse;
8659 char* yymsg = YY_NULLPTR;
8660 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
8661 /* Internationalized format string. */
8662 const char *yyformat = YY_NULLPTR;
8663 /* Arguments of yyformat. */
8664 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
8665 /* Number of reported tokens (one for the "unexpected", one per
8666 "expected"). */
8667 int yycount = 0;
8668
8669 /* There are many possibilities here to consider:
8670 - If this state is a consistent state with a default action, then
8671 the only way this function was invoked is if the default action
8672 is an error action. In that case, don't check for expected
8673 tokens because there are none.
8674 - The only way there can be no lookahead present (in yychar) is if
8675 this state is a consistent state with a default action. Thus,
8676 detecting the absence of a lookahead is sufficient to determine
8677 that there is no unexpected or expected token to report. In that
8678 case, just report a simple "syntax error".
8679 - Don't assume there isn't a lookahead just because this state is a
8680 consistent state with a default action. There might have been a
8681 previous inconsistent state, consistent state with a non-default
8682 action, or user semantic action that manipulated yychar.
8683 - Of course, the expected token list depends on states to have
8684 correct lookahead information, and it depends on the parser not
8685 to perform extra reductions after fetching a lookahead from the
8686 scanner and before detecting a syntax error. Thus, state merging
8687 (from LALR or IELR) and default reductions corrupt the expected
8688 token list. However, the list is correct for canonical LR with
8689 one exception: it will still contain any token that will not be
8690 accepted due to an error action in a later state.
8691 */
8692 if (yytoken != YYEMPTY)
8693 {
8694 int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
8695 yyarg[yycount++] = yytokenName (yytoken);
8696 if (!yypact_value_is_default (yyn))
8697 {
8698 /* Start YYX at -YYN if negative to avoid negative indexes in
8699 YYCHECK. In other words, skip the first -YYN actions for this
8700 state because they are default actions. */
8701 int yyxbegin = yyn < 0 ? -yyn : 0;
8702 /* Stay within bounds of both yycheck and yytname. */
8703 int yychecklim = YYLAST - yyn + 1;
8704 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
8705 int yyx;
8706 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
8707 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
8708 && !yytable_value_is_error (yytable[yyx + yyn]))
8709 {
8710 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
8711 {
8712 yycount = 1;
8713 yysize = yysize0;
8714 break;
8715 }
8716 yyarg[yycount++] = yytokenName (yyx);
8717 {
8718 size_t yysz = yysize + yytnamerr (YY_NULLPTR, yytokenName (yyx));
8719 yysize_overflow |= yysz < yysize;
8720 yysize = yysz;
8721 }
8722 }
8723 }
8724 }
8725
8726 switch (yycount)
8727 {
8728 #define YYCASE_(N, S) \
8729 case N: \
8730 yyformat = S; \
8731 break
8732 YYCASE_(0, YY_("syntax error"));
8733 YYCASE_(1, YY_("syntax error, unexpected %s"));
8734 YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
8735 YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
8736 YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
8737 YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
8738 #undef YYCASE_
8739 }
8740
8741 {
8742 size_t yysz = yysize + strlen (yyformat);
8743 yysize_overflow |= yysz < yysize;
8744 yysize = yysz;
8745 }
8746
8747 if (!yysize_overflow)
8748 yymsg = (char *) YYMALLOC (yysize);
8749
8750 if (yymsg)
8751 {
8752 char *yyp = yymsg;
8753 int yyi = 0;
8754 while ((*yyp = *yyformat))
8755 {
8756 if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
8757 {
8758 yyp += yytnamerr (yyp, yyarg[yyi++]);
8759 yyformat += 2;
8760 }
8761 else
8762 {
8763 yyp++;
8764 yyformat++;
8765 }
8766 }
8767 yyerror (P, tokens, index, yymsg);
8768 YYFREE (yymsg);
8769 }
8770 else
8771 {
8772 yyerror (P, tokens, index, YY_("syntax error"));
8773 yyMemoryExhausted (yystackp);
8774 }
8775 }
8776 #endif /* YYERROR_VERBOSE */
8777 yynerrs += 1;
8778 }
8779
8780 /* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
8781 yylval, and yylloc are the syntactic category, semantic value, and location
8782 of the lookahead. */
8783 static void
8784 yyrecoverSyntaxError (yyGLRStack* yystackp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8785 {
8786 size_t yyk;
8787 int yyj;
8788
8789 if (yystackp->yyerrState == 3)
8790 /* We just shifted the error token and (perhaps) took some
8791 reductions. Skip tokens until we can proceed. */
8792 while (yytrue)
8793 {
8794 yySymbol yytoken;
8795 if (yychar == YYEOF)
8796 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8797 if (yychar != YYEMPTY)
8798 {
8799 yytoken = YYTRANSLATE (yychar);
8800 yydestruct ("Error: discarding",
8801 yytoken, &yylval, P, tokens, index);
8802 }
8803 YYDPRINTF ((stderr, "Reading a token: "));
8804 yychar = yylex (&yylval, P, tokens, index);
8805 if (yychar <= YYEOF)
8806 {
8807 yychar = yytoken = YYEOF;
8808 YYDPRINTF ((stderr, "Now at end of input.\n"));
8809 }
8810 else
8811 {
8812 yytoken = YYTRANSLATE (yychar);
8813 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8814 }
8815 yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
8816 if (yypact_value_is_default (yyj))
8817 return;
8818 yyj += yytoken;
8819 if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
8820 {
8821 if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
8822 return;
8823 }
8824 else if (! yytable_value_is_error (yytable[yyj]))
8825 return;
8826 }
8827
8828 /* Reduce to one stack. */
8829 for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
8830 if (yystackp->yytops.yystates[yyk] != YY_NULLPTR)
8831 break;
8832 if (yyk >= yystackp->yytops.yysize)
8833 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8834 for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
8835 yymarkStackDeleted (yystackp, yyk);
8836 yyremoveDeletes (yystackp);
8837 yycompressStack (yystackp);
8838
8839 /* Now pop stack until we find a state that shifts the error token. */
8840 yystackp->yyerrState = 3;
8841 while (yystackp->yytops.yystates[0] != YY_NULLPTR)
8842 {
8843 yyGLRState *yys = yystackp->yytops.yystates[0];
8844 yyj = yypact[yys->yylrState];
8845 if (! yypact_value_is_default (yyj))
8846 {
8847 yyj += YYTERROR;
8848 if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
8849 && yyisShiftAction (yytable[yyj]))
8850 {
8851 /* Shift the error token. */
8852 YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
8853 &yylval, &yyerrloc);
8854 yyglrShift (yystackp, 0, yytable[yyj],
8855 yys->yyposn, &yylval);
8856 yys = yystackp->yytops.yystates[0];
8857 break;
8858 }
8859 }
8860 if (yys->yypred != YY_NULLPTR)
8861 yydestroyGLRState ("Error: popping", yys, P, tokens, index);
8862 yystackp->yytops.yystates[0] = yys->yypred;
8863 yystackp->yynextFree -= 1;
8864 yystackp->yyspaceLeft += 1;
8865 }
8866 if (yystackp->yytops.yystates[0] == YY_NULLPTR)
8867 yyFail (yystackp, P, tokens, index, YY_NULLPTR);
8868 }
8869
8870 #define YYCHK1(YYE) \
8871 do { \
8872 switch (YYE) { \
8873 case yyok: \
8874 break; \
8875 case yyabort: \
8876 goto yyabortlab; \
8877 case yyaccept: \
8878 goto yyacceptlab; \
8879 case yyerr: \
8880 goto yyuser_error; \
8881 default: \
8882 goto yybuglab; \
8883 } \
8884 } while (0)
8885
8886 /*----------.
8887 | yyparse. |
8888 `----------*/
8889
8890 int
8891 yyparse (struct psi_parser *P, struct psi_plist *tokens, size_t *index)
8892 {
8893 int yyresult;
8894 yyGLRStack yystack;
8895 yyGLRStack* const yystackp = &yystack;
8896 size_t yyposn;
8897
8898 YYDPRINTF ((stderr, "Starting parse\n"));
8899
8900 yychar = YYEMPTY;
8901 yylval = yyval_default;
8902
8903 /* User initialization code. */
8904 #line 144 "src/parser_proc_grammar.y" /* glr.c:2270 */
8905 {
8906 }
8907
8908 #line 8909 "src/parser_proc.c" /* glr.c:2270 */
8909
8910 if (! yyinitGLRStack (yystackp, YYINITDEPTH))
8911 goto yyexhaustedlab;
8912 switch (YYSETJMP (yystack.yyexception_buffer))
8913 {
8914 case 0: break;
8915 case 1: goto yyabortlab;
8916 case 2: goto yyexhaustedlab;
8917 default: goto yybuglab;
8918 }
8919 yyglrShift (&yystack, 0, 0, 0, &yylval);
8920 yyposn = 0;
8921
8922 while (yytrue)
8923 {
8924 /* For efficiency, we have two loops, the first of which is
8925 specialized to deterministic operation (single stack, no
8926 potential ambiguity). */
8927 /* Standard mode */
8928 while (yytrue)
8929 {
8930 yyRuleNum yyrule;
8931 int yyaction;
8932 const short int* yyconflicts;
8933
8934 yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
8935 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
8936 if (yystate == YYFINAL)
8937 goto yyacceptlab;
8938 if (yyisDefaultedState (yystate))
8939 {
8940 yyrule = yydefaultAction (yystate);
8941 if (yyrule == 0)
8942 {
8943
8944 yyreportSyntaxError (&yystack, P, tokens, index);
8945 goto yyuser_error;
8946 }
8947 YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue, P, tokens, index));
8948 }
8949 else
8950 {
8951 yySymbol yytoken;
8952 if (yychar == YYEMPTY)
8953 {
8954 YYDPRINTF ((stderr, "Reading a token: "));
8955 yychar = yylex (&yylval, P, tokens, index);
8956 }
8957
8958 if (yychar <= YYEOF)
8959 {
8960 yychar = yytoken = YYEOF;
8961 YYDPRINTF ((stderr, "Now at end of input.\n"));
8962 }
8963 else
8964 {
8965 yytoken = YYTRANSLATE (yychar);
8966 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
8967 }
8968
8969 yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
8970 if (*yyconflicts != 0)
8971 break;
8972 if (yyisShiftAction (yyaction))
8973 {
8974 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
8975 yychar = YYEMPTY;
8976 yyposn += 1;
8977 yyglrShift (&yystack, 0, yyaction, yyposn, &yylval);
8978 if (0 < yystack.yyerrState)
8979 yystack.yyerrState -= 1;
8980 }
8981 else if (yyisErrorAction (yyaction))
8982 {
8983
8984 yyreportSyntaxError (&yystack, P, tokens, index);
8985 goto yyuser_error;
8986 }
8987 else
8988 YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue, P, tokens, index));
8989 }
8990 }
8991
8992 while (yytrue)
8993 {
8994 yySymbol yytoken_to_shift;
8995 size_t yys;
8996
8997 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
8998 yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
8999
9000 /* yyprocessOneStack returns one of three things:
9001
9002 - An error flag. If the caller is yyprocessOneStack, it
9003 immediately returns as well. When the caller is finally
9004 yyparse, it jumps to an error label via YYCHK1.
9005
9006 - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
9007 (&yystack, yys), which sets the top state of yys to NULL. Thus,
9008 yyparse's following invocation of yyremoveDeletes will remove
9009 the stack.
9010
9011 - yyok, when ready to shift a token.
9012
9013 Except in the first case, yyparse will invoke yyremoveDeletes and
9014 then shift the next token onto all remaining stacks. This
9015 synchronization of the shift (that is, after all preceding
9016 reductions on all stacks) helps prevent double destructor calls
9017 on yylval in the event of memory exhaustion. */
9018
9019 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9020 YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn, P, tokens, index));
9021 yyremoveDeletes (&yystack);
9022 if (yystack.yytops.yysize == 0)
9023 {
9024 yyundeleteLastStack (&yystack);
9025 if (yystack.yytops.yysize == 0)
9026 yyFail (&yystack, P, tokens, index, YY_("syntax error"));
9027 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9028 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9029
9030 yyreportSyntaxError (&yystack, P, tokens, index);
9031 goto yyuser_error;
9032 }
9033
9034 /* If any yyglrShift call fails, it will fail after shifting. Thus,
9035 a copy of yylval will already be on stack 0 in the event of a
9036 failure in the following loop. Thus, yychar is set to YYEMPTY
9037 before the loop to make sure the user destructor for yylval isn't
9038 called twice. */
9039 yytoken_to_shift = YYTRANSLATE (yychar);
9040 yychar = YYEMPTY;
9041 yyposn += 1;
9042 for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
9043 {
9044 int yyaction;
9045 const short int* yyconflicts;
9046 yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
9047 yygetLRActions (yystate, yytoken_to_shift, &yyaction,
9048 &yyconflicts);
9049 /* Note that yyconflicts were handled by yyprocessOneStack. */
9050 YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
9051 YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
9052 yyglrShift (&yystack, yys, yyaction, yyposn,
9053 &yylval);
9054 YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
9055 (unsigned long int) yys,
9056 yystack.yytops.yystates[yys]->yylrState));
9057 }
9058
9059 if (yystack.yytops.yysize == 1)
9060 {
9061 YYCHK1 (yyresolveStack (&yystack, P, tokens, index));
9062 YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
9063 yycompressStack (&yystack);
9064 break;
9065 }
9066 }
9067 continue;
9068 yyuser_error:
9069 yyrecoverSyntaxError (&yystack, P, tokens, index);
9070 yyposn = yystack.yytops.yystates[0]->yyposn;
9071 }
9072
9073 yyacceptlab:
9074 yyresult = 0;
9075 goto yyreturn;
9076
9077 yybuglab:
9078 YYASSERT (yyfalse);
9079 goto yyabortlab;
9080
9081 yyabortlab:
9082 yyresult = 1;
9083 goto yyreturn;
9084
9085 yyexhaustedlab:
9086 yyerror (P, tokens, index, YY_("memory exhausted"));
9087 yyresult = 2;
9088 goto yyreturn;
9089
9090 yyreturn:
9091 if (yychar != YYEMPTY)
9092 yydestruct ("Cleanup: discarding lookahead",
9093 YYTRANSLATE (yychar), &yylval, P, tokens, index);
9094
9095 /* If the stack is well-formed, pop the stack until it is empty,
9096 destroying its entries as we go. But free the stack regardless
9097 of whether it is well-formed. */
9098 if (yystack.yyitems)
9099 {
9100 yyGLRState** yystates = yystack.yytops.yystates;
9101 if (yystates)
9102 {
9103 size_t yysize = yystack.yytops.yysize;
9104 size_t yyk;
9105 for (yyk = 0; yyk < yysize; yyk += 1)
9106 if (yystates[yyk])
9107 {
9108 while (yystates[yyk])
9109 {
9110 yyGLRState *yys = yystates[yyk];
9111 if (yys->yypred != YY_NULLPTR)
9112 yydestroyGLRState ("Cleanup: popping", yys, P, tokens, index);
9113 yystates[yyk] = yys->yypred;
9114 yystack.yynextFree -= 1;
9115 yystack.yyspaceLeft += 1;
9116 }
9117 break;
9118 }
9119 }
9120 yyfreeGLRStack (&yystack);
9121 }
9122
9123 return yyresult;
9124 }
9125
9126 /* DEBUGGING ONLY */
9127 #if YYDEBUG
9128 static void
9129 yy_yypstack (yyGLRState* yys)
9130 {
9131 if (yys->yypred)
9132 {
9133 yy_yypstack (yys->yypred);
9134 YYFPRINTF (stderr, " -> ");
9135 }
9136 YYFPRINTF (stderr, "%d@%lu", yys->yylrState,
9137 (unsigned long int) yys->yyposn);
9138 }
9139
9140 static void
9141 yypstates (yyGLRState* yyst)
9142 {
9143 if (yyst == YY_NULLPTR)
9144 YYFPRINTF (stderr, "<null>");
9145 else
9146 yy_yypstack (yyst);
9147 YYFPRINTF (stderr, "\n");
9148 }
9149
9150 static void
9151 yypstack (yyGLRStack* yystackp, size_t yyk)
9152 {
9153 yypstates (yystackp->yytops.yystates[yyk]);
9154 }
9155
9156 #define YYINDEX(YYX) \
9157 ((YYX) == YY_NULLPTR ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
9158
9159
9160 static void
9161 yypdumpstack (yyGLRStack* yystackp)
9162 {
9163 yyGLRStackItem* yyp;
9164 size_t yyi;
9165 for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
9166 {
9167 YYFPRINTF (stderr, "%3lu. ",
9168 (unsigned long int) (yyp - yystackp->yyitems));
9169 if (*(yybool *) yyp)
9170 {
9171 YYASSERT (yyp->yystate.yyisState);
9172 YYASSERT (yyp->yyoption.yyisState);
9173 YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
9174 yyp->yystate.yyresolved, yyp->yystate.yylrState,
9175 (unsigned long int) yyp->yystate.yyposn,
9176 (long int) YYINDEX (yyp->yystate.yypred));
9177 if (! yyp->yystate.yyresolved)
9178 YYFPRINTF (stderr, ", firstVal: %ld",
9179 (long int) YYINDEX (yyp->yystate
9180 .yysemantics.yyfirstVal));
9181 }
9182 else
9183 {
9184 YYASSERT (!yyp->yystate.yyisState);
9185 YYASSERT (!yyp->yyoption.yyisState);
9186 YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
9187 yyp->yyoption.yyrule - 1,
9188 (long int) YYINDEX (yyp->yyoption.yystate),
9189 (long int) YYINDEX (yyp->yyoption.yynext));
9190 }
9191 YYFPRINTF (stderr, "\n");
9192 }
9193 YYFPRINTF (stderr, "Tops:");
9194 for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
9195 YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
9196 (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
9197 YYFPRINTF (stderr, "\n");
9198 }
9199 #endif
9200
9201 #undef yylval
9202 #undef yychar
9203 #undef yynerrs
9204
9205 /* Substitute the variable and function names. */
9206 #define yyparse psi_parser_proc_parse
9207 #define yylex psi_parser_proc_lex
9208 #define yyerror psi_parser_proc_error
9209 #define yylval psi_parser_proc_lval
9210 #define yychar psi_parser_proc_char
9211 #define yydebug psi_parser_proc_debug
9212 #define yynerrs psi_parser_proc_nerrs
9213
9214 #line 2277 "src/parser_proc_grammar.y" /* glr.c:2584 */
9215
9216
9217 /* epilogue */
9218
9219 static int psi_parser_proc_lex(YYSTYPE *lvalp, struct psi_parser *P, struct psi_plist *tokens, size_t *index)
9220 {
9221 struct psi_token *token;
9222
9223 if (psi_plist_get(tokens, (*index)++, &token)) {
9224 if (P->flags & PSI_DEBUG) {
9225 psi_token_dump(2, token);
9226 }
9227
9228 *((struct psi_token **)lvalp) = token;
9229 return token->type;
9230 } else {
9231 (*index)--;
9232 PSI_DEBUG_PRINT(P, "EOF(%d)\n", PSI_T_EOF);
9233 }
9234
9235 return PSI_T_EOF;
9236 }
9237
9238 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg)
9239 {
9240 struct psi_token *T = NULL;
9241 size_t last;
9242
9243 if (*index == 0) {
9244 last = 0;
9245 } else {
9246 last = --(*index);
9247 }
9248
9249 psi_plist_get(tokens, last, &T);
9250 if (T) {
9251 P->error(PSI_DATA(P), T, PSI_WARNING, "PSI %s at col %u", msg, T->col);
9252 } else {
9253 P->error(PSI_DATA(P), NULL, PSI_WARNING, "PSI %s", msg);
9254 }
9255 P->errors++;
9256 }
9257