]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | /* |
2 | ** Inserted at beginning of c files generated by bison | |
3 | ** REMEMBER: Change bison.reset too. | |
4 | */ | |
5 | ||
6 | /*@-allmacros@*/ | |
7 | /*@+boolint@*/ | |
8 | /*@+charint@*/ | |
9 | /*@-macroparams@*/ | |
10 | /*@-macroundef@*/ | |
11 | /*@-unreachable@*/ | |
12 | /*@-macrospec@*/ | |
13 | /*@-varuse@*/ | |
14 | /*@+ignorequals@*/ | |
15 | /*@-macrostmt@*/ | |
16 | /*@-noeffect@*/ | |
17 | /*@-shadow@*/ | |
18 | /*@-exitarg@*/ | |
19 | /*@-macroredef@*/ | |
20 | /*@-uniondef@*/ | |
21 | /*@-compdef@*/ | |
22 | /*@-matchfields@*/ | |
23 | /*@-exportlocal@*/ | |
24 | /*@-evalorderuncon@*/ | |
25 | /*@-exportheader@*/ | |
26 | /*@-typeuse@*/ | |
27 | /*@-redecl@*/ | |
28 | /*@-redef@*/ | |
29 | /*@-noparams@*/ | |
30 | /*@-ansireserved@*/ | |
31 | /*@-fielduse@*/ | |
32 | /*@-ifblock@*/ | |
33 | /*@-elseifcomplete@*/ | |
34 | /*@-whileblock@*/ | |
35 | /*@-forblock@*/ | |
36 | /*@-branchstate@*/ | |
37 | /*@-readonlytrans@*/ | |
38 | /*@-namechecks@*/ | |
39 | /*@-usedef@*/ | |
40 | /*@-systemunrecog@*/ | |
41 | /*@-dependenttrans@*/ | |
42 | /*@-unqualifiedtrans@*/ | |
43 | /*@-nullassign@*/ | |
bb7c2085 | 44 | /*@-nullpass@*/ |
45 | /*@-nullptrarith*/ | |
46 | /*@-usereleased@*/ | |
c05aefaa | 47 | /*@-declundef@*/ |
885824d3 | 48 | |
c05aefaa | 49 | /*drl added 11/27/2001*/ |
bb7c2085 | 50 | /*@-bounds@*/ |
e015e087 | 51 | |
52 | /*drl added 12/11/2002*/ | |
53 | /*@-type@*/ | |
54 | ||
a9ec3280 | 55 | /*@-enummemuse@*/ |
56 | ||
885824d3 | 57 | /* < end of bison.head > */ |
58 | ||
08cf8642 | 59 | /* A Bison parser, made by GNU Bison 2.3. */ |
885824d3 | 60 | |
08cf8642 | 61 | /* Skeleton implementation for Bison's Yacc-like parsers in C |
885824d3 | 62 | |
08cf8642 | 63 | Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
64 | Free Software Foundation, Inc. | |
65 | ||
66 | This program is free software; you can redistribute it and/or modify | |
67 | it under the terms of the GNU General Public License as published by | |
68 | the Free Software Foundation; either version 2, or (at your option) | |
69 | any later version. | |
70 | ||
71 | This program is distributed in the hope that it will be useful, | |
72 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
73 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
74 | GNU General Public License for more details. | |
75 | ||
76 | You should have received a copy of the GNU General Public License | |
77 | along with this program; if not, write to the Free Software | |
78 | Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
79 | Boston, MA 02110-1301, USA. */ | |
80 | ||
81 | /* As a special exception, you may create a larger work that contains | |
82 | part or all of the Bison parser skeleton and distribute that work | |
83 | under terms of your choice, so long as that work isn't itself a | |
84 | parser generator using the skeleton or a modified version thereof | |
85 | as a parser skeleton. Alternatively, if you modify or redistribute | |
86 | the parser skeleton itself, you may (at your option) remove this | |
87 | special exception, which will cause the skeleton and the resulting | |
88 | Bison output files to be licensed under the GNU General Public | |
89 | License without this special exception. | |
90 | ||
91 | This special exception was added by the Free Software Foundation in | |
92 | version 2.2 of Bison. */ | |
93 | ||
94 | /* C LALR(1) parser skeleton written by Richard Stallman, by | |
95 | simplifying the original so-called "semantic" parser. */ | |
96 | ||
97 | /* All symbols defined below should begin with yy or YY, to avoid | |
98 | infringing on user name space. This should be done even for local | |
99 | variables, as they might otherwise be expanded by user macros. | |
100 | There are some unavoidable exceptions within include files to | |
101 | define necessary library symbols; they are noted "INFRINGES ON | |
102 | USER NAME SPACE" below. */ | |
103 | ||
104 | /* Identify Bison output. */ | |
105 | #define YYBISON 1 | |
106 | ||
107 | /* Bison version. */ | |
108 | #define YYBISON_VERSION "2.3" | |
109 | ||
110 | /* Skeleton name. */ | |
111 | #define YYSKELETON_NAME "yacc.c" | |
112 | ||
113 | /* Pure parsers. */ | |
114 | #define YYPURE 0 | |
115 | ||
116 | /* Using locations. */ | |
117 | #define YYLSP_NEEDED 0 | |
118 | ||
119 | /* Substitute the variable and function names. */ | |
885824d3 | 120 | #define yyparse ylparse |
08cf8642 | 121 | #define yylex yllex |
885824d3 | 122 | #define yyerror ylerror |
08cf8642 | 123 | #define yylval yllval |
124 | #define yychar ylchar | |
885824d3 | 125 | #define yydebug yldebug |
126 | #define yynerrs ylnerrs | |
08cf8642 | 127 | |
128 | ||
129 | /* Tokens. */ | |
130 | #ifndef YYTOKENTYPE | |
131 | # define YYTOKENTYPE | |
132 | /* Put the tokens into the symbol table, so that GDB and other debuggers | |
133 | know about them. */ | |
134 | enum yytokentype { | |
135 | simpleOp = 258, | |
136 | PREFIX_OP = 259, | |
137 | POSTFIX_OP = 260, | |
138 | LLT_MULOP = 261, | |
139 | LLT_SEMI = 262, | |
140 | LLT_VERTICALBAR = 263, | |
141 | ITERATION_OP = 264, | |
142 | selectSym = 265, | |
143 | LLT_LBRACKET = 266, | |
144 | LLT_LPAR = 267, | |
145 | LLT_IF_THEN_ELSE = 268, | |
146 | logicalOp = 269, | |
147 | eqSepSym = 270, | |
148 | equationSym = 271, | |
149 | commentSym = 272, | |
150 | LLT_WHITESPACE = 273, | |
151 | LLT_EOL = 274, | |
152 | LLT_TYPEDEF_NAME = 275, | |
153 | quantifierSym = 276, | |
154 | openSym = 277, | |
155 | closeSym = 278, | |
156 | sepSym = 279, | |
157 | simpleId = 280, | |
158 | mapSym = 281, | |
159 | markerSym = 282, | |
160 | preSym = 283, | |
161 | postSym = 284, | |
162 | anySym = 285, | |
163 | LLT_COLON = 286, | |
164 | LLT_COMMA = 287, | |
165 | LLT_EQUALS = 288, | |
166 | LLT_LBRACE = 289, | |
167 | LLT_RBRACE = 290, | |
168 | LLT_RBRACKET = 291, | |
169 | LLT_RPAR = 292, | |
170 | LLT_QUOTE = 293, | |
171 | eqOp = 294, | |
172 | LLT_CCHAR = 295, | |
173 | LLT_CFLOAT = 296, | |
174 | LLT_CINTEGER = 297, | |
175 | LLT_LCSTRING = 298, | |
176 | LLT_ALL = 299, | |
177 | LLT_ANYTHING = 300, | |
178 | LLT_BE = 301, | |
179 | LLT_BODY = 302, | |
180 | LLT_CLAIMS = 303, | |
181 | LLT_CHECKS = 304, | |
182 | LLT_CONSTANT = 305, | |
183 | LLT_ELSE = 306, | |
184 | LLT_ENSURES = 307, | |
185 | LLT_FOR = 308, | |
186 | LLT_FRESH = 309, | |
187 | LLT_IF = 310, | |
188 | LLT_IMMUTABLE = 311, | |
189 | LLT_IMPORTS = 312, | |
190 | LLT_CONSTRAINT = 313, | |
191 | LLT_ISSUB = 314, | |
192 | LLT_LET = 315, | |
193 | LLT_MODIFIES = 316, | |
194 | LLT_MUTABLE = 317, | |
195 | LLT_NOTHING = 318, | |
196 | LLT_INTERNAL = 319, | |
197 | LLT_FILESYS = 320, | |
198 | LLT_OBJ = 321, | |
199 | LLT_OUT = 322, | |
200 | LLT_SEF = 323, | |
201 | LLT_ONLY = 324, | |
202 | LLT_PARTIAL = 325, | |
203 | LLT_OWNED = 326, | |
204 | LLT_DEPENDENT = 327, | |
205 | LLT_KEEP = 328, | |
206 | LLT_KEPT = 329, | |
207 | LLT_TEMP = 330, | |
208 | LLT_SHARED = 331, | |
209 | LLT_UNIQUE = 332, | |
210 | LLT_UNUSED = 333, | |
211 | LLT_EXITS = 334, | |
212 | LLT_MAYEXIT = 335, | |
213 | LLT_NEVEREXIT = 336, | |
214 | LLT_TRUEEXIT = 337, | |
215 | LLT_FALSEEXIT = 338, | |
216 | LLT_UNDEF = 339, | |
217 | LLT_KILLED = 340, | |
218 | LLT_CHECKMOD = 341, | |
219 | LLT_CHECKED = 342, | |
220 | LLT_UNCHECKED = 343, | |
221 | LLT_CHECKEDSTRICT = 344, | |
222 | LLT_TRUENULL = 345, | |
223 | LLT_FALSENULL = 346, | |
224 | LLT_LNULL = 347, | |
225 | LLT_LNOTNULL = 348, | |
226 | LLT_RETURNED = 349, | |
227 | LLT_OBSERVER = 350, | |
228 | LLT_EXPOSED = 351, | |
229 | LLT_REFCOUNTED = 352, | |
230 | LLT_REFS = 353, | |
231 | LLT_RELNULL = 354, | |
232 | LLT_RELDEF = 355, | |
233 | LLT_KILLREF = 356, | |
234 | LLT_NULLTERMINATED = 357, | |
235 | LLT_TEMPREF = 358, | |
236 | LLT_NEWREF = 359, | |
237 | LLT_PRIVATE = 360, | |
238 | LLT_REQUIRES = 361, | |
239 | LLT_RESULT = 362, | |
240 | LLT_SIZEOF = 363, | |
241 | LLT_SPEC = 364, | |
242 | LLT_TAGGEDUNION = 365, | |
243 | LLT_THEN = 366, | |
244 | LLT_TYPE = 367, | |
245 | LLT_TYPEDEF = 368, | |
246 | LLT_UNCHANGED = 369, | |
247 | LLT_USES = 370, | |
248 | LLT_CHAR = 371, | |
249 | LLT_CONST = 372, | |
250 | LLT_DOUBLE = 373, | |
251 | LLT_ENUM = 374, | |
252 | LLT_FLOAT = 375, | |
253 | LLT_INT = 376, | |
254 | LLT_ITER = 377, | |
255 | LLT_YIELD = 378, | |
256 | LLT_LONG = 379, | |
257 | LLT_SHORT = 380, | |
258 | LLT_SIGNED = 381, | |
259 | LLT_UNKNOWN = 382, | |
260 | LLT_STRUCT = 383, | |
261 | LLT_TELIPSIS = 384, | |
262 | LLT_UNION = 385, | |
263 | LLT_UNSIGNED = 386, | |
264 | LLT_VOID = 387, | |
265 | LLT_VOLATILE = 388, | |
266 | LLT_PRINTFLIKE = 389, | |
267 | LLT_SCANFLIKE = 390, | |
268 | LLT_MESSAGELIKE = 391 | |
269 | }; | |
270 | #endif | |
271 | /* Tokens. */ | |
272 | #define simpleOp 258 | |
273 | #define PREFIX_OP 259 | |
274 | #define POSTFIX_OP 260 | |
275 | #define LLT_MULOP 261 | |
276 | #define LLT_SEMI 262 | |
277 | #define LLT_VERTICALBAR 263 | |
278 | #define ITERATION_OP 264 | |
279 | #define selectSym 265 | |
280 | #define LLT_LBRACKET 266 | |
281 | #define LLT_LPAR 267 | |
282 | #define LLT_IF_THEN_ELSE 268 | |
283 | #define logicalOp 269 | |
284 | #define eqSepSym 270 | |
285 | #define equationSym 271 | |
286 | #define commentSym 272 | |
287 | #define LLT_WHITESPACE 273 | |
288 | #define LLT_EOL 274 | |
289 | #define LLT_TYPEDEF_NAME 275 | |
290 | #define quantifierSym 276 | |
291 | #define openSym 277 | |
292 | #define closeSym 278 | |
293 | #define sepSym 279 | |
294 | #define simpleId 280 | |
295 | #define mapSym 281 | |
296 | #define markerSym 282 | |
297 | #define preSym 283 | |
298 | #define postSym 284 | |
299 | #define anySym 285 | |
300 | #define LLT_COLON 286 | |
301 | #define LLT_COMMA 287 | |
302 | #define LLT_EQUALS 288 | |
303 | #define LLT_LBRACE 289 | |
304 | #define LLT_RBRACE 290 | |
305 | #define LLT_RBRACKET 291 | |
306 | #define LLT_RPAR 292 | |
307 | #define LLT_QUOTE 293 | |
308 | #define eqOp 294 | |
309 | #define LLT_CCHAR 295 | |
310 | #define LLT_CFLOAT 296 | |
311 | #define LLT_CINTEGER 297 | |
312 | #define LLT_LCSTRING 298 | |
313 | #define LLT_ALL 299 | |
314 | #define LLT_ANYTHING 300 | |
315 | #define LLT_BE 301 | |
316 | #define LLT_BODY 302 | |
317 | #define LLT_CLAIMS 303 | |
318 | #define LLT_CHECKS 304 | |
319 | #define LLT_CONSTANT 305 | |
320 | #define LLT_ELSE 306 | |
321 | #define LLT_ENSURES 307 | |
322 | #define LLT_FOR 308 | |
323 | #define LLT_FRESH 309 | |
324 | #define LLT_IF 310 | |
325 | #define LLT_IMMUTABLE 311 | |
326 | #define LLT_IMPORTS 312 | |
327 | #define LLT_CONSTRAINT 313 | |
328 | #define LLT_ISSUB 314 | |
329 | #define LLT_LET 315 | |
330 | #define LLT_MODIFIES 316 | |
331 | #define LLT_MUTABLE 317 | |
332 | #define LLT_NOTHING 318 | |
333 | #define LLT_INTERNAL 319 | |
334 | #define LLT_FILESYS 320 | |
335 | #define LLT_OBJ 321 | |
336 | #define LLT_OUT 322 | |
337 | #define LLT_SEF 323 | |
338 | #define LLT_ONLY 324 | |
339 | #define LLT_PARTIAL 325 | |
340 | #define LLT_OWNED 326 | |
341 | #define LLT_DEPENDENT 327 | |
342 | #define LLT_KEEP 328 | |
343 | #define LLT_KEPT 329 | |
344 | #define LLT_TEMP 330 | |
345 | #define LLT_SHARED 331 | |
346 | #define LLT_UNIQUE 332 | |
347 | #define LLT_UNUSED 333 | |
348 | #define LLT_EXITS 334 | |
349 | #define LLT_MAYEXIT 335 | |
350 | #define LLT_NEVEREXIT 336 | |
351 | #define LLT_TRUEEXIT 337 | |
352 | #define LLT_FALSEEXIT 338 | |
353 | #define LLT_UNDEF 339 | |
354 | #define LLT_KILLED 340 | |
355 | #define LLT_CHECKMOD 341 | |
356 | #define LLT_CHECKED 342 | |
357 | #define LLT_UNCHECKED 343 | |
358 | #define LLT_CHECKEDSTRICT 344 | |
359 | #define LLT_TRUENULL 345 | |
360 | #define LLT_FALSENULL 346 | |
361 | #define LLT_LNULL 347 | |
362 | #define LLT_LNOTNULL 348 | |
363 | #define LLT_RETURNED 349 | |
364 | #define LLT_OBSERVER 350 | |
365 | #define LLT_EXPOSED 351 | |
366 | #define LLT_REFCOUNTED 352 | |
367 | #define LLT_REFS 353 | |
368 | #define LLT_RELNULL 354 | |
369 | #define LLT_RELDEF 355 | |
370 | #define LLT_KILLREF 356 | |
371 | #define LLT_NULLTERMINATED 357 | |
372 | #define LLT_TEMPREF 358 | |
373 | #define LLT_NEWREF 359 | |
374 | #define LLT_PRIVATE 360 | |
375 | #define LLT_REQUIRES 361 | |
376 | #define LLT_RESULT 362 | |
377 | #define LLT_SIZEOF 363 | |
378 | #define LLT_SPEC 364 | |
379 | #define LLT_TAGGEDUNION 365 | |
380 | #define LLT_THEN 366 | |
381 | #define LLT_TYPE 367 | |
382 | #define LLT_TYPEDEF 368 | |
383 | #define LLT_UNCHANGED 369 | |
384 | #define LLT_USES 370 | |
385 | #define LLT_CHAR 371 | |
386 | #define LLT_CONST 372 | |
387 | #define LLT_DOUBLE 373 | |
388 | #define LLT_ENUM 374 | |
389 | #define LLT_FLOAT 375 | |
390 | #define LLT_INT 376 | |
391 | #define LLT_ITER 377 | |
392 | #define LLT_YIELD 378 | |
393 | #define LLT_LONG 379 | |
394 | #define LLT_SHORT 380 | |
395 | #define LLT_SIGNED 381 | |
396 | #define LLT_UNKNOWN 382 | |
397 | #define LLT_STRUCT 383 | |
398 | #define LLT_TELIPSIS 384 | |
399 | #define LLT_UNION 385 | |
400 | #define LLT_UNSIGNED 386 | |
401 | #define LLT_VOID 387 | |
402 | #define LLT_VOLATILE 388 | |
403 | #define LLT_PRINTFLIKE 389 | |
404 | #define LLT_SCANFLIKE 390 | |
405 | #define LLT_MESSAGELIKE 391 | |
406 | ||
407 | ||
408 | ||
409 | ||
410 | /* Copy the first part of user declarations. */ | |
885824d3 | 411 | |
885824d3 | 412 | |
413 | ||
1b8ae690 | 414 | # include "splintMacros.nf" |
b73d1009 | 415 | # include "basic.h" |
885824d3 | 416 | # include "lclscan.h" |
417 | # include "checking.h" | |
418 | # include "lslparse.h" | |
419 | # include "lh.h" | |
420 | # include "usymtab_interface.h" | |
421 | ||
422 | /*@-noparams@*/ | |
423 | static /*@unused@*/ void yyprint (); | |
424 | /*@=noparams@*/ | |
425 | ||
426 | /*@-redecl@*/ | |
80489f0a | 427 | void ylerror (char *) /*@modifies *g_warningstream@*/ ; |
885824d3 | 428 | /*@=redecl@*/ |
429 | ||
430 | bool g_inTypeDef = FALSE; | |
431 | ||
432 | /*@constant int YYDEBUG;@*/ | |
433 | # define YYDEBUG 1 | |
434 | ||
435 | /*@notfunction@*/ | |
436 | # define YYPRINT(file, type, value) yyprint (file, type, value) | |
437 | ||
a0a162cd | 438 | /* |
439 | ** This is necessary, or else when the bison-generated code #include's malloc.h, | |
440 | ** there will be a parse error. | |
441 | ** | |
442 | ** Unfortunately, it means the error checking on malloc, etc. is lost for allocations | |
443 | ** in bison-generated files under Win32. | |
444 | */ | |
445 | ||
446 | # ifdef WIN32 | |
447 | # undef malloc | |
448 | # undef calloc | |
449 | # undef realloc | |
450 | # endif | |
885824d3 | 451 | |
452 | ||
08cf8642 | 453 | |
454 | /* Enabling traces. */ | |
455 | #ifndef YYDEBUG | |
456 | # define YYDEBUG 1 | |
457 | #endif | |
458 | ||
459 | /* Enabling verbose error messages. */ | |
460 | #ifdef YYERROR_VERBOSE | |
461 | # undef YYERROR_VERBOSE | |
462 | # define YYERROR_VERBOSE 1 | |
463 | #else | |
464 | # define YYERROR_VERBOSE 0 | |
465 | #endif | |
466 | ||
467 | /* Enabling the token table. */ | |
468 | #ifndef YYTOKEN_TABLE | |
469 | # define YYTOKEN_TABLE 0 | |
470 | #endif | |
471 | ||
472 | #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED | |
473 | typedef union YYSTYPE | |
474 | ||
368f75ae | 475 | { |
885824d3 | 476 | ltoken ltok; /* a leaf is also an ltoken */ |
477 | qual typequal; | |
478 | unsigned int count; | |
479 | /*@only@*/ ltokenList ltokenList; | |
480 | /*@only@*/ abstDeclaratorNode abstDecl; | |
481 | /*@only@*/ declaratorNode declare; | |
482 | /*@only@*/ declaratorNodeList declarelist; | |
483 | /*@only@*/ typeExpr typeexpr; | |
484 | /*@only@*/ arrayQualNode array; | |
485 | /*@only@*/ quantifierNode quantifier; | |
486 | /*@only@*/ quantifierNodeList quantifiers; | |
487 | /*@only@*/ varNode var; | |
488 | /*@only@*/ varNodeList vars; | |
489 | /*@only@*/ storeRefNode storeref; | |
490 | /*@only@*/ storeRefNodeList storereflist; | |
491 | /*@only@*/ termNode term; | |
492 | /*@only@*/ termNodeList termlist; | |
493 | /*@only@*/ programNode program; | |
494 | /*@only@*/ stmtNode stmt; | |
495 | /*@only@*/ claimNode claim; | |
496 | /*@only@*/ typeNode type; | |
497 | /*@only@*/ iterNode iter; | |
498 | /*@only@*/ fcnNode fcn; | |
499 | /*@only@*/ fcnNodeList fcns; | |
500 | /*@only@*/ letDeclNode letdecl; | |
501 | /*@only@*/ letDeclNodeList letdecls; | |
502 | /*@only@*/ lclPredicateNode lclpredicate; | |
503 | /*@only@*/ modifyNode modify; | |
504 | /*@only@*/ paramNode param; | |
505 | /*@only@*/ paramNodeList paramlist; | |
506 | /*@only@*/ declaratorInvNodeList declaratorinvs; | |
507 | /*@only@*/ declaratorInvNode declaratorinv; | |
508 | /*@only@*/ abstBodyNode abstbody; | |
509 | /*@only@*/ abstractNode abstract; | |
510 | /*@only@*/ exposedNode exposed; | |
f9264521 | 511 | /*@only@*/ pointers pointers; |
885824d3 | 512 | /* taggedUnionNode taggedunion; */ |
513 | /*@only@*/ globalList globals; | |
514 | /*@only@*/ constDeclarationNode constdeclaration; | |
515 | /*@only@*/ varDeclarationNode vardeclaration; | |
516 | /*@only@*/ varDeclarationNodeList vardeclarationlist; | |
517 | /*@only@*/ initDeclNodeList initdecls; | |
518 | /*@only@*/ initDeclNode initdecl; | |
519 | /*@only@*/ stDeclNodeList structdecls; | |
520 | /*@only@*/ stDeclNode structdecl; | |
521 | /*@only@*/ strOrUnionNode structorunion; | |
522 | /*@only@*/ enumSpecNode enumspec; | |
523 | /*@only@*/ lclTypeSpecNode lcltypespec; | |
524 | /*@only@*/ typeNameNode typname; | |
525 | /*@only@*/ opFormNode opform; | |
526 | /*@only@*/ sigNode signature; | |
527 | /*@only@*/ nameNode name; | |
528 | /*@only@*/ typeNameNodeList namelist; | |
529 | /*@only@*/ replaceNode replace; | |
530 | /*@only@*/ replaceNodeList replacelist; | |
531 | /*@only@*/ renamingNode renaming; | |
532 | /*@only@*/ traitRefNode traitref; | |
533 | /*@only@*/ traitRefNodeList traitreflist; | |
534 | /*@only@*/ importNode import; | |
535 | /*@only@*/ importNodeList importlist; | |
536 | /*@only@*/ interfaceNode iface; | |
537 | /*@only@*/ interfaceNodeList interfacelist; | |
538 | /*@only@*/ CTypesNode ctypes; | |
c05aefaa | 539 | /*@-redef@*/ |
08cf8642 | 540 | } |
541 | /* Line 193 of yacc.c. */ | |
542 | ||
543 | YYSTYPE; | |
544 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */ | |
545 | # define YYSTYPE_IS_DECLARED 1 | |
e5081f8c | 546 | # define YYSTYPE_IS_TRIVIAL 1 |
0866200b | 547 | #endif |
08cf8642 | 548 | |
549 | ||
550 | ||
551 | /* Copy the second part of user declarations. */ | |
552 | ||
553 | ||
554 | /* Line 216 of yacc.c. */ | |
555 | ||
556 | ||
557 | #ifdef short | |
558 | # undef short | |
559 | #endif | |
560 | ||
561 | #ifdef YYTYPE_UINT8 | |
562 | typedef YYTYPE_UINT8 yytype_uint8; | |
563 | #else | |
564 | typedef unsigned char yytype_uint8; | |
565 | #endif | |
566 | ||
567 | #ifdef YYTYPE_INT8 | |
568 | typedef YYTYPE_INT8 yytype_int8; | |
569 | #elif (defined __STDC__ || defined __C99__FUNC__ \ | |
570 | || defined __cplusplus || defined _MSC_VER) | |
571 | typedef signed char yytype_int8; | |
572 | #else | |
573 | typedef short int yytype_int8; | |
574 | #endif | |
575 | ||
576 | #ifdef YYTYPE_UINT16 | |
577 | typedef YYTYPE_UINT16 yytype_uint16; | |
578 | #else | |
579 | typedef unsigned short int yytype_uint16; | |
368f75ae | 580 | #endif |
a889b5ee | 581 | |
08cf8642 | 582 | #ifdef YYTYPE_INT16 |
583 | typedef YYTYPE_INT16 yytype_int16; | |
584 | #else | |
585 | typedef short int yytype_int16; | |
586 | #endif | |
587 | ||
588 | #ifndef YYSIZE_T | |
589 | # ifdef __SIZE_TYPE__ | |
590 | # define YYSIZE_T __SIZE_TYPE__ | |
591 | # elif defined size_t | |
592 | # define YYSIZE_T size_t | |
593 | # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ | |
594 | || defined __cplusplus || defined _MSC_VER) | |
595 | # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ | |
596 | # define YYSIZE_T size_t | |
597 | # else | |
598 | # define YYSIZE_T unsigned int | |
599 | # endif | |
600 | #endif | |
601 | ||
602 | #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) | |
603 | ||
604 | #ifndef YY_ | |
605 | # if YYENABLE_NLS | |
606 | # if ENABLE_NLS | |
607 | # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ | |
608 | # define YY_(msgid) dgettext ("bison-runtime", msgid) | |
609 | # endif | |
610 | # endif | |
611 | # ifndef YY_ | |
612 | # define YY_(msgid) msgid | |
613 | # endif | |
614 | #endif | |
615 | ||
616 | /* Suppress unused-variable warnings by "using" E. */ | |
617 | #if ! defined lint || defined __GNUC__ | |
618 | # define YYUSE(e) ((void) (e)) | |
619 | #else | |
620 | # define YYUSE(e) /* empty */ | |
621 | #endif | |
622 | ||
623 | /* Identity function, used to suppress warnings about constant conditions. */ | |
624 | #ifndef lint | |
625 | # define YYID(n) (n) | |
626 | #else | |
627 | #if (defined __STDC__ || defined __C99__FUNC__ \ | |
628 | || defined __cplusplus || defined _MSC_VER) | |
629 | static int | |
630 | YYID (int i) | |
631 | #else | |
632 | static int | |
633 | YYID (i) | |
634 | int i; | |
635 | #endif | |
636 | { | |
637 | return i; | |
638 | } | |
639 | #endif | |
640 | ||
641 | #if ! defined yyoverflow || YYERROR_VERBOSE | |
642 | ||
643 | /* The parser invokes alloca or malloc; define the necessary symbols. */ | |
644 | ||
645 | # ifdef YYSTACK_USE_ALLOCA | |
646 | # if YYSTACK_USE_ALLOCA | |
647 | # ifdef __GNUC__ | |
648 | # define YYSTACK_ALLOC __builtin_alloca | |
649 | # elif defined __BUILTIN_VA_ARG_INCR | |
650 | # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ | |
651 | # elif defined _AIX | |
652 | # define YYSTACK_ALLOC __alloca | |
653 | # elif defined _MSC_VER | |
654 | # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ | |
655 | # define alloca _alloca | |
656 | # else | |
657 | # define YYSTACK_ALLOC alloca | |
658 | # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | |
659 | || defined __cplusplus || defined _MSC_VER) | |
660 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | |
661 | # ifndef _STDLIB_H | |
662 | # define _STDLIB_H 1 | |
663 | # endif | |
664 | # endif | |
665 | # endif | |
666 | # endif | |
667 | # endif | |
668 | ||
669 | # ifdef YYSTACK_ALLOC | |
670 | /* Pacify GCC's `empty if-body' warning. */ | |
671 | # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) | |
672 | # ifndef YYSTACK_ALLOC_MAXIMUM | |
673 | /* The OS might guarantee only one guard page at the bottom of the stack, | |
674 | and a page size can be as small as 4096 bytes. So we cannot safely | |
675 | invoke alloca (N) if N exceeds 4096. Use a slightly smaller number | |
676 | to allow for a few compiler-allocated temporary stack slots. */ | |
677 | # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ | |
678 | # endif | |
679 | # else | |
680 | # define YYSTACK_ALLOC YYMALLOC | |
681 | # define YYSTACK_FREE YYFREE | |
682 | # ifndef YYSTACK_ALLOC_MAXIMUM | |
683 | # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM | |
684 | # endif | |
685 | # if (defined __cplusplus && ! defined _STDLIB_H \ | |
686 | && ! ((defined YYMALLOC || defined malloc) \ | |
687 | && (defined YYFREE || defined free))) | |
688 | # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ | |
689 | # ifndef _STDLIB_H | |
690 | # define _STDLIB_H 1 | |
691 | # endif | |
692 | # endif | |
693 | # ifndef YYMALLOC | |
694 | # define YYMALLOC malloc | |
695 | # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | |
696 | || defined __cplusplus || defined _MSC_VER) | |
697 | void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ | |
698 | # endif | |
699 | # endif | |
700 | # ifndef YYFREE | |
701 | # define YYFREE free | |
702 | # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ | |
703 | || defined __cplusplus || defined _MSC_VER) | |
704 | void free (void *); /* INFRINGES ON USER NAME SPACE */ | |
705 | # endif | |
706 | # endif | |
707 | # endif | |
708 | #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ | |
885824d3 | 709 | |
710 | ||
08cf8642 | 711 | #if (! defined yyoverflow \ |
712 | && (! defined __cplusplus \ | |
713 | || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) | |
714 | ||
715 | /* A type that is properly aligned for any stack member. */ | |
716 | union yyalloc | |
717 | { | |
718 | yytype_int16 yyss; | |
719 | YYSTYPE yyvs; | |
720 | }; | |
721 | ||
722 | /* The size of the maximum gap between one aligned stack and the next. */ | |
723 | # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) | |
724 | ||
725 | /* The size of an array large to enough to hold all stacks, each with | |
726 | N elements. */ | |
727 | # define YYSTACK_BYTES(N) \ | |
728 | ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ | |
729 | + YYSTACK_GAP_MAXIMUM) | |
730 | ||
731 | /* Copy COUNT objects from FROM to TO. The source and destination do | |
732 | not overlap. */ | |
733 | # ifndef YYCOPY | |
734 | # if defined __GNUC__ && 1 < __GNUC__ | |
735 | # define YYCOPY(To, From, Count) \ | |
736 | __builtin_memcpy (To, From, (Count) * sizeof (*(From))) | |
737 | # else | |
738 | # define YYCOPY(To, From, Count) \ | |
739 | do \ | |
740 | { \ | |
741 | YYSIZE_T yyi; \ | |
742 | for (yyi = 0; yyi < (Count); yyi++) \ | |
743 | (To)[yyi] = (From)[yyi]; \ | |
744 | } \ | |
745 | while (YYID (0)) | |
746 | # endif | |
747 | # endif | |
748 | ||
749 | /* Relocate STACK from its old location to the new one. The | |
750 | local variables YYSIZE and YYSTACKSIZE give the old and new number of | |
751 | elements in the stack, and YYPTR gives the new location of the | |
752 | stack. Advance YYPTR to a properly aligned location for the next | |
753 | stack. */ | |
754 | # define YYSTACK_RELOCATE(Stack) \ | |
755 | do \ | |
756 | { \ | |
757 | YYSIZE_T yynewbytes; \ | |
758 | YYCOPY (&yyptr->Stack, Stack, yysize); \ | |
759 | Stack = &yyptr->Stack; \ | |
760 | yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ | |
761 | yyptr += yynewbytes / sizeof (*yyptr); \ | |
762 | } \ | |
763 | while (YYID (0)) | |
885824d3 | 764 | |
08cf8642 | 765 | #endif |
885824d3 | 766 | |
08cf8642 | 767 | /* YYFINAL -- State number of the termination state. */ |
768 | #define YYFINAL 3 | |
769 | /* YYLAST -- Last index in YYTABLE. */ | |
770 | #define YYLAST 3314 | |
771 | ||
772 | /* YYNTOKENS -- Number of terminals. */ | |
773 | #define YYNTOKENS 137 | |
774 | /* YYNNTS -- Number of nonterminals. */ | |
775 | #define YYNNTS 155 | |
776 | /* YYNRULES -- Number of rules. */ | |
777 | #define YYNRULES 414 | |
778 | /* YYNRULES -- Number of states. */ | |
779 | #define YYNSTATES 684 | |
780 | ||
781 | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ | |
782 | #define YYUNDEFTOK 2 | |
783 | #define YYMAXUTOK 391 | |
784 | ||
785 | #define YYTRANSLATE(YYX) \ | |
786 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) | |
787 | ||
788 | /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ | |
789 | static const yytype_uint8 yytranslate[] = | |
e5081f8c | 790 | { |
791 | 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
792 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
793 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
794 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
795 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
796 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
797 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
798 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
799 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
800 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
801 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
802 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
803 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
804 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
805 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
806 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
807 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
808 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
809 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
810 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
811 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
812 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
813 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
814 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
815 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
08cf8642 | 816 | 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
817 | 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, | |
818 | 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, | |
819 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, | |
820 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, | |
821 | 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, | |
822 | 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, | |
823 | 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, | |
824 | 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, | |
825 | 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, | |
826 | 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, | |
827 | 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, | |
828 | 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, | |
829 | 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, | |
830 | 135, 136 | |
885824d3 | 831 | }; |
832 | ||
e5081f8c | 833 | #if YYDEBUG |
08cf8642 | 834 | /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in |
835 | YYRHS. */ | |
836 | static const yytype_uint16 yyprhs[] = | |
e5081f8c | 837 | { |
08cf8642 | 838 | 0, 0, 3, 4, 8, 9, 12, 14, 16, 17, |
839 | 20, 23, 24, 27, 29, 31, 33, 37, 41, 43, | |
840 | 45, 47, 49, 51, 53, 60, 61, 63, 65, 69, | |
841 | 72, 74, 75, 79, 81, 83, 85, 87, 92, 96, | |
842 | 101, 106, 108, 110, 112, 114, 116, 117, 131, 132, | |
843 | 147, 148, 162, 167, 168, 169, 176, 177, 178, 186, | |
844 | 187, 188, 196, 197, 198, 205, 206, 207, 214, 217, | |
845 | 220, 222, 226, 228, 232, 234, 236, 240, 242, 244, | |
846 | 248, 250, 255, 259, 266, 268, 272, 274, 276, 280, | |
847 | 282, 286, 288, 292, 296, 300, 305, 307, 309, 311, | |
848 | 313, 315, 319, 321, 325, 326, 329, 333, 336, 339, | |
849 | 340, 343, 348, 349, 353, 355, 359, 365, 369, 371, | |
850 | 372, 376, 377, 381, 382, 386, 390, 394, 396, 400, | |
851 | 402, 404, 407, 409, 411, 412, 416, 417, 421, 422, | |
852 | 424, 426, 428, 432, 434, 438, 439, 444, 450, 452, | |
853 | 456, 459, 463, 467, 472, 476, 482, 489, 491, 495, | |
854 | 497, 499, 502, 505, 509, 513, 517, 522, 524, 528, | |
855 | 533, 537, 538, 541, 542, 544, 545, 552, 554, 558, | |
856 | 559, 563, 564, 568, 570, 572, 574, 576, 578, 580, | |
857 | 582, 584, 586, 588, 590, 593, 595, 597, 599, 601, | |
858 | 603, 605, 607, 609, 611, 613, 615, 617, 619, 621, | |
859 | 623, 625, 627, 629, 631, 633, 635, 637, 639, 641, | |
860 | 643, 645, 647, 649, 651, 653, 655, 657, 659, 661, | |
861 | 663, 665, 667, 669, 671, 673, 675, 678, 684, 686, | |
862 | 689, 691, 694, 695, 702, 703, 710, 713, 716, 717, | |
863 | 719, 721, 724, 728, 730, 734, 735, 737, 744, 747, | |
864 | 749, 753, 755, 757, 759, 763, 766, 769, 773, 778, | |
865 | 780, 784, 787, 790, 794, 799, 801, 804, 807, 811, | |
866 | 816, 819, 822, 825, 828, 832, 834, 835, 837, 841, | |
867 | 844, 846, 848, 851, 855, 859, 864, 867, 871, 878, | |
868 | 880, 883, 886, 890, 894, 899, 904, 910, 914, 919, | |
869 | 924, 930, 933, 936, 940, 944, 946, 948, 950, 952, | |
870 | 954, 956, 958, 959, 961, 963, 967, 969, 971, 976, | |
871 | 977, 979, 981, 985, 987, 989, 996, 998, 1002, 1004, | |
872 | 1009, 1013, 1017, 1019, 1022, 1025, 1027, 1029, 1031, 1034, | |
873 | 1036, 1039, 1042, 1046, 1048, 1050, 1053, 1056, 1060, 1062, | |
874 | 1065, 1069, 1071, 1077, 1081, 1086, 1089, 1093, 1096, 1098, | |
875 | 1102, 1106, 1108, 1113, 1115, 1118, 1122, 1126, 1130, 1135, | |
876 | 1139, 1141, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1162, | |
877 | 1167, 1172, 1177, 1184, 1189, 1191, 1193, 1195, 1197, 1199, | |
878 | 1202, 1203, 1207, 1209, 1213, 1217, 1222, 1224, 1226, 1228, | |
879 | 1230, 1232, 1234, 1236, 1238 | |
885824d3 | 880 | }; |
08cf8642 | 881 | |
882 | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ | |
883 | static const yytype_int16 yyrhs[] = | |
e5081f8c | 884 | { |
08cf8642 | 885 | 138, 0, -1, -1, 140, 139, 142, -1, -1, 140, |
886 | 141, -1, 145, -1, 146, -1, -1, 147, 143, -1, | |
887 | 152, 143, -1, -1, 143, 144, -1, 147, -1, 152, | |
888 | -1, 146, -1, 57, 176, 7, -1, 115, 180, 7, | |
889 | -1, 155, -1, 156, -1, 157, -1, 159, -1, 162, | |
890 | -1, 148, -1, 122, 286, 12, 149, 37, 7, -1, | |
891 | -1, 150, -1, 151, -1, 150, 32, 151, -1, 123, | |
892 | 245, -1, 245, -1, -1, 109, 153, 154, -1, 155, | |
893 | -1, 156, -1, 157, -1, 159, -1, 50, 228, 190, | |
894 | 7, -1, 228, 190, 7, -1, 117, 228, 190, 7, | |
895 | -1, 133, 228, 190, 7, -1, 164, -1, 173, -1, | |
896 | 134, -1, 135, -1, 136, -1, -1, 228, 241, 192, | |
897 | 160, 34, 194, 196, 200, 201, 202, 205, 206, 35, | |
898 | -1, -1, 158, 228, 241, 192, 161, 34, 194, 196, | |
899 | 200, 201, 202, 205, 206, 35, -1, -1, 48, 288, | |
900 | 12, 207, 37, 192, 163, 34, 196, 201, 210, 205, | |
901 | 35, -1, 48, 285, 288, 7, -1, -1, -1, 62, | |
902 | 165, 112, 20, 166, 215, -1, -1, -1, 62, 167, | |
903 | 97, 112, 20, 168, 215, -1, -1, -1, 97, 62, | |
904 | 169, 112, 20, 170, 215, -1, -1, -1, 56, 171, | |
905 | 112, 20, 172, 215, -1, -1, -1, 113, 228, 174, | |
906 | 220, 175, 7, -1, 231, 7, -1, 239, 7, -1, | |
907 | 177, -1, 176, 32, 177, -1, 179, -1, 3, 179, | |
908 | 3, -1, 43, -1, 179, -1, 178, 32, 179, -1, | |
909 | 284, -1, 181, -1, 180, 32, 181, -1, 290, -1, | |
910 | 290, 12, 183, 37, -1, 12, 182, 37, -1, 12, | |
911 | 182, 37, 12, 183, 37, -1, 290, -1, 182, 32, | |
912 | 290, -1, 185, -1, 184, -1, 184, 32, 185, -1, | |
913 | 246, -1, 184, 32, 246, -1, 186, -1, 185, 32, | |
914 | 186, -1, 246, 53, 224, -1, 246, 53, 187, -1, | |
915 | 246, 53, 187, 257, -1, 291, -1, 250, -1, 189, | |
916 | -1, 261, -1, 191, -1, 190, 32, 191, -1, 241, | |
917 | -1, 241, 33, 188, -1, -1, 192, 193, -1, 228, | |
918 | 190, 7, -1, 64, 7, -1, 65, 7, -1, -1, | |
919 | 194, 195, -1, 105, 228, 190, 7, -1, -1, 60, | |
920 | 197, 7, -1, 198, -1, 197, 32, 198, -1, 286, | |
921 | 31, 199, 46, 261, -1, 286, 46, 261, -1, 228, | |
922 | -1, -1, 49, 260, 7, -1, -1, 106, 260, 7, | |
923 | -1, -1, 61, 63, 7, -1, 61, 45, 7, -1, | |
924 | 61, 203, 7, -1, 204, -1, 203, 32, 204, -1, | |
925 | 261, -1, 229, -1, 66, 229, -1, 64, -1, 65, | |
926 | -1, -1, 52, 260, 7, -1, -1, 48, 260, 7, | |
927 | -1, -1, 208, -1, 209, -1, 129, -1, 209, 32, | |
928 | 129, -1, 245, -1, 209, 32, 245, -1, -1, 47, | |
929 | 34, 211, 35, -1, 47, 34, 211, 7, 35, -1, | |
930 | 212, -1, 12, 211, 37, -1, 211, 6, -1, 211, | |
931 | 8, 211, -1, 211, 7, 211, -1, 285, 12, 213, | |
932 | 37, -1, 285, 12, 37, -1, 286, 33, 285, 12, | |
933 | 37, -1, 286, 33, 285, 12, 213, 37, -1, 214, | |
934 | -1, 213, 32, 214, -1, 278, -1, 286, -1, 3, | |
935 | 214, -1, 214, 3, -1, 214, 3, 214, -1, 12, | |
936 | 214, 37, -1, 285, 12, 37, -1, 285, 12, 213, | |
937 | 37, -1, 7, -1, 34, 216, 35, -1, 34, 178, | |
938 | 35, 7, -1, 34, 35, 7, -1, -1, 216, 159, | |
939 | -1, -1, 218, -1, -1, 58, 219, 280, 12, 260, | |
940 | 37, -1, 221, -1, 220, 32, 221, -1, -1, 241, | |
941 | 222, 223, -1, -1, 34, 217, 35, -1, 132, -1, | |
942 | 116, -1, 118, -1, 120, -1, 121, -1, 124, -1, | |
943 | 125, -1, 126, -1, 131, -1, 127, -1, 224, -1, | |
944 | 225, 224, -1, 20, -1, 225, -1, 67, -1, 78, | |
945 | -1, 68, -1, 69, -1, 71, -1, 72, -1, 73, | |
946 | -1, 74, -1, 95, -1, 79, -1, 80, -1, 82, | |
947 | -1, 83, -1, 81, -1, 75, -1, 76, -1, 77, | |
948 | -1, 87, -1, 88, -1, 89, -1, 90, -1, 91, | |
949 | -1, 99, -1, 100, -1, 97, -1, 98, -1, 104, | |
950 | -1, 101, -1, 92, -1, 93, -1, 94, -1, 96, | |
951 | -1, 70, -1, 102, -1, 84, -1, 85, -1, 226, | |
952 | -1, 231, -1, 239, -1, 227, 228, -1, 8, 229, | |
953 | 31, 229, 8, -1, 228, -1, 228, 230, -1, 6, | |
954 | -1, 230, 6, -1, -1, 128, 234, 232, 34, 235, | |
955 | 35, -1, -1, 130, 234, 233, 34, 235, 35, -1, | |
956 | 128, 287, -1, 130, 287, -1, -1, 287, -1, 236, | |
957 | -1, 235, 236, -1, 228, 237, 7, -1, 241, -1, | |
958 | 237, 32, 241, -1, -1, 32, -1, 119, 234, 34, | |
959 | 240, 238, 35, -1, 119, 287, -1, 25, -1, 240, | |
960 | 32, 25, -1, 243, -1, 242, -1, 286, -1, 12, | |
961 | 242, 37, -1, 6, 242, -1, 242, 249, -1, 242, | |
962 | 12, 37, -1, 242, 12, 208, 37, -1, 20, -1, | |
963 | 12, 243, 37, -1, 6, 243, -1, 243, 249, -1, | |
964 | 243, 12, 37, -1, 243, 12, 208, 37, -1, 20, | |
965 | -1, 6, 244, -1, 244, 249, -1, 244, 12, 37, | |
966 | -1, 244, 12, 208, 37, -1, 228, 244, -1, 228, | |
967 | 242, -1, 228, 247, -1, 228, 247, -1, 66, 228, | |
968 | 247, -1, 250, -1, -1, 248, -1, 12, 248, 37, | |
969 | -1, 6, 248, -1, 6, -1, 249, -1, 248, 249, | |
970 | -1, 248, 12, 37, -1, 12, 208, 37, -1, 248, | |
971 | 12, 208, 37, -1, 11, 36, -1, 11, 189, 36, | |
972 | -1, 55, 27, 111, 27, 51, 27, -1, 253, -1, | |
973 | 27, 253, -1, 253, 27, -1, 27, 253, 27, -1, | |
974 | 251, 254, 252, -1, 27, 251, 254, 252, -1, 251, | |
975 | 254, 252, 27, -1, 27, 251, 254, 252, 27, -1, | |
976 | 11, 254, 36, -1, 11, 254, 36, 27, -1, 27, | |
977 | 11, 254, 36, -1, 27, 11, 254, 36, 27, -1, | |
978 | 10, 284, -1, 26, 284, -1, 27, 10, 284, -1, | |
979 | 27, 26, 284, -1, 22, -1, 34, -1, 23, -1, | |
980 | 35, -1, 265, -1, 14, -1, 39, -1, -1, 255, | |
981 | -1, 27, -1, 255, 256, 27, -1, 32, -1, 24, | |
982 | -1, 31, 258, 26, 289, -1, -1, 259, -1, 289, | |
983 | -1, 259, 32, 289, -1, 261, -1, 262, -1, 55, | |
984 | 262, 111, 262, 51, 262, -1, 263, -1, 262, 14, | |
985 | 262, -1, 264, -1, 279, 12, 260, 37, -1, 264, | |
986 | 39, 264, -1, 264, 33, 264, -1, 266, -1, 269, | |
987 | 267, -1, 269, 268, -1, 3, -1, 6, -1, 269, | |
988 | -1, 265, 266, -1, 265, -1, 267, 265, -1, 265, | |
989 | 269, -1, 268, 265, 269, -1, 274, -1, 270, -1, | |
990 | 270, 274, -1, 274, 270, -1, 274, 270, 274, -1, | |
991 | 271, -1, 271, 274, -1, 272, 31, 289, -1, 272, | |
992 | -1, 11, 273, 36, 31, 289, -1, 11, 273, 36, | |
993 | -1, 11, 36, 31, 289, -1, 11, 36, -1, 251, | |
994 | 273, 252, -1, 251, 252, -1, 261, -1, 273, 256, | |
995 | 261, -1, 12, 262, 37, -1, 286, -1, 291, 12, | |
996 | 275, 37, -1, 277, -1, 274, 276, -1, 274, 10, | |
997 | 284, -1, 274, 26, 284, -1, 274, 11, 36, -1, | |
998 | 274, 11, 275, 36, -1, 274, 31, 289, -1, 262, | |
999 | -1, 275, 32, 262, -1, 28, -1, 29, -1, 30, | |
1000 | -1, 38, -1, 278, -1, 107, -1, 54, 12, 275, | |
1001 | 37, -1, 114, 12, 44, 37, -1, 114, 12, 203, | |
1002 | 37, -1, 108, 12, 261, 37, -1, 59, 12, 261, | |
1003 | 32, 261, 37, -1, 108, 12, 228, 37, -1, 42, | |
1004 | -1, 43, -1, 40, -1, 41, -1, 280, -1, 279, | |
1005 | 280, -1, -1, 21, 281, 282, -1, 283, -1, 282, | |
1006 | 32, 283, -1, 286, 31, 199, -1, 286, 31, 66, | |
1007 | 199, -1, 25, -1, 20, -1, 25, -1, 25, -1, | |
1008 | 284, -1, 284, -1, 284, -1, 284, -1, 284, -1 | |
885824d3 | 1009 | }; |
1010 | ||
08cf8642 | 1011 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
1012 | static const yytype_uint16 yyrline[] = | |
e5081f8c | 1013 | { |
08cf8642 | 1014 | 0, 382, 382, 382, 387, 388, 392, 393, 397, 398, |
1015 | 399, 403, 404, 408, 409, 410, 414, 421, 426, 428, | |
1016 | 430, 432, 434, 436, 441, 446, 447, 451, 453, 458, | |
1017 | 459, 463, 463, 468, 470, 472, 474, 479, 484, 486, | |
1018 | 488, 493, 494, 498, 499, 500, 504, 504, 512, 512, | |
1019 | 526, 525, 530, 535, 535, 535, 537, 538, 537, 540, | |
1020 | 541, 540, 543, 543, 543, 548, 549, 548, 551, 553, | |
1021 | 570, 572, 577, 578, 580, 584, 585, 589, 594, 596, | |
1022 | 601, 603, 605, 607, 612, 613, 617, 619, 621, 625, | |
1023 | 627, 631, 633, 637, 638, 639, 644, 645, 648, 651, | |
1024 | 655, 657, 662, 663, 668, 669, 674, 675, 676, 680, | |
1025 | 681, 685, 690, 691, 695, 696, 700, 701, 704, 708, | |
1026 | 709, 713, 714, 718, 719, 720, 721, 725, 726, 730, | |
1027 | 731, 732, 733, 734, 738, 739, 743, 744, 748, 749, | |
1028 | 753, 754, 755, 759, 760, 764, 765, 766, 770, 771, | |
1029 | 774, 779, 785, 794, 796, 798, 800, 805, 806, 810, | |
1030 | 811, 812, 813, 814, 815, 816, 818, 823, 824, 825, | |
1031 | 826, 830, 831, 835, 836, 840, 840, 850, 851, 856, | |
1032 | 856, 861, 862, 866, 867, 868, 869, 870, 871, 872, | |
1033 | 873, 874, 875, 884, 885, 891, 893, 900, 901, 902, | |
1034 | 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, | |
1035 | 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, | |
1036 | 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, | |
1037 | 933, 934, 935, 939, 941, 943, 945, 947, 957, 958, | |
1038 | 964, 965, 970, 969, 974, 973, 977, 979, 984, 985, | |
1039 | 989, 990, 996, 1000, 1002, 1007, 1008, 1012, 1014, 1019, | |
1040 | 1020, 1031, 1032, 1036, 1037, 1038, 1039, 1040, 1041, 1045, | |
1041 | 1046, 1047, 1048, 1049, 1050, 1060, 1061, 1062, 1063, 1064, | |
1042 | 1071, 1072, 1073, 1084, 1085, 1086, 1092, 1093, 1097, 1098, | |
1043 | 1099, 1100, 1101, 1102, 1103, 1104, 1108, 1109, 1113, 1115, | |
1044 | 1117, 1119, 1121, 1124, 1126, 1128, 1130, 1132, 1134, 1142, | |
1045 | 1144, 1146, 1149, 1152, 1155, 1161, 1162, 1166, 1167, 1171, | |
1046 | 1172, 1173, 1177, 1178, 1182, 1183, 1187, 1188, 1192, 1196, | |
1047 | 1197, 1201, 1202, 1206, 1210, 1217, 1219, 1220, 1224, 1225, | |
1048 | 1230, 1232, 1237, 1238, 1239, 1243, 1244, 1248, 1249, 1253, | |
1049 | 1254, 1258, 1259, 1263, 1264, 1265, 1266, 1267, 1268, 1269, | |
1050 | 1273, 1274, 1278, 1281, 1283, 1287, 1292, 1293, 1297, 1298, | |
1051 | 1302, 1304, 1306, 1308, 1309, 1311, 1313, 1315, 1318, 1320, | |
1052 | 1325, 1326, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340, | |
1053 | 1341, 1342, 1347, 1353, 1364, 1365, 1366, 1367, 1371, 1373, | |
1054 | 1378, 1378, 1386, 1387, 1391, 1392, 1396, 1397, 1401, 1402, | |
1055 | 1403, 1404, 1405, 1406, 1407 | |
885824d3 | 1056 | }; |
1057 | #endif | |
1058 | ||
08cf8642 | 1059 | #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
1060 | /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. | |
1061 | First, the terminals, then, starting at YYNTOKENS, nonterminals. */ | |
e5081f8c | 1062 | static const char *const yytname[] = |
1063 | { | |
08cf8642 | 1064 | "$end", "error", "$undefined", "simpleOp", "PREFIX_OP", "POSTFIX_OP", |
1065 | "LLT_MULOP", "LLT_SEMI", "LLT_VERTICALBAR", "ITERATION_OP", "selectSym", | |
1066 | "LLT_LBRACKET", "LLT_LPAR", "LLT_IF_THEN_ELSE", "logicalOp", "eqSepSym", | |
1067 | "equationSym", "commentSym", "LLT_WHITESPACE", "LLT_EOL", | |
1068 | "LLT_TYPEDEF_NAME", "quantifierSym", "openSym", "closeSym", "sepSym", | |
1069 | "simpleId", "mapSym", "markerSym", "preSym", "postSym", "anySym", | |
1070 | "LLT_COLON", "LLT_COMMA", "LLT_EQUALS", "LLT_LBRACE", "LLT_RBRACE", | |
1071 | "LLT_RBRACKET", "LLT_RPAR", "LLT_QUOTE", "eqOp", "LLT_CCHAR", | |
1072 | "LLT_CFLOAT", "LLT_CINTEGER", "LLT_LCSTRING", "LLT_ALL", "LLT_ANYTHING", | |
1073 | "LLT_BE", "LLT_BODY", "LLT_CLAIMS", "LLT_CHECKS", "LLT_CONSTANT", | |
1074 | "LLT_ELSE", "LLT_ENSURES", "LLT_FOR", "LLT_FRESH", "LLT_IF", | |
1075 | "LLT_IMMUTABLE", "LLT_IMPORTS", "LLT_CONSTRAINT", "LLT_ISSUB", "LLT_LET", | |
1076 | "LLT_MODIFIES", "LLT_MUTABLE", "LLT_NOTHING", "LLT_INTERNAL", | |
1077 | "LLT_FILESYS", "LLT_OBJ", "LLT_OUT", "LLT_SEF", "LLT_ONLY", | |
1078 | "LLT_PARTIAL", "LLT_OWNED", "LLT_DEPENDENT", "LLT_KEEP", "LLT_KEPT", | |
1079 | "LLT_TEMP", "LLT_SHARED", "LLT_UNIQUE", "LLT_UNUSED", "LLT_EXITS", | |
1080 | "LLT_MAYEXIT", "LLT_NEVEREXIT", "LLT_TRUEEXIT", "LLT_FALSEEXIT", | |
1081 | "LLT_UNDEF", "LLT_KILLED", "LLT_CHECKMOD", "LLT_CHECKED", | |
1082 | "LLT_UNCHECKED", "LLT_CHECKEDSTRICT", "LLT_TRUENULL", "LLT_FALSENULL", | |
1083 | "LLT_LNULL", "LLT_LNOTNULL", "LLT_RETURNED", "LLT_OBSERVER", | |
1084 | "LLT_EXPOSED", "LLT_REFCOUNTED", "LLT_REFS", "LLT_RELNULL", "LLT_RELDEF", | |
1085 | "LLT_KILLREF", "LLT_NULLTERMINATED", "LLT_TEMPREF", "LLT_NEWREF", | |
1086 | "LLT_PRIVATE", "LLT_REQUIRES", "LLT_RESULT", "LLT_SIZEOF", "LLT_SPEC", | |
1087 | "LLT_TAGGEDUNION", "LLT_THEN", "LLT_TYPE", "LLT_TYPEDEF", | |
1088 | "LLT_UNCHANGED", "LLT_USES", "LLT_CHAR", "LLT_CONST", "LLT_DOUBLE", | |
1089 | "LLT_ENUM", "LLT_FLOAT", "LLT_INT", "LLT_ITER", "LLT_YIELD", "LLT_LONG", | |
1090 | "LLT_SHORT", "LLT_SIGNED", "LLT_UNKNOWN", "LLT_STRUCT", "LLT_TELIPSIS", | |
1091 | "LLT_UNION", "LLT_UNSIGNED", "LLT_VOID", "LLT_VOLATILE", | |
1092 | "LLT_PRINTFLIKE", "LLT_SCANFLIKE", "LLT_MESSAGELIKE", "$accept", | |
1093 | "interface", "@1", "externals", "external", "optDeclarations", | |
1094 | "declarations", "declaration", "imports", "uses", "export", "iter", | |
1095 | "iterParamList", "realIterParamList", "iterParam", "private", "@2", | |
1096 | "private2", "constDeclaration", "varDeclaration", "type", "special", | |
1097 | "fcn", "@3", "@4", "claim", "@5", "abstract", "@6", "@7", "@8", "@9", | |
1098 | "@10", "@11", "@12", "@13", "exposed", "@14", "@15", "importNameList", | |
1099 | "importName", "interfaceNameList", "interfaceName", "traitRefNodeList", | |
1100 | "traitRef", "traitIdList", "renaming", "nameList", "replaceNodeList", | |
1101 | "replace", "name", "initializer", "constLclExpr", "initDecls", | |
1102 | "initDecl", "globals", "globalDecl", "privateInits", "privateInit", | |
1103 | "optLetDecl", "beDeclList", "beDecl", "sortSpec", "optChecks", | |
1104 | "optRequire", "optModify", "storeRefList", "storeRef", "optEnsure", | |
1105 | "optClaim", "optParamList", "realParamList", "paramList", "optBody", | |
1106 | "callExpr", "stmt", "valueList", "value", "abstBody", "fcns", | |
1107 | "optTypeInv", "typeInv", "@16", "declaratorInvs", "declaratorInv", "@17", | |
1108 | "optExposedBody", "CType", "CTypes", "typeSpecifier", "specialQualifier", | |
1109 | "lclTypeSpec", "lclType", "pointers", "structOrUnionSpec", "@18", "@19", | |
1110 | "optTagId", "structDecls", "structDecl", "declaratorList", "optCOMMA", | |
1111 | "enumSpec", "enumeratorList", "declarator", "notype_decl", | |
1112 | "after_type_decl", "parameter_decl", "param", "typeName", | |
1113 | "optAbstDeclarator", "abstDeclarator", "arrayQual", "opForm", "open", | |
1114 | "close", "anyOp", "middle", "placeList", "separator", "signature", | |
1115 | "domain", "sortList", "lclPredicate", "term", "term0", "equalityTerm", | |
1116 | "simpleOpTerm", "simpleOp2", "prefixOpTerm", "postfixOps", "infixOpPart", | |
1117 | "secondary", "bracketed", "sqBracketed", "matched", "args", "primary", | |
1118 | "termList", "stateFcn", "lclPrimary", "cLiteral", "quantifiers", | |
1119 | "quantifier", "@20", "quantifiedList", "quantified", | |
1120 | "simpleIdOrTypedefName", "fcnId", "varId", "tagId", "claimId", "sortId", | |
1121 | "traitId", "opId", 0 | |
885824d3 | 1122 | }; |
1123 | #endif | |
1124 | ||
08cf8642 | 1125 | # ifdef YYPRINT |
1126 | /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to | |
1127 | token YYLEX-NUM. */ | |
1128 | static const yytype_uint16 yytoknum[] = | |
1129 | { | |
1130 | 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, | |
1131 | 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, | |
1132 | 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, | |
1133 | 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, | |
1134 | 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, | |
1135 | 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, | |
1136 | 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, | |
1137 | 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, | |
1138 | 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, | |
1139 | 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, | |
1140 | 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, | |
1141 | 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, | |
1142 | 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, | |
1143 | 385, 386, 387, 388, 389, 390, 391 | |
1144 | }; | |
1145 | # endif | |
1146 | ||
1147 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ | |
1148 | static const yytype_uint16 yyr1[] = | |
e5081f8c | 1149 | { |
08cf8642 | 1150 | 0, 137, 139, 138, 140, 140, 141, 141, 142, 142, |
1151 | 142, 143, 143, 144, 144, 144, 145, 146, 147, 147, | |
1152 | 147, 147, 147, 147, 148, 149, 149, 150, 150, 151, | |
1153 | 151, 153, 152, 154, 154, 154, 154, 155, 156, 156, | |
1154 | 156, 157, 157, 158, 158, 158, 160, 159, 161, 159, | |
1155 | 163, 162, 162, 165, 166, 164, 167, 168, 164, 169, | |
1156 | 170, 164, 171, 172, 164, 174, 175, 173, 173, 173, | |
1157 | 176, 176, 177, 177, 177, 178, 178, 179, 180, 180, | |
1158 | 181, 181, 181, 181, 182, 182, 183, 183, 183, 184, | |
1159 | 184, 185, 185, 186, 186, 186, 187, 187, 188, 189, | |
1160 | 190, 190, 191, 191, 192, 192, 193, 193, 193, 194, | |
1161 | 194, 195, 196, 196, 197, 197, 198, 198, 199, 200, | |
1162 | 200, 201, 201, 202, 202, 202, 202, 203, 203, 204, | |
1163 | 204, 204, 204, 204, 205, 205, 206, 206, 207, 207, | |
1164 | 208, 208, 208, 209, 209, 210, 210, 210, 211, 211, | |
1165 | 211, 211, 211, 212, 212, 212, 212, 213, 213, 214, | |
1166 | 214, 214, 214, 214, 214, 214, 214, 215, 215, 215, | |
1167 | 215, 216, 216, 217, 217, 219, 218, 220, 220, 222, | |
1168 | 221, 223, 223, 224, 224, 224, 224, 224, 224, 224, | |
1169 | 224, 224, 224, 225, 225, 226, 226, 227, 227, 227, | |
1170 | 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, | |
1171 | 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, | |
1172 | 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, | |
1173 | 227, 227, 227, 228, 228, 228, 228, 228, 229, 229, | |
1174 | 230, 230, 232, 231, 233, 231, 231, 231, 234, 234, | |
1175 | 235, 235, 236, 237, 237, 238, 238, 239, 239, 240, | |
1176 | 240, 241, 241, 242, 242, 242, 242, 242, 242, 243, | |
1177 | 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, | |
1178 | 245, 245, 245, 246, 246, 246, 247, 247, 248, 248, | |
1179 | 248, 248, 248, 248, 248, 248, 249, 249, 250, 250, | |
1180 | 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, | |
1181 | 250, 250, 250, 250, 250, 251, 251, 252, 252, 253, | |
1182 | 253, 253, 254, 254, 255, 255, 256, 256, 257, 258, | |
1183 | 258, 259, 259, 260, 261, 262, 262, 262, 263, 263, | |
1184 | 263, 263, 264, 264, 264, 265, 265, 266, 266, 267, | |
1185 | 267, 268, 268, 269, 269, 269, 269, 269, 269, 269, | |
1186 | 270, 270, 271, 271, 271, 271, 272, 272, 273, 273, | |
1187 | 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, | |
1188 | 275, 275, 276, 276, 276, 276, 277, 277, 277, 277, | |
1189 | 277, 277, 277, 277, 278, 278, 278, 278, 279, 279, | |
1190 | 281, 280, 282, 282, 283, 283, 284, 284, 285, 286, | |
1191 | 287, 288, 289, 290, 291 | |
885824d3 | 1192 | }; |
1193 | ||
08cf8642 | 1194 | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
1195 | static const yytype_uint8 yyr2[] = | |
e5081f8c | 1196 | { |
08cf8642 | 1197 | 0, 2, 0, 3, 0, 2, 1, 1, 0, 2, |
1198 | 2, 0, 2, 1, 1, 1, 3, 3, 1, 1, | |
1199 | 1, 1, 1, 1, 6, 0, 1, 1, 3, 2, | |
1200 | 1, 0, 3, 1, 1, 1, 1, 4, 3, 4, | |
1201 | 4, 1, 1, 1, 1, 1, 0, 13, 0, 14, | |
1202 | 0, 13, 4, 0, 0, 6, 0, 0, 7, 0, | |
1203 | 0, 7, 0, 0, 6, 0, 0, 6, 2, 2, | |
1204 | 1, 3, 1, 3, 1, 1, 3, 1, 1, 3, | |
1205 | 1, 4, 3, 6, 1, 3, 1, 1, 3, 1, | |
1206 | 3, 1, 3, 3, 3, 4, 1, 1, 1, 1, | |
1207 | 1, 3, 1, 3, 0, 2, 3, 2, 2, 0, | |
1208 | 2, 4, 0, 3, 1, 3, 5, 3, 1, 0, | |
1209 | 3, 0, 3, 0, 3, 3, 3, 1, 3, 1, | |
1210 | 1, 2, 1, 1, 0, 3, 0, 3, 0, 1, | |
1211 | 1, 1, 3, 1, 3, 0, 4, 5, 1, 3, | |
1212 | 2, 3, 3, 4, 3, 5, 6, 1, 3, 1, | |
1213 | 1, 2, 2, 3, 3, 3, 4, 1, 3, 4, | |
1214 | 3, 0, 2, 0, 1, 0, 6, 1, 3, 0, | |
1215 | 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, | |
1216 | 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, | |
e5081f8c | 1217 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1218 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | |
1219 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, | |
08cf8642 | 1220 | 1, 1, 1, 1, 1, 1, 2, 5, 1, 2, |
1221 | 1, 2, 0, 6, 0, 6, 2, 2, 0, 1, | |
1222 | 1, 2, 3, 1, 3, 0, 1, 6, 2, 1, | |
1223 | 3, 1, 1, 1, 3, 2, 2, 3, 4, 1, | |
1224 | 3, 2, 2, 3, 4, 1, 2, 2, 3, 4, | |
1225 | 2, 2, 2, 2, 3, 1, 0, 1, 3, 2, | |
1226 | 1, 1, 2, 3, 3, 4, 2, 3, 6, 1, | |
1227 | 2, 2, 3, 3, 4, 4, 5, 3, 4, 4, | |
1228 | 5, 2, 2, 3, 3, 1, 1, 1, 1, 1, | |
1229 | 1, 1, 0, 1, 1, 3, 1, 1, 4, 0, | |
1230 | 1, 1, 3, 1, 1, 6, 1, 3, 1, 4, | |
1231 | 3, 3, 1, 2, 2, 1, 1, 1, 2, 1, | |
1232 | 2, 2, 3, 1, 1, 2, 2, 3, 1, 2, | |
1233 | 3, 1, 5, 3, 4, 2, 3, 2, 1, 3, | |
1234 | 3, 1, 4, 1, 2, 3, 3, 3, 4, 3, | |
1235 | 1, 3, 1, 1, 1, 1, 1, 1, 4, 4, | |
1236 | 4, 4, 6, 4, 1, 1, 1, 1, 1, 2, | |
1237 | 0, 3, 1, 3, 3, 4, 1, 1, 1, 1, | |
1238 | 1, 1, 1, 1, 1 | |
885824d3 | 1239 | }; |
1240 | ||
08cf8642 | 1241 | /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
1242 | STATE-NUM when YYTABLE doesn't specify something else to do. Zero | |
1243 | means the default is an error. */ | |
1244 | static const yytype_uint16 yydefact[] = | |
e5081f8c | 1245 | { |
08cf8642 | 1246 | 4, 0, 2, 1, 0, 0, 8, 5, 6, 7, |
1247 | 0, 407, 406, 74, 0, 70, 72, 77, 0, 0, | |
1248 | 78, 413, 80, 0, 195, 0, 0, 62, 53, 197, | |
1249 | 199, 200, 229, 201, 202, 203, 204, 211, 212, 213, | |
1250 | 198, 206, 207, 210, 208, 209, 231, 232, 214, 215, | |
1251 | 216, 217, 218, 225, 226, 227, 205, 228, 221, 222, | |
1252 | 219, 220, 224, 230, 223, 31, 0, 184, 0, 185, | |
1253 | 248, 186, 187, 0, 188, 189, 190, 192, 248, 248, | |
1254 | 191, 183, 0, 43, 44, 45, 3, 11, 23, 11, | |
1255 | 18, 19, 20, 0, 21, 22, 41, 42, 193, 196, | |
1256 | 233, 0, 0, 234, 235, 0, 16, 0, 0, 84, | |
1257 | 17, 0, 0, 221, 238, 0, 234, 235, 408, 411, | |
1258 | 0, 0, 0, 0, 0, 0, 59, 0, 65, 0, | |
1259 | 0, 410, 258, 409, 0, 242, 246, 244, 247, 0, | |
1260 | 9, 10, 0, 194, 236, 0, 0, 269, 0, 100, | |
1261 | 104, 262, 261, 263, 68, 69, 73, 71, 0, 82, | |
1262 | 79, 345, 346, 0, 322, 320, 315, 0, 0, 316, | |
1263 | 321, 0, 0, 0, 87, 86, 91, 286, 89, 285, | |
1264 | 322, 299, 319, 240, 239, 0, 0, 138, 0, 102, | |
1265 | 0, 0, 0, 0, 32, 33, 34, 35, 36, 0, | |
1266 | 0, 0, 25, 0, 0, 0, 12, 15, 13, 14, | |
1267 | 104, 265, 271, 0, 0, 38, 0, 0, 46, 0, | |
1268 | 0, 266, 0, 272, 85, 0, 311, 324, 0, 323, | |
1269 | 312, 0, 322, 0, 322, 300, 0, 286, 81, 0, | |
1270 | 0, 290, 0, 283, 287, 291, 0, 0, 301, 241, | |
1271 | 0, 52, 141, 0, 139, 140, 286, 143, 37, 63, | |
1272 | 54, 0, 0, 66, 177, 179, 39, 259, 255, 0, | |
1273 | 0, 26, 27, 30, 0, 0, 40, 48, 264, 270, | |
1274 | 101, 0, 0, 400, 409, 396, 397, 394, 395, 0, | |
1275 | 0, 0, 387, 0, 0, 103, 98, 0, 99, 334, | |
1276 | 336, 338, 0, 342, 347, 354, 358, 361, 353, 373, | |
1277 | 386, 0, 398, 414, 371, 0, 0, 0, 0, 105, | |
1278 | 0, 296, 0, 267, 0, 273, 0, 0, 307, 327, | |
1279 | 326, 0, 313, 0, 314, 0, 302, 0, 284, 88, | |
1280 | 90, 92, 0, 289, 0, 0, 0, 292, 94, 93, | |
1281 | 97, 96, 317, 318, 303, 237, 104, 0, 290, 0, | |
1282 | 275, 281, 280, 282, 0, 0, 57, 60, 0, 0, | |
1283 | 181, 256, 0, 29, 0, 0, 0, 0, 250, 0, | |
1284 | 0, 365, 368, 0, 0, 0, 0, 0, 0, 0, | |
1285 | 0, 367, 0, 0, 0, 0, 348, 347, 349, 343, | |
1286 | 344, 355, 359, 0, 0, 0, 0, 382, 383, 384, | |
1287 | 0, 385, 356, 374, 0, 399, 0, 107, 108, 109, | |
1288 | 0, 297, 268, 274, 83, 308, 325, 309, 304, 0, | |
1289 | 294, 288, 293, 0, 329, 95, 305, 50, 142, 144, | |
1290 | 276, 290, 0, 277, 167, 171, 64, 55, 0, 0, | |
1291 | 178, 67, 173, 180, 260, 257, 24, 28, 0, 253, | |
1292 | 243, 251, 245, 109, 0, 363, 0, 370, 401, 402, | |
1293 | 0, 380, 0, 0, 0, 195, 0, 0, 0, 132, | |
1294 | 133, 0, 0, 127, 130, 129, 366, 337, 341, 340, | |
1295 | 351, 350, 0, 412, 360, 375, 377, 0, 376, 379, | |
1296 | 357, 0, 333, 0, 112, 106, 310, 306, 0, 295, | |
1297 | 0, 330, 331, 0, 278, 0, 0, 0, 75, 0, | |
1298 | 58, 61, 175, 0, 174, 252, 0, 112, 364, 0, | |
1299 | 369, 0, 0, 0, 388, 0, 0, 393, 391, 389, | |
1300 | 131, 0, 390, 352, 378, 339, 372, 0, 0, 110, | |
1301 | 119, 298, 0, 0, 112, 279, 170, 0, 0, 168, | |
1302 | 172, 0, 0, 182, 254, 119, 362, 403, 0, 404, | |
1303 | 118, 381, 0, 0, 128, 0, 114, 0, 0, 0, | |
1304 | 121, 328, 332, 121, 76, 169, 104, 0, 121, 405, | |
1305 | 335, 392, 113, 0, 0, 0, 0, 0, 0, 123, | |
1306 | 145, 0, 123, 115, 0, 117, 111, 120, 0, 0, | |
1307 | 134, 0, 134, 0, 134, 0, 122, 0, 0, 0, | |
1308 | 0, 136, 0, 0, 176, 136, 116, 125, 124, 126, | |
1309 | 0, 0, 0, 0, 409, 0, 148, 0, 0, 51, | |
1310 | 0, 135, 0, 47, 0, 150, 0, 0, 146, 0, | |
1311 | 0, 49, 137, 0, 149, 147, 152, 151, 0, 0, | |
1312 | 154, 0, 157, 159, 0, 160, 408, 0, 161, 0, | |
1313 | 0, 153, 162, 0, 0, 164, 158, 163, 165, 0, | |
1314 | 155, 0, 166, 156 | |
885824d3 | 1315 | }; |
1316 | ||
08cf8642 | 1317 | /* YYDEFGOTO[NTERM-NUM]. */ |
1318 | static const yytype_int16 yydefgoto[] = | |
e5081f8c | 1319 | { |
08cf8642 | 1320 | -1, 1, 6, 2, 7, 86, 140, 206, 8, 207, |
1321 | 208, 88, 270, 271, 272, 209, 127, 194, 90, 91, | |
1322 | 92, 93, 94, 318, 380, 95, 513, 96, 124, 365, | |
1323 | 125, 448, 193, 449, 123, 364, 97, 199, 369, 14, | |
1324 | 15, 517, 16, 19, 20, 108, 173, 174, 175, 176, | |
1325 | 348, 295, 296, 148, 149, 218, 319, 504, 549, 550, | |
1326 | 575, 576, 569, 580, 599, 610, 482, 483, 621, 632, | |
1327 | 253, 344, 255, 612, 656, 636, 661, 662, 446, 519, | |
1328 | 523, 524, 562, 263, 264, 370, 453, 98, 99, 100, | |
1329 | 101, 256, 484, 184, 116, 203, 204, 130, 377, 378, | |
1330 | 458, 372, 117, 268, 189, 151, 152, 362, 257, 178, | |
1331 | 243, 244, 245, 179, 297, 354, 181, 228, 229, 466, | |
1332 | 435, 510, 511, 501, 502, 299, 300, 301, 302, 303, | |
1333 | 399, 400, 304, 305, 306, 307, 383, 308, 472, 413, | |
1334 | 309, 310, 311, 312, 385, 468, 469, 313, 664, 314, | |
1335 | 132, 121, 494, 22, 315 | |
885824d3 | 1336 | }; |
1337 | ||
08cf8642 | 1338 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
1339 | STATE-NUM. */ | |
1340 | #define YYPACT_NINF -607 | |
1341 | static const yytype_int16 yypact[] = | |
e5081f8c | 1342 | { |
08cf8642 | 1343 | -607, 50, -29, -607, 198, 89, 1350, -607, -607, -607, |
1344 | 208, -607, -607, -607, 65, -607, -607, -607, 208, 110, | |
1345 | -607, -607, 45, 2903, -607, 276, 2903, -607, 18, -607, | |
1346 | -607, -607, -607, -607, -607, -607, -607, -607, -607, -607, | |
1347 | -607, -607, -607, -607, -607, -607, -607, -607, -607, -607, | |
1348 | -607, -607, -607, -607, -607, -607, -607, -607, 85, -607, | |
1349 | -607, -607, -607, -607, -607, -607, 2903, -607, 2903, -607, | |
1350 | 208, -607, -607, 133, -607, -607, -607, -607, 208, 208, | |
1351 | -607, -607, 2903, -607, -607, -607, -607, -607, -607, -607, | |
1352 | -607, -607, -607, 2903, -607, -607, -607, -607, -607, 399, | |
1353 | -607, 2903, 336, 155, 192, 185, -607, 198, 268, -607, | |
1354 | -607, 89, 1152, -607, 213, 199, -607, -607, 297, -607, | |
1355 | 208, 305, 336, 240, 242, 273, -607, 1445, -607, 336, | |
1356 | 333, -607, 359, -607, 369, -607, 359, -607, 359, 336, | |
1357 | 1247, 1247, 336, -607, -607, 336, 336, -607, 139, -607, | |
1358 | 145, 416, 422, -607, -607, -607, -607, -607, 208, 388, | |
1359 | -607, -607, -607, 208, 360, -607, -607, 208, 471, -607, | |
1360 | -607, 376, 2903, 398, 393, 406, -607, 347, 387, -607, | |
1361 | 360, 445, -607, -607, 456, 2903, 476, 2319, 143, 457, | |
1362 | 474, 484, 397, 404, -607, -607, -607, -607, -607, 336, | |
1363 | 150, 481, 2414, 477, 488, 166, -607, -607, -607, -607, | |
1364 | -607, 416, 422, 239, 279, -607, 336, 3150, 1836, 272, | |
1365 | 1933, -607, 2030, -607, -607, 1152, -607, -607, 482, 224, | |
1366 | -607, 208, 360, 208, 360, 501, 418, 347, -607, 1152, | |
1367 | 1152, 347, 1741, -607, 433, -607, 453, 118, -607, -607, | |
1368 | 524, -607, -607, 496, -607, 503, 435, -607, -607, -607, | |
1369 | -607, 517, 519, 508, -607, -607, -607, -607, 509, 2903, | |
1370 | 505, 512, -607, -607, 2903, 2903, -607, 1836, -607, -607, | |
1371 | -607, 3059, 3150, -607, 297, -607, -607, -607, -607, 533, | |
1372 | 3150, 534, -607, 535, 536, -607, -607, 3033, -607, 537, | |
1373 | -607, 304, 3200, -607, 329, 1155, 1155, 521, 654, -607, | |
1374 | -607, 188, -607, -607, -607, 538, 547, 548, 522, -607, | |
1375 | 336, -607, 523, -607, 527, -607, 528, 529, 540, -607, | |
1376 | -607, 541, -607, 525, -607, 118, -607, 543, -607, 406, | |
1377 | 387, -607, 387, 433, 539, 292, 2127, -607, 544, -607, | |
1378 | -607, -607, -607, -607, 545, -607, -607, 2509, 435, 1644, | |
1379 | -607, 416, 446, -607, 35, 35, -607, -607, 336, 553, | |
1380 | 549, 556, 551, -607, 580, 2414, 336, 2611, -607, 2713, | |
1381 | 554, 559, -607, 381, 44, 133, 3150, -1, 3150, 1022, | |
1382 | 762, -607, 375, 3150, 3200, 3200, -607, -607, 335, 329, | |
1383 | 329, 236, 236, 208, 208, 3109, 208, -607, -607, -607, | |
1384 | 208, -607, 1155, -607, 3150, -607, 3150, -607, -607, -607, | |
1385 | 189, -607, -607, -607, -607, -607, -607, 564, 565, 550, | |
1386 | -607, -607, -607, 557, 208, -607, -607, 1836, -607, -607, | |
1387 | 446, 459, 2224, -607, -607, 182, -607, -607, 35, 35, | |
1388 | -607, -607, 542, -607, -607, -607, -607, -607, 197, -607, | |
1389 | -607, -607, -607, -607, 208, 567, 3150, -607, 563, -607, | |
1390 | 568, 537, 293, 3150, 570, 584, 566, 573, 574, -607, | |
1391 | -607, 2903, 312, -607, -607, -607, -607, -607, -607, -607, | |
1392 | -607, -607, 335, -607, -607, -607, -607, 394, -607, -607, | |
1393 | 236, 575, -607, 331, -15, -607, -607, -607, 578, -607, | |
1394 | 588, 583, -607, 582, -607, 586, 610, 247, -607, 1547, | |
1395 | -607, -607, -607, 585, -607, -607, 336, -15, -607, 208, | |
1396 | -607, 133, 2808, 3150, -607, 25, 3150, -607, -607, -607, | |
1397 | -607, 892, -607, -607, -607, -607, -607, 133, 2903, -607, | |
1398 | 577, -607, 208, 208, 569, -607, -607, 208, 617, -607, | |
1399 | -607, 336, 606, -607, -607, 577, -607, -607, 2903, -607, | |
1400 | -607, 537, 3150, 594, -607, 270, -607, 77, 336, 3150, | |
1401 | 530, -607, -607, 530, -607, -607, -607, 625, 530, -607, | |
1402 | 537, -607, -607, 133, 2903, 3150, 278, 634, 3150, 581, | |
1403 | 592, 3150, 581, -607, 599, -607, -607, -607, 639, 632, | |
1404 | 595, 614, 595, 612, 595, 3150, -607, 643, 644, 288, | |
1405 | 3150, 607, 181, 621, -607, 607, -607, -607, -607, -607, | |
1406 | 651, 3150, 624, 181, 648, 126, -607, 649, 629, -607, | |
1407 | 628, -607, 660, -607, 48, -607, 299, 181, -607, 212, | |
1408 | 645, -607, -607, 181, -607, -607, 661, -607, 202, 202, | |
1409 | -607, 351, 665, -607, 659, -607, -607, 666, -607, 43, | |
1410 | 202, -607, 246, 379, 411, -607, 665, -607, -607, 358, | |
1411 | -607, 365, -607, -607 | |
885824d3 | 1412 | }; |
1413 | ||
08cf8642 | 1414 | /* YYPGOTO[NTERM-NUM]. */ |
1415 | static const yytype_int16 yypgoto[] = | |
e5081f8c | 1416 | { |
08cf8642 | 1417 | -607, -607, -607, -607, -607, -607, 590, -607, -607, 679, |
1418 | 683, -607, -607, -607, 315, 687, -607, -607, 591, 608, | |
1419 | 611, -607, -123, -607, -607, -607, -607, -607, -607, -607, | |
1420 | -607, -607, -607, -607, -607, -607, -607, -607, -607, -607, | |
1421 | 587, -607, -8, -607, 626, -607, 516, -607, 504, 502, | |
1422 | -607, -607, 526, -110, 531, -190, -607, 281, -607, -483, | |
1423 | -607, 156, -520, 190, -159, 152, 157, 220, -353, 142, | |
1424 | -607, -182, -607, -607, -554, -607, -185, -606, -322, -607, | |
1425 | -607, -607, -607, -607, 401, -607, -607, -91, -607, -607, | |
1426 | -607, -5, -20, -607, 29, -607, -607, 417, 497, -6, | |
1427 | -607, -607, 54, -607, -95, -119, 353, 413, -178, 261, | |
1428 | -137, -210, -22, 532, -14, -248, 609, -121, -607, 546, | |
1429 | -607, -607, -607, -528, -203, -265, -607, 108, -101, 478, | |
1430 | -607, -607, -280, 468, -607, -607, 489, -269, -285, -607, | |
1431 | -607, -308, -607, -305, -607, -607, 248, 5, -25, -40, | |
1432 | 434, 668, -369, 16, 552 | |
885824d3 | 1433 | }; |
1434 | ||
08cf8642 | 1435 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
1436 | positive, shift that token. If negative, reduce the rule which | |
1437 | number is the opposite. If zero, do what YYDEFACT says. | |
1438 | If YYTABLE_NINF, syntax error. */ | |
1439 | #define YYTABLE_NINF -409 | |
1440 | static const yytype_int16 yytable[] = | |
e5081f8c | 1441 | { |
08cf8642 | 1442 | 120, 102, 105, 115, 198, 254, 415, 150, 143, 17, |
1443 | 21, 182, 188, 393, 298, 17, 298, 384, 114, 200, | |
1444 | 277, 122, 397, 21, 273, 387, 211, 213, 4, 205, | |
1445 | 119, 343, 345, 134, 109, 103, 401, 402, 324, 393, | |
1446 | 326, 499, 444, 447, 565, 547, 672, 210, 589, 391, | |
1447 | 3, 597, 668, 669, 645, 653, 647, 112, 393, 247, | |
1448 | 104, 128, 153, 129, 676, 512, 677, 182, 635, 445, | |
1449 | 608, 583, 106, 613, 604, 131, 572, 139, 382, 644, | |
1450 | 675, 467, 153, 131, 131, 654, 5, 428, 142, 153, | |
1451 | 548, 373, 630, 657, 382, 528, 144, 107, 180, 153, | |
1452 | 338, 18, 153, 642, 265, 153, 153, 177, 594, 11, | |
1453 | 473, 333, 17, 335, 12, -56, 21, 110, 490, 363, | |
1454 | 497, 471, 102, 595, 182, 119, 520, 521, 487, 221, | |
1455 | 223, 503, 645, 646, 647, 102, 102, 361, 182, 182, | |
1456 | 471, 352, 111, 500, 486, 182, 215, 126, 343, 345, | |
1457 | 258, 471, -102, 353, 234, 349, 103, 266, 133, 153, | |
1458 | 566, 648, 154, 21, 433, 250, 437, 237, 226, 103, | |
1459 | 103, 216, 230, 276, 224, 216, 153, -102, 217, 439, | |
1460 | 114, 104, 216, 581, 582, 474, 477, 485, 156, 221, | |
1461 | 223, 221, 223, 633, 104, 104, 505, 273, 216, 155, | |
1462 | 414, 10, 11, 398, 525, 658, 634, 12, 535, 283, | |
1463 | 420, 180, 543, 320, 659, 658, 153, 516, 11, 183, | |
1464 | 177, 216, 347, 12, 659, 180, 180, 634, 11, 526, | |
1465 | 185, 343, 180, 12, 177, 177, 332, 634, 334, 211, | |
1466 | 213, 13, 285, 286, 287, 288, 404, 405, 329, 660, | |
1467 | 219, 220, 285, 286, 287, 288, 330, 587, 659, 623, | |
1468 | 515, 625, 406, 530, 407, 408, 409, 410, 571, 376, | |
1469 | 376, 634, 320, 265, 411, 161, 278, 592, 162, 557, | |
1470 | 153, 459, 558, 281, 282, 606, 285, 286, 287, 288, | |
1471 | 219, 222, 11, 283, 166, 629, 11, 284, 491, 492, | |
1472 | 158, 118, 593, 219, 346, 159, 169, 590, 321, -406, | |
1473 | 216, 633, 285, 286, 287, 288, 279, 187, 153, 153, | |
1474 | 541, 347, 211, 347, 634, 533, 289, 290, 153, 431, | |
1475 | 534, 291, 161, 573, 655, 162, 153, 394, 485, 221, | |
1476 | 443, 663, 145, 395, 541, 470, 281, 282, 146, 542, | |
1477 | 663, 663, 190, 241, 191, 11, 147, 166, 219, 242, | |
1478 | 284, 133, 663, 533, 663, 663, 663, 201, 546, 169, | |
1479 | 192, 461, 376, 461, 376, 285, 286, 287, 288, 292, | |
1480 | 293, 202, 658, 670, 476, 114, 294, 227, 671, 289, | |
1481 | 670, 659, 605, -249, 291, 682, 560, 670, 352, 329, | |
1482 | 225, 153, 683, 236, 634, 329, 485, 330, 493, 495, | |
1483 | 353, 498, 626, 330, 658, 493, 678, 465, 443, 285, | |
1484 | 286, 287, 288, 659, 600, 239, 533, 219, 220, 602, | |
1485 | 544, 564, 320, 219, 222, 238, 634, 518, 240, 493, | |
1486 | 246, 358, 292, 293, 219, 346, 219, 359, 680, 294, | |
1487 | 17, 285, 286, 287, 288, 360, 161, 219, 442, 162, | |
1488 | 133, 540, 249, 163, 164, 441, 586, 165, 596, 493, | |
1489 | 219, 359, 248, 11, 161, 166, 114, 162, 12, 167, | |
1490 | 168, 231, 232, 251, 133, 165, 153, 169, 679, 681, | |
1491 | 217, 470, 170, 166, 259, 135, 137, 233, 212, 214, | |
1492 | 340, 342, 488, 489, 260, 169, 267, 577, 171, 261, | |
1493 | 170, 274, 136, 138, 561, 67, 262, 69, 328, 71, | |
1494 | 72, 153, 275, 74, 75, 76, 77, 570, 336, 337, | |
1495 | 80, 81, 355, 356, 493, 357, 114, 366, 153, 367, | |
1496 | 368, 371, 374, 578, 375, 386, 388, 389, 390, 584, | |
1497 | 416, 393, 403, 577, 417, 418, 419, 493, 493, 421, | |
1498 | 451, 427, 17, 570, 422, 423, 424, 425, 426, 67, | |
1499 | 429, 69, 436, 71, 72, 434, 430, 74, 75, 76, | |
1500 | 77, 454, 638, 452, 80, 81, 455, 456, 463, 570, | |
1501 | 464, 506, 507, 638, 509, 531, -407, 637, 529, 532, | |
1502 | 522, 508, 536, 537, 114, 551, 638, 638, 637, 665, | |
1503 | 538, 539, 545, 638, 552, 553, 554, 556, 665, 665, | |
1504 | 563, 637, 637, 555, 585, 667, 579, 283, 637, 547, | |
1505 | 665, 591, 665, 665, 665, 161, 598, 601, 162, 611, | |
1506 | 23, 607, 609, 281, 282, 615, 616, 620, 622, 624, | |
1507 | 627, 628, 475, 283, 166, 631, 639, 284, 641, 643, | |
1508 | -408, 649, 650, 651, 404, 405, 169, 652, 672, 647, | |
1509 | 666, 673, 285, 286, 287, 288, 166, 617, 674, 141, | |
1510 | 406, 9, 407, 408, 409, 410, 289, 290, 169, 87, | |
1511 | 457, 291, 411, 89, 157, 618, 479, 480, 481, 29, | |
1512 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, | |
1513 | 40, 41, 42, 43, 44, 45, 46, 47, 195, 48, | |
1514 | 49, 50, 51, 52, 53, 54, 55, 56, 57, 113, | |
1515 | 59, 60, 61, 62, 63, 196, 64, 160, 197, 292, | |
1516 | 293, 327, 341, 339, 527, 322, 294, 280, 67, 603, | |
1517 | 69, 70, 71, 72, 614, 588, 74, 75, 76, 77, | |
1518 | 78, 574, 79, 80, 81, 161, 619, 640, 162, 450, | |
1519 | 23, 440, 379, 281, 282, 331, 412, 235, 350, 567, | |
1520 | 396, 0, 475, 283, 166, 0, 392, 284, 186, 0, | |
1521 | 0, 0, 0, 0, 0, 0, 169, 0, 351, 0, | |
1522 | 0, 0, 285, 286, 287, 288, 478, 0, 0, 0, | |
1523 | 0, 0, 0, 0, 0, 0, 289, 290, 0, 0, | |
1524 | 0, 291, 0, 0, 0, 0, 479, 480, 481, 29, | |
8f58355a | 1525 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, |
08cf8642 | 1526 | 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, |
1527 | 49, 50, 51, 52, 53, 54, 55, 56, 57, 113, | |
1528 | 59, 60, 61, 62, 63, 0, 64, 0, 0, 292, | |
1529 | 293, 0, 0, 0, 0, 0, 294, 0, 67, 0, | |
1530 | 69, 70, 71, 72, 0, 0, 74, 75, 76, 77, | |
1531 | 78, 0, 79, 80, 81, 161, 0, 0, 162, 0, | |
1532 | 23, 0, 0, 281, 282, 0, 0, 0, 0, 0, | |
1533 | 0, 0, 475, 283, 166, 0, 0, 284, 0, 0, | |
1534 | 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, | |
1535 | 0, 0, 285, 286, 287, 288, 0, 0, 0, 0, | |
1536 | 0, 0, 0, 0, 0, 0, 289, 290, 0, 0, | |
1537 | 0, 291, 0, 0, 0, 0, 479, 480, 481, 29, | |
1538 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, | |
1539 | 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, | |
1540 | 49, 50, 51, 52, 53, 54, 55, 56, 57, 113, | |
1541 | 59, 60, 61, 62, 63, 0, 64, 0, 0, 292, | |
1542 | 293, 0, 0, 0, 0, 0, 294, 0, 67, 0, | |
1543 | 69, 70, 71, 72, 0, 0, 74, 75, 76, 77, | |
1544 | 78, 0, 79, 80, 81, 161, 0, 0, 162, 0, | |
1545 | 23, 0, 0, 281, 282, 0, 0, 0, 0, 0, | |
1546 | 0, 0, 475, 283, 166, 0, 0, 284, 0, 0, | |
1547 | 0, 0, 0, 0, 0, 0, 169, 0, 0, 0, | |
1548 | 0, 0, 285, 286, 287, 288, 0, 0, 0, 0, | |
1549 | 0, 0, 0, 0, 0, 0, 289, 290, 0, 0, | |
1550 | 0, 291, 0, 0, 0, 0, 0, 0, 0, 29, | |
1551 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, | |
1552 | 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, | |
1553 | 49, 50, 51, 52, 53, 54, 55, 56, 57, 113, | |
1554 | 59, 60, 61, 62, 63, 0, 64, 0, 0, 292, | |
1555 | 293, 0, 0, 0, 0, 0, 294, 0, 67, 0, | |
1556 | 69, 70, 71, 72, 0, 0, 74, 75, 76, 77, | |
1557 | 78, 0, 79, 80, 81, 161, 0, 0, 162, 0, | |
1558 | 23, 0, 163, 164, 0, 0, 165, 282, 0, 0, | |
1559 | 0, 0, 24, 0, 166, 11, 0, 0, 167, 168, | |
1560 | 284, 0, 0, 0, 0, 0, 169, 0, 0, 0, | |
1561 | 0, 170, 0, 0, 0, 285, 286, 287, 288, 0, | |
1562 | 0, 0, 0, 0, 0, 0, 0, 171, 0, 289, | |
1563 | 0, 0, 0, 0, 291, 0, 0, 0, 172, 29, | |
1564 | 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, | |
1565 | 40, 41, 42, 43, 44, 45, 46, 47, 0, 48, | |
1566 | 49, 50, 51, 52, 53, 54, 55, 56, 57, 113, | |
1567 | 59, 60, 61, 62, 63, 23, 64, 0, 0, 0, | |
1568 | 0, 0, 292, 293, 0, 0, 0, 24, 67, 294, | |
1569 | 69, 70, 71, 72, 0, 0, 74, 75, 76, 77, | |
1570 | 78, 0, 79, 80, 81, 0, 0, 0, 0, 0, | |
1571 | 0, 0, 0, 0, 0, 25, 0, 26, 0, 0, | |
1572 | 0, 0, 0, 27, 0, 0, 0, 0, 0, 28, | |
1573 | 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, | |
8f58355a | 1574 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, |
08cf8642 | 1575 | 45, 46, 47, 0, 48, 49, 50, 51, 52, 53, |
1576 | 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, | |
1577 | 0, 64, 0, 0, 0, 0, 65, 0, 23, 0, | |
1578 | 66, 0, 5, 67, 68, 69, 70, 71, 72, 73, | |
1579 | 24, 74, 75, 76, 77, 78, 0, 79, 80, 81, | |
1580 | 82, 83, 84, 85, 0, 0, 0, 0, 0, 0, | |
1581 | 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, | |
1582 | 26, 0, 0, 0, 0, 0, 27, 0, 0, 0, | |
1583 | 0, 0, 28, 0, 0, 0, 0, 29, 30, 31, | |
1584 | 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, | |
1585 | 42, 43, 44, 45, 46, 47, 0, 48, 49, 50, | |
1586 | 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, | |
1587 | 61, 62, 63, 23, 64, 0, 0, 0, 0, 65, | |
1588 | 0, 0, 0, 66, 0, 24, 67, 68, 69, 70, | |
1589 | 71, 72, 73, 0, 74, 75, 76, 77, 78, 0, | |
1590 | 79, 80, 81, 82, 83, 84, 85, 0, 0, 0, | |
1591 | 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, | |
1592 | 0, 27, 0, 0, 0, 0, 0, 28, 0, 0, | |
1593 | 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, | |
1594 | 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, | |
1595 | 47, 0, 48, 49, 50, 51, 52, 53, 54, 55, | |
1596 | 56, 57, 58, 59, 60, 61, 62, 63, 0, 64, | |
1597 | 0, 0, 0, 0, 0, 23, 0, 0, 66, 0, | |
1598 | 0, 67, 68, 69, 70, 71, 72, 24, 0, 74, | |
1599 | 75, 76, 77, 78, 0, 79, 80, 81, 82, 83, | |
1600 | 84, 85, 559, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1601 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1602 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1603 | 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, |
1604 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, | |
1605 | 45, 46, 47, 0, 48, 49, 50, 51, 52, 53, | |
1606 | 54, 55, 56, 57, 113, 59, 60, 61, 62, 63, | |
1607 | 441, 64, 23, 0, 0, 219, 359, 0, 0, 0, | |
1608 | 0, 0, 0, 67, 24, 69, 70, 71, 72, 133, | |
1609 | 0, 74, 75, 76, 77, 78, 0, 79, 80, 81, | |
1610 | 0, 83, 84, 85, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1611 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1612 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1613 | 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, |
1614 | 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, | |
1615 | 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, | |
1616 | 57, 113, 59, 60, 61, 62, 63, 241, 64, 23, | |
1617 | 0, 0, 219, 242, 0, 0, 0, 0, 0, 0, | |
1618 | 67, 24, 69, 70, 71, 72, 0, 0, 74, 75, | |
1619 | 76, 77, 78, 252, 79, 80, 81, 0, 0, 0, | |
e5081f8c | 1620 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1621 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1622 | 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, |
1623 | 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, | |
1624 | 41, 42, 43, 44, 45, 46, 47, 0, 48, 49, | |
1625 | 50, 51, 52, 53, 54, 55, 56, 57, 113, 59, | |
1626 | 60, 61, 62, 63, 23, 64, 0, 0, 0, 0, | |
1627 | 0, 0, 0, 0, 0, 0, 24, 67, 0, 69, | |
1628 | 70, 71, 72, 0, 0, 74, 75, 76, 77, 78, | |
1629 | 252, 79, 80, 81, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1630 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1631 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1632 | 316, 317, 0, 29, 30, 31, 32, 33, 34, 35, |
1633 | 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, | |
1634 | 46, 47, 0, 48, 49, 50, 51, 52, 53, 54, | |
1635 | 55, 56, 57, 113, 59, 60, 61, 62, 63, 0, | |
1636 | 64, 23, 0, 0, 0, 0, 0, 0, 0, 0, | |
1637 | 0, 0, 67, 24, 69, 70, 71, 72, 0, 0, | |
1638 | 74, 75, 76, 77, 78, 0, 79, 80, 81, 0, | |
1639 | 323, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1640 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1641 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1642 | 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, |
1643 | 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, | |
1644 | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, | |
1645 | 113, 59, 60, 61, 62, 63, 0, 64, 23, 0, | |
1646 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, | |
1647 | 24, 69, 70, 71, 72, 0, 0, 74, 75, 76, | |
1648 | 77, 78, 252, 79, 80, 81, 0, 325, 0, 0, | |
e5081f8c | 1649 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1650 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1651 | 0, 0, 0, 0, 0, 0, 0, 29, 30, 31, |
1652 | 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, | |
1653 | 42, 43, 44, 45, 46, 47, 0, 48, 49, 50, | |
1654 | 51, 52, 53, 54, 55, 56, 57, 113, 59, 60, | |
1655 | 61, 62, 63, 0, 64, 23, 0, 0, 0, 0, | |
1656 | 0, 0, 0, 0, 0, 0, 67, 24, 69, 70, | |
1657 | 71, 72, 0, 0, 74, 75, 76, 77, 78, 252, | |
1658 | 79, 80, 81, 0, 432, 0, 0, 0, 0, 0, | |
e5081f8c | 1659 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1660 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1661 | 0, 0, 0, 0, 29, 30, 31, 32, 33, 34, |
1662 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, | |
1663 | 45, 46, 47, 0, 48, 49, 50, 51, 52, 53, | |
1664 | 54, 55, 56, 57, 113, 59, 60, 61, 62, 63, | |
1665 | 0, 64, 23, 0, 0, 0, 0, 0, 0, 0, | |
1666 | 0, 0, 0, 67, 24, 69, 70, 71, 72, 0, | |
1667 | 0, 74, 75, 76, 77, 78, 252, 79, 80, 81, | |
1668 | 0, 514, 0, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1669 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1670 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1671 | 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, |
1672 | 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, | |
1673 | 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, | |
1674 | 57, 113, 59, 60, 61, 62, 63, 23, 64, 0, | |
1675 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, | |
1676 | 67, 0, 69, 70, 71, 72, 0, 0, 74, 75, | |
1677 | 76, 77, 78, 252, 79, 80, 81, 0, 0, 0, | |
e5081f8c | 1678 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1679 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1680 | 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, |
1681 | 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, | |
1682 | 43, 44, 45, 46, 47, 0, 48, 49, 50, 51, | |
1683 | 52, 53, 54, 55, 56, 57, 113, 59, 60, 61, | |
1684 | 62, 63, 23, 64, 0, 0, 0, 0, 0, 0, | |
1685 | 0, 0, 0, 0, 24, 67, 0, 69, 70, 71, | |
1686 | 72, 0, 0, 74, 75, 76, 77, 78, 252, 79, | |
1687 | 80, 81, 0, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1688 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1689 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1690 | 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, |
1691 | 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, | |
1692 | 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, | |
1693 | 57, 113, 59, 60, 61, 62, 63, 23, 64, 0, | |
1694 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, | |
1695 | 67, 0, 69, 70, 71, 72, 0, 269, 74, 75, | |
1696 | 76, 77, 78, 0, 79, 80, 81, 0, 0, 0, | |
368f75ae | 1697 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
e5081f8c | 1698 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
08cf8642 | 1699 | 0, 0, 0, 0, 0, 0, 29, 30, 31, 32, |
1700 | 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, | |
1701 | 43, 44, 45, 46, 47, 0, 48, 49, 50, 51, | |
1702 | 52, 53, 54, 55, 56, 57, 113, 59, 60, 61, | |
1703 | 62, 63, 0, 64, 0, 0, 0, 0, 0, 23, | |
1704 | 0, 0, 0, 0, 0, 67, 0, 69, 70, 71, | |
1705 | 72, 24, 0, 74, 75, 76, 77, 78, 438, 79, | |
1706 | 80, 81, 0, 0, 0, 0, 460, 0, 0, 0, | |
e5081f8c | 1707 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1708 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1709 | 0, 0, 0, 0, 0, 0, 0, 0, 29, 30, |
1710 | 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, | |
1711 | 41, 42, 43, 44, 45, 46, 47, 0, 48, 49, | |
1712 | 50, 51, 52, 53, 54, 55, 56, 57, 113, 59, | |
1713 | 60, 61, 62, 63, 0, 64, 0, 0, 0, 0, | |
1714 | 0, 23, 0, 0, 0, 0, 0, 67, 0, 69, | |
1715 | 70, 71, 72, 24, 0, 74, 75, 76, 77, 78, | |
1716 | 0, 79, 80, 81, 0, 0, 0, 0, 462, 0, | |
e5081f8c | 1717 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1718 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1719 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
08cf8642 | 1720 | 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, |
1721 | 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, | |
1722 | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, | |
1723 | 113, 59, 60, 61, 62, 63, 23, 64, 0, 0, | |
1724 | 0, 0, 0, 0, 0, 0, 0, 0, 24, 67, | |
1725 | 0, 69, 70, 71, 72, 0, 0, 74, 75, 76, | |
1726 | 77, 78, 0, 79, 80, 81, 0, 0, 0, 0, | |
368f75ae | 1727 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1728 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
08cf8642 | 1729 | 0, 0, 0, 0, 568, 29, 30, 31, 32, 33, |
1730 | 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, | |
1731 | 44, 45, 46, 47, 0, 48, 49, 50, 51, 52, | |
1732 | 53, 54, 55, 56, 57, 113, 59, 60, 61, 62, | |
1733 | 63, 23, 64, 0, 0, 0, 0, 0, 0, 0, | |
1734 | 0, 0, 0, 24, 67, 0, 69, 70, 71, 72, | |
1735 | 0, 0, 74, 75, 76, 77, 78, 0, 79, 80, | |
1736 | 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |
e5081f8c | 1737 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
e5081f8c | 1738 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
08cf8642 | 1739 | 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, |
1740 | 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, | |
1741 | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, | |
1742 | 113, 59, 60, 61, 62, 63, 0, 64, 0, 0, | |
1743 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, | |
1744 | 0, 69, 70, 71, 72, 0, 0, 74, 75, 76, | |
1745 | 77, 78, 0, 79, 80, 81, 161, 0, 0, 162, | |
1746 | 0, 0, 0, 0, 281, 282, 0, 0, 0, 0, | |
1747 | 0, 0, 0, 11, 283, 166, 352, 0, 284, 0, | |
1748 | 0, 0, 161, 0, 0, 162, 0, 169, 353, 0, | |
1749 | 281, 282, 0, 285, 286, 287, 288, 0, 0, 11, | |
1750 | 283, 166, 0, 0, 284, 0, 0, 289, 290, 0, | |
1751 | 0, 0, 291, 169, 0, 381, 0, 0, 0, 285, | |
1752 | 286, 287, 288, 0, 0, 0, 0, 0, 0, 0, | |
1753 | 0, 0, 161, 289, 290, 162, 0, 0, 291, 0, | |
1754 | 281, 282, 0, 0, 0, 0, 0, 0, 0, 11, | |
1755 | 283, 166, 0, 0, 284, 0, 0, 0, 0, 0, | |
1756 | 292, 293, 0, 169, 0, 496, 0, 294, 0, 285, | |
1757 | 286, 287, 288, 161, 0, 0, 162, 0, 0, 0, | |
1758 | 0, 281, 282, 289, 290, 0, 292, 293, 291, 0, | |
1759 | 11, 283, 166, 294, 0, 284, 0, 0, 0, 0, | |
1760 | 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, | |
1761 | 285, 286, 287, 288, 0, 0, 0, 0, 0, 0, | |
1762 | 0, 0, 0, 161, 289, 290, 162, 0, 0, 291, | |
1763 | 0, 281, 282, 0, 0, 0, 292, 293, 0, 0, | |
1764 | 11, 0, 166, 294, 0, 284, 0, 0, 0, 0, | |
1765 | 0, 0, 0, 0, 169, 0, 0, 0, 0, 0, | |
1766 | 285, 286, 287, 288, 0, 0, 0, 0, 0, 0, | |
1767 | 0, 0, 0, 0, 289, 0, 0, 292, 293, 291, | |
1768 | 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, | |
e5081f8c | 1769 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
e5081f8c | 1770 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
368f75ae | 1771 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
08cf8642 | 1772 | 0, 0, 0, 0, 0, 0, 0, 292, 293, 0, |
1773 | 0, 0, 0, 0, 294 | |
885824d3 | 1774 | }; |
1775 | ||
08cf8642 | 1776 | static const yytype_int16 yycheck[] = |
e5081f8c | 1777 | { |
08cf8642 | 1778 | 25, 6, 10, 23, 127, 187, 311, 102, 99, 4, |
1779 | 5, 112, 122, 14, 217, 10, 219, 282, 23, 129, | |
1780 | 210, 26, 302, 18, 202, 290, 145, 146, 57, 139, | |
1781 | 25, 241, 242, 73, 18, 6, 305, 306, 220, 14, | |
1782 | 222, 410, 7, 365, 527, 60, 3, 142, 568, 297, | |
1783 | 0, 579, 658, 659, 6, 7, 8, 12, 14, 180, | |
1784 | 6, 66, 102, 68, 670, 434, 672, 168, 622, 34, | |
1785 | 598, 554, 7, 601, 594, 70, 51, 82, 281, 633, | |
1786 | 37, 37, 122, 78, 79, 37, 115, 335, 93, 129, | |
1787 | 105, 269, 620, 647, 297, 464, 101, 32, 112, 139, | |
1788 | 237, 12, 142, 631, 199, 145, 146, 112, 31, 20, | |
1789 | 111, 232, 107, 234, 25, 97, 111, 7, 398, 256, | |
1790 | 405, 386, 127, 46, 225, 120, 448, 449, 393, 151, | |
1791 | 152, 416, 6, 7, 8, 140, 141, 256, 239, 240, | |
1792 | 405, 23, 32, 412, 392, 246, 7, 62, 358, 359, | |
1793 | 7, 416, 7, 35, 168, 246, 127, 7, 25, 199, | |
1794 | 529, 35, 7, 158, 346, 185, 356, 172, 163, 140, | |
1795 | 141, 32, 167, 7, 158, 32, 216, 32, 33, 357, | |
1796 | 185, 127, 32, 552, 553, 388, 389, 390, 3, 211, | |
1797 | 212, 213, 214, 12, 140, 141, 7, 375, 32, 7, | |
1798 | 12, 3, 20, 304, 7, 3, 25, 25, 473, 21, | |
1799 | 320, 225, 492, 218, 12, 3, 256, 35, 20, 6, | |
1800 | 225, 32, 244, 25, 12, 239, 240, 25, 20, 32, | |
1801 | 31, 441, 246, 25, 239, 240, 231, 25, 233, 358, | |
1802 | 359, 43, 40, 41, 42, 43, 10, 11, 24, 37, | |
1803 | 11, 12, 40, 41, 42, 43, 32, 562, 12, 612, | |
1804 | 442, 614, 26, 466, 28, 29, 30, 31, 533, 274, | |
1805 | 275, 25, 277, 368, 38, 3, 37, 7, 6, 32, | |
1806 | 320, 376, 35, 11, 12, 7, 40, 41, 42, 43, | |
1807 | 11, 12, 20, 21, 22, 7, 20, 25, 399, 400, | |
1808 | 32, 25, 32, 11, 12, 37, 34, 572, 36, 12, | |
1809 | 32, 12, 40, 41, 42, 43, 37, 12, 358, 359, | |
1810 | 32, 343, 441, 345, 25, 32, 54, 55, 368, 37, | |
1811 | 37, 59, 3, 536, 35, 6, 376, 33, 541, 361, | |
1812 | 362, 649, 6, 39, 32, 385, 11, 12, 12, 37, | |
1813 | 658, 659, 112, 6, 112, 20, 20, 22, 11, 12, | |
1814 | 25, 25, 670, 32, 672, 673, 674, 34, 37, 34, | |
1815 | 97, 377, 377, 379, 379, 40, 41, 42, 43, 107, | |
1816 | 108, 12, 3, 32, 389, 390, 114, 27, 37, 54, | |
1817 | 32, 12, 595, 34, 59, 37, 519, 32, 23, 24, | |
1818 | 12, 441, 37, 27, 25, 24, 609, 32, 403, 404, | |
1819 | 35, 406, 615, 32, 3, 410, 37, 36, 440, 40, | |
1820 | 41, 42, 43, 12, 583, 32, 32, 11, 12, 588, | |
1821 | 36, 526, 437, 11, 12, 37, 25, 445, 32, 434, | |
1822 | 53, 6, 107, 108, 11, 12, 11, 12, 37, 114, | |
1823 | 445, 40, 41, 42, 43, 20, 3, 11, 12, 6, | |
1824 | 25, 481, 6, 10, 11, 6, 561, 14, 578, 464, | |
1825 | 11, 12, 27, 20, 3, 22, 481, 6, 25, 26, | |
1826 | 27, 10, 11, 7, 25, 14, 526, 34, 673, 674, | |
1827 | 33, 531, 39, 22, 20, 78, 79, 26, 145, 146, | |
1828 | 239, 240, 394, 395, 20, 34, 25, 547, 55, 112, | |
1829 | 39, 34, 78, 79, 519, 116, 112, 118, 36, 120, | |
1830 | 121, 561, 34, 124, 125, 126, 127, 532, 27, 111, | |
1831 | 131, 132, 8, 37, 529, 32, 541, 20, 578, 20, | |
1832 | 32, 32, 37, 548, 32, 12, 12, 12, 12, 557, | |
1833 | 12, 14, 31, 593, 7, 7, 34, 552, 553, 36, | |
1834 | 7, 36, 557, 568, 37, 37, 37, 27, 27, 116, | |
1835 | 27, 118, 27, 120, 121, 31, 37, 124, 125, 126, | |
1836 | 127, 25, 622, 34, 131, 132, 35, 7, 34, 594, | |
1837 | 31, 27, 27, 633, 37, 32, 12, 622, 31, 31, | |
1838 | 58, 51, 32, 37, 609, 27, 646, 647, 633, 649, | |
1839 | 37, 37, 37, 653, 26, 32, 34, 7, 658, 659, | |
1840 | 35, 646, 647, 37, 7, 650, 49, 21, 653, 60, | |
1841 | 670, 37, 672, 673, 674, 3, 106, 12, 6, 47, | |
1842 | 8, 7, 61, 11, 12, 46, 7, 52, 34, 37, | |
1843 | 7, 7, 20, 21, 22, 48, 35, 25, 7, 35, | |
1844 | 12, 12, 33, 35, 10, 11, 34, 7, 3, 8, | |
1845 | 25, 12, 40, 41, 42, 43, 22, 45, 12, 89, | |
1846 | 26, 2, 28, 29, 30, 31, 54, 55, 34, 6, | |
1847 | 375, 59, 38, 6, 107, 63, 64, 65, 66, 67, | |
e5081f8c | 1848 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
08cf8642 | 1849 | 78, 79, 80, 81, 82, 83, 84, 85, 127, 87, |
e5081f8c | 1850 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, |
08cf8642 | 1851 | 98, 99, 100, 101, 102, 127, 104, 111, 127, 107, |
1852 | 108, 225, 240, 239, 463, 219, 114, 216, 116, 593, | |
1853 | 118, 119, 120, 121, 602, 565, 124, 125, 126, 127, | |
1854 | 128, 541, 130, 131, 132, 3, 609, 625, 6, 368, | |
1855 | 8, 358, 275, 11, 12, 229, 308, 168, 246, 531, | |
1856 | 302, -1, 20, 21, 22, -1, 297, 25, 120, -1, | |
1857 | -1, -1, -1, -1, -1, -1, 34, -1, 246, -1, | |
e5081f8c | 1858 | -1, -1, 40, 41, 42, 43, 44, -1, -1, -1, |
08cf8642 | 1859 | -1, -1, -1, -1, -1, -1, 54, 55, -1, -1, |
e5081f8c | 1860 | -1, 59, -1, -1, -1, -1, 64, 65, 66, 67, |
1861 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, | |
1862 | 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, | |
1863 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, | |
1864 | 98, 99, 100, 101, 102, -1, 104, -1, -1, 107, | |
1865 | 108, -1, -1, -1, -1, -1, 114, -1, 116, -1, | |
1866 | 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, | |
1867 | 128, -1, 130, 131, 132, 3, -1, -1, 6, -1, | |
08cf8642 | 1868 | 8, -1, -1, 11, 12, -1, -1, -1, -1, -1, |
e5081f8c | 1869 | -1, -1, 20, 21, 22, -1, -1, 25, -1, -1, |
1870 | -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, | |
1871 | -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, | |
1872 | -1, -1, -1, -1, -1, -1, 54, 55, -1, -1, | |
1873 | -1, 59, -1, -1, -1, -1, 64, 65, 66, 67, | |
1874 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, | |
1875 | 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, | |
1876 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, | |
1877 | 98, 99, 100, 101, 102, -1, 104, -1, -1, 107, | |
1878 | 108, -1, -1, -1, -1, -1, 114, -1, 116, -1, | |
1879 | 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, | |
1880 | 128, -1, 130, 131, 132, 3, -1, -1, 6, -1, | |
08cf8642 | 1881 | 8, -1, -1, 11, 12, -1, -1, -1, -1, -1, |
e5081f8c | 1882 | -1, -1, 20, 21, 22, -1, -1, 25, -1, -1, |
1883 | -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, | |
1884 | -1, -1, 40, 41, 42, 43, -1, -1, -1, -1, | |
1885 | -1, -1, -1, -1, -1, -1, 54, 55, -1, -1, | |
1886 | -1, 59, -1, -1, -1, -1, -1, -1, -1, 67, | |
1887 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, | |
1888 | 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, | |
1889 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, | |
1890 | 98, 99, 100, 101, 102, -1, 104, -1, -1, 107, | |
1891 | 108, -1, -1, -1, -1, -1, 114, -1, 116, -1, | |
1892 | 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, | |
1893 | 128, -1, 130, 131, 132, 3, -1, -1, 6, -1, | |
08cf8642 | 1894 | 8, -1, 10, 11, -1, -1, 14, 12, -1, -1, |
1895 | -1, -1, 20, -1, 22, 20, -1, -1, 26, 27, | |
1896 | 25, -1, -1, -1, -1, -1, 34, -1, -1, -1, | |
1897 | -1, 39, -1, -1, -1, 40, 41, 42, 43, -1, | |
1898 | -1, -1, -1, -1, -1, -1, -1, 55, -1, 54, | |
1899 | -1, -1, -1, -1, 59, -1, -1, -1, 66, 67, | |
e5081f8c | 1900 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
1901 | 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, | |
1902 | 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, | |
1903 | 98, 99, 100, 101, 102, 8, 104, -1, -1, -1, | |
08cf8642 | 1904 | -1, -1, 107, 108, -1, -1, -1, 20, 116, 114, |
e5081f8c | 1905 | 118, 119, 120, 121, -1, -1, 124, 125, 126, 127, |
1906 | 128, -1, 130, 131, 132, -1, -1, -1, -1, -1, | |
1907 | -1, -1, -1, -1, -1, 48, -1, 50, -1, -1, | |
1908 | -1, -1, -1, 56, -1, -1, -1, -1, -1, 62, | |
1909 | -1, -1, -1, -1, 67, 68, 69, 70, 71, 72, | |
1910 | 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, | |
1911 | 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, | |
1912 | 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, | |
1913 | -1, 104, -1, -1, -1, -1, 109, -1, 8, -1, | |
1914 | 113, -1, 115, 116, 117, 118, 119, 120, 121, 122, | |
1915 | 20, 124, 125, 126, 127, 128, -1, 130, 131, 132, | |
1916 | 133, 134, 135, 136, -1, -1, -1, -1, -1, -1, | |
1917 | -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, | |
1918 | 50, -1, -1, -1, -1, -1, 56, -1, -1, -1, | |
1919 | -1, -1, 62, -1, -1, -1, -1, 67, 68, 69, | |
1920 | 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, | |
1921 | 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, | |
1922 | 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, | |
1923 | 100, 101, 102, 8, 104, -1, -1, -1, -1, 109, | |
1924 | -1, -1, -1, 113, -1, 20, 116, 117, 118, 119, | |
1925 | 120, 121, 122, -1, 124, 125, 126, 127, 128, -1, | |
1926 | 130, 131, 132, 133, 134, 135, 136, -1, -1, -1, | |
1927 | -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, | |
1928 | -1, 56, -1, -1, -1, -1, -1, 62, -1, -1, | |
1929 | -1, -1, 67, 68, 69, 70, 71, 72, 73, 74, | |
1930 | 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, | |
1931 | 85, -1, 87, 88, 89, 90, 91, 92, 93, 94, | |
1932 | 95, 96, 97, 98, 99, 100, 101, 102, -1, 104, | |
1933 | -1, -1, -1, -1, -1, 8, -1, -1, 113, -1, | |
1934 | -1, 116, 117, 118, 119, 120, 121, 20, -1, 124, | |
1935 | 125, 126, 127, 128, -1, 130, 131, 132, 133, 134, | |
1936 | 135, 136, 35, -1, -1, -1, -1, -1, -1, -1, | |
1937 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1938 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1939 | -1, -1, -1, -1, 67, 68, 69, 70, 71, 72, | |
1940 | 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, | |
1941 | 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, | |
1942 | 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, | |
08cf8642 | 1943 | 6, 104, 8, -1, -1, 11, 12, -1, -1, -1, |
e5081f8c | 1944 | -1, -1, -1, 116, 20, 118, 119, 120, 121, 25, |
1945 | -1, 124, 125, 126, 127, 128, -1, 130, 131, 132, | |
1946 | -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, | |
1947 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1948 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1949 | -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, | |
1950 | 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, | |
1951 | -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, | |
1952 | 96, 97, 98, 99, 100, 101, 102, 6, 104, 8, | |
08cf8642 | 1953 | -1, -1, 11, 12, -1, -1, -1, -1, -1, -1, |
e5081f8c | 1954 | 116, 20, 118, 119, 120, 121, -1, -1, 124, 125, |
1955 | 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, | |
1956 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1957 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1958 | -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, | |
1959 | 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, | |
1960 | 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, | |
1961 | 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, | |
1962 | 99, 100, 101, 102, 8, 104, -1, -1, -1, -1, | |
1963 | -1, -1, -1, -1, -1, -1, 20, 116, -1, 118, | |
1964 | 119, 120, 121, -1, -1, 124, 125, 126, 127, 128, | |
1965 | 129, 130, 131, 132, -1, -1, -1, -1, -1, -1, | |
1966 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1967 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1968 | 64, 65, -1, 67, 68, 69, 70, 71, 72, 73, | |
1969 | 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, | |
1970 | 84, 85, -1, 87, 88, 89, 90, 91, 92, 93, | |
1971 | 94, 95, 96, 97, 98, 99, 100, 101, 102, -1, | |
1972 | 104, 8, -1, -1, -1, -1, -1, -1, -1, -1, | |
1973 | -1, -1, 116, 20, 118, 119, 120, 121, -1, -1, | |
1974 | 124, 125, 126, 127, 128, -1, 130, 131, 132, -1, | |
1975 | 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1976 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1977 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1978 | 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
1979 | 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, | |
1980 | 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, | |
1981 | 97, 98, 99, 100, 101, 102, -1, 104, 8, -1, | |
1982 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, | |
1983 | 20, 118, 119, 120, 121, -1, -1, 124, 125, 126, | |
1984 | 127, 128, 129, 130, 131, 132, -1, 37, -1, -1, | |
1985 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1986 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1987 | -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, | |
1988 | 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, | |
1989 | 80, 81, 82, 83, 84, 85, -1, 87, 88, 89, | |
1990 | 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, | |
1991 | 100, 101, 102, -1, 104, 8, -1, -1, -1, -1, | |
1992 | -1, -1, -1, -1, -1, -1, 116, 20, 118, 119, | |
1993 | 120, 121, -1, -1, 124, 125, 126, 127, 128, 129, | |
1994 | 130, 131, 132, -1, 37, -1, -1, -1, -1, -1, | |
1995 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1996 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
1997 | -1, -1, -1, -1, 67, 68, 69, 70, 71, 72, | |
1998 | 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, | |
1999 | 83, 84, 85, -1, 87, 88, 89, 90, 91, 92, | |
2000 | 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, | |
2001 | -1, 104, 8, -1, -1, -1, -1, -1, -1, -1, | |
2002 | -1, -1, -1, 116, 20, 118, 119, 120, 121, -1, | |
2003 | -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, | |
2004 | -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, | |
2005 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2006 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2007 | -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, | |
2008 | 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, | |
2009 | -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, | |
2010 | 96, 97, 98, 99, 100, 101, 102, 8, 104, -1, | |
2011 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, | |
2012 | 116, -1, 118, 119, 120, 121, -1, -1, 124, 125, | |
2013 | 126, 127, 128, 129, 130, 131, 132, -1, -1, -1, | |
2014 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2015 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2016 | -1, -1, -1, -1, -1, -1, 67, 68, 69, 70, | |
2017 | 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, | |
2018 | 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, | |
2019 | 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, | |
2020 | 101, 102, 8, 104, -1, -1, -1, -1, -1, -1, | |
2021 | -1, -1, -1, -1, 20, 116, -1, 118, 119, 120, | |
2022 | 121, -1, -1, 124, 125, 126, 127, 128, 129, 130, | |
2023 | 131, 132, -1, -1, -1, -1, -1, -1, -1, -1, | |
2024 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2025 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2026 | -1, 67, 68, 69, 70, 71, 72, 73, 74, 75, | |
2027 | 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, | |
2028 | -1, 87, 88, 89, 90, 91, 92, 93, 94, 95, | |
2029 | 96, 97, 98, 99, 100, 101, 102, 8, 104, -1, | |
2030 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, | |
2031 | 116, -1, 118, 119, 120, 121, -1, 123, 124, 125, | |
2032 | 126, 127, 128, -1, 130, 131, 132, -1, -1, -1, | |
2033 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2034 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2035 | -1, -1, -1, -1, -1, -1, 67, 68, 69, 70, | |
2036 | 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, | |
2037 | 81, 82, 83, 84, 85, -1, 87, 88, 89, 90, | |
2038 | 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, | |
2039 | 101, 102, -1, 104, -1, -1, -1, -1, -1, 8, | |
2040 | -1, -1, -1, -1, -1, 116, -1, 118, 119, 120, | |
2041 | 121, 20, -1, 124, 125, 126, 127, 128, 129, 130, | |
2042 | 131, 132, -1, -1, -1, -1, 35, -1, -1, -1, | |
2043 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2044 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2045 | -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, | |
2046 | 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, | |
2047 | 79, 80, 81, 82, 83, 84, 85, -1, 87, 88, | |
2048 | 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, | |
2049 | 99, 100, 101, 102, -1, 104, -1, -1, -1, -1, | |
2050 | -1, 8, -1, -1, -1, -1, -1, 116, -1, 118, | |
2051 | 119, 120, 121, 20, -1, 124, 125, 126, 127, 128, | |
2052 | -1, 130, 131, 132, -1, -1, -1, -1, 35, -1, | |
2053 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2054 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2055 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2056 | 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
2057 | 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, | |
2058 | 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, | |
2059 | 97, 98, 99, 100, 101, 102, 8, 104, -1, -1, | |
2060 | -1, -1, -1, -1, -1, -1, -1, -1, 20, 116, | |
2061 | -1, 118, 119, 120, 121, -1, -1, 124, 125, 126, | |
2062 | 127, 128, -1, 130, 131, 132, -1, -1, -1, -1, | |
2063 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2064 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2065 | -1, -1, -1, -1, 66, 67, 68, 69, 70, 71, | |
2066 | 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, | |
2067 | 82, 83, 84, 85, -1, 87, 88, 89, 90, 91, | |
2068 | 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, | |
2069 | 102, 8, 104, -1, -1, -1, -1, -1, -1, -1, | |
2070 | -1, -1, -1, 20, 116, -1, 118, 119, 120, 121, | |
2071 | -1, -1, 124, 125, 126, 127, 128, -1, 130, 131, | |
2072 | 132, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2073 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2074 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, | |
2075 | 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, | |
2076 | 77, 78, 79, 80, 81, 82, 83, 84, 85, -1, | |
2077 | 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, | |
2078 | 97, 98, 99, 100, 101, 102, -1, 104, -1, -1, | |
2079 | -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, | |
2080 | -1, 118, 119, 120, 121, -1, -1, 124, 125, 126, | |
2081 | 127, 128, -1, 130, 131, 132, 3, -1, -1, 6, | |
08cf8642 | 2082 | -1, -1, -1, -1, 11, 12, -1, -1, -1, -1, |
e5081f8c | 2083 | -1, -1, -1, 20, 21, 22, 23, -1, 25, -1, |
08cf8642 | 2084 | -1, -1, 3, -1, -1, 6, -1, 34, 35, -1, |
2085 | 11, 12, -1, 40, 41, 42, 43, -1, -1, 20, | |
e5081f8c | 2086 | 21, 22, -1, -1, 25, -1, -1, 54, 55, -1, |
2087 | -1, -1, 59, 34, -1, 36, -1, -1, -1, 40, | |
2088 | 41, 42, 43, -1, -1, -1, -1, -1, -1, -1, | |
08cf8642 | 2089 | -1, -1, 3, 54, 55, 6, -1, -1, 59, -1, |
2090 | 11, 12, -1, -1, -1, -1, -1, -1, -1, 20, | |
e5081f8c | 2091 | 21, 22, -1, -1, 25, -1, -1, -1, -1, -1, |
2092 | 107, 108, -1, 34, -1, 36, -1, 114, -1, 40, | |
2093 | 41, 42, 43, 3, -1, -1, 6, -1, -1, -1, | |
08cf8642 | 2094 | -1, 11, 12, 54, 55, -1, 107, 108, 59, -1, |
e5081f8c | 2095 | 20, 21, 22, 114, -1, 25, -1, -1, -1, -1, |
08cf8642 | 2096 | -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, |
e5081f8c | 2097 | 40, 41, 42, 43, -1, -1, -1, -1, -1, -1, |
2098 | -1, -1, -1, 3, 54, 55, 6, -1, -1, 59, | |
08cf8642 | 2099 | -1, 11, 12, -1, -1, -1, 107, 108, -1, -1, |
2100 | 20, -1, 22, 114, -1, 25, -1, -1, -1, -1, | |
2101 | -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, | |
2102 | 40, 41, 42, 43, -1, -1, -1, -1, -1, -1, | |
2103 | -1, -1, -1, -1, 54, -1, -1, 107, 108, 59, | |
2104 | -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, | |
e5081f8c | 2105 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
e5081f8c | 2106 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
368f75ae | 2107 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
08cf8642 | 2108 | -1, -1, -1, -1, -1, -1, -1, 107, 108, -1, |
2109 | -1, -1, -1, -1, 114 | |
885824d3 | 2110 | }; |
3e3ec469 | 2111 | |
08cf8642 | 2112 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
2113 | symbol of state STATE-NUM. */ | |
2114 | static const yytype_uint16 yystos[] = | |
2115 | { | |
2116 | 0, 138, 140, 0, 57, 115, 139, 141, 145, 146, | |
2117 | 3, 20, 25, 43, 176, 177, 179, 284, 12, 180, | |
2118 | 181, 284, 290, 8, 20, 48, 50, 56, 62, 67, | |
2119 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, | |
2120 | 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, | |
2121 | 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, | |
2122 | 99, 100, 101, 102, 104, 109, 113, 116, 117, 118, | |
2123 | 119, 120, 121, 122, 124, 125, 126, 127, 128, 130, | |
2124 | 131, 132, 133, 134, 135, 136, 142, 147, 148, 152, | |
2125 | 155, 156, 157, 158, 159, 162, 164, 173, 224, 225, | |
2126 | 226, 227, 228, 231, 239, 179, 7, 32, 182, 290, | |
2127 | 7, 32, 12, 97, 228, 229, 231, 239, 25, 284, | |
2128 | 285, 288, 228, 171, 165, 167, 62, 153, 228, 228, | |
2129 | 234, 284, 287, 25, 286, 234, 287, 234, 287, 228, | |
2130 | 143, 143, 228, 224, 228, 6, 12, 20, 190, 191, | |
2131 | 241, 242, 243, 286, 7, 7, 3, 177, 32, 37, | |
2132 | 181, 3, 6, 10, 11, 14, 22, 26, 27, 34, | |
2133 | 39, 55, 66, 183, 184, 185, 186, 228, 246, 250, | |
2134 | 251, 253, 265, 6, 230, 31, 288, 12, 190, 241, | |
2135 | 112, 112, 97, 169, 154, 155, 156, 157, 159, 174, | |
2136 | 190, 34, 12, 232, 233, 190, 144, 146, 147, 152, | |
2137 | 241, 242, 243, 242, 243, 7, 32, 33, 192, 11, | |
2138 | 12, 249, 12, 249, 290, 12, 284, 27, 254, 255, | |
2139 | 284, 10, 11, 26, 251, 253, 27, 228, 37, 32, | |
2140 | 32, 6, 12, 247, 248, 249, 53, 254, 27, 6, | |
2141 | 229, 7, 129, 207, 208, 209, 228, 245, 7, 20, | |
2142 | 20, 112, 112, 220, 221, 241, 7, 25, 240, 123, | |
2143 | 149, 150, 151, 245, 34, 34, 7, 192, 37, 37, | |
2144 | 191, 11, 12, 21, 25, 40, 41, 42, 43, 54, | |
2145 | 55, 59, 107, 108, 114, 188, 189, 251, 261, 262, | |
2146 | 263, 264, 265, 266, 269, 270, 271, 272, 274, 277, | |
2147 | 278, 279, 280, 284, 286, 291, 64, 65, 160, 193, | |
2148 | 228, 36, 189, 37, 208, 37, 208, 183, 36, 24, | |
2149 | 32, 256, 284, 254, 284, 254, 27, 111, 247, 185, | |
2150 | 246, 186, 246, 248, 208, 248, 12, 249, 187, 224, | |
2151 | 250, 291, 23, 35, 252, 8, 37, 32, 6, 12, | |
2152 | 20, 242, 244, 247, 172, 166, 20, 20, 32, 175, | |
2153 | 222, 32, 238, 245, 37, 32, 228, 235, 236, 235, | |
2154 | 161, 36, 261, 273, 262, 281, 12, 262, 12, 12, | |
2155 | 12, 252, 273, 14, 33, 39, 266, 269, 265, 267, | |
2156 | 268, 274, 274, 31, 10, 11, 26, 28, 29, 30, | |
2157 | 31, 38, 270, 276, 12, 280, 12, 7, 7, 34, | |
2158 | 190, 36, 37, 37, 37, 27, 27, 36, 252, 27, | |
2159 | 37, 37, 37, 208, 31, 257, 27, 192, 129, 245, | |
2160 | 244, 6, 12, 249, 7, 34, 215, 215, 168, 170, | |
2161 | 221, 7, 34, 223, 25, 35, 7, 151, 237, 241, | |
2162 | 35, 236, 35, 34, 31, 36, 256, 37, 282, 283, | |
2163 | 286, 262, 275, 111, 261, 20, 228, 261, 44, 64, | |
2164 | 65, 66, 203, 204, 229, 261, 252, 262, 264, 264, | |
2165 | 269, 265, 265, 284, 289, 284, 36, 275, 284, 289, | |
2166 | 274, 260, 261, 275, 194, 7, 27, 27, 51, 37, | |
2167 | 258, 259, 289, 163, 37, 208, 35, 178, 179, 216, | |
2168 | 215, 215, 58, 217, 218, 7, 32, 194, 289, 31, | |
2169 | 261, 32, 31, 32, 37, 262, 32, 37, 37, 37, | |
2170 | 229, 32, 37, 269, 36, 37, 37, 60, 105, 195, | |
2171 | 196, 27, 26, 32, 34, 37, 7, 32, 35, 35, | |
2172 | 159, 228, 219, 35, 241, 196, 289, 283, 66, 199, | |
2173 | 228, 262, 51, 261, 204, 197, 198, 286, 228, 49, | |
2174 | 200, 289, 289, 196, 179, 7, 241, 280, 200, 199, | |
2175 | 262, 37, 7, 32, 31, 46, 190, 260, 106, 201, | |
2176 | 201, 12, 201, 198, 199, 261, 7, 7, 260, 61, | |
2177 | 202, 47, 210, 260, 202, 46, 7, 45, 63, 203, | |
2178 | 52, 205, 34, 205, 37, 205, 261, 7, 7, 7, | |
2179 | 260, 48, 206, 12, 25, 211, 212, 285, 286, 35, | |
2180 | 206, 7, 260, 35, 211, 6, 7, 8, 35, 12, | |
2181 | 33, 35, 7, 7, 37, 35, 211, 211, 3, 12, | |
2182 | 37, 213, 214, 278, 285, 286, 25, 285, 214, 214, | |
2183 | 32, 37, 3, 12, 12, 37, 214, 214, 37, 213, | |
2184 | 37, 213, 37, 37 | |
2185 | }; | |
885824d3 | 2186 | |
08cf8642 | 2187 | #define yyerrok (yyerrstatus = 0) |
2188 | #define yyclearin (yychar = YYEMPTY) | |
2189 | #define YYEMPTY (-2) | |
2190 | #define YYEOF 0 | |
885824d3 | 2191 | |
08cf8642 | 2192 | #define YYACCEPT goto yyacceptlab |
2193 | #define YYABORT goto yyabortlab | |
2194 | #define YYERROR goto yyerrorlab | |
885824d3 | 2195 | |
885824d3 | 2196 | |
08cf8642 | 2197 | /* Like YYERROR except do call yyerror. This remains here temporarily |
2198 | to ease the transition to the new meaning of YYERROR, for GCC. | |
2199 | Once GCC version 2 has supplanted version 1, this can go. */ | |
e5081f8c | 2200 | |
08cf8642 | 2201 | #define YYFAIL goto yyerrlab |
e5081f8c | 2202 | |
08cf8642 | 2203 | #define YYRECOVERING() (!!yyerrstatus) |
e5081f8c | 2204 | |
08cf8642 | 2205 | #define YYBACKUP(Token, Value) \ |
2206 | do \ | |
2207 | if (yychar == YYEMPTY && yylen == 1) \ | |
2208 | { \ | |
2209 | yychar = (Token); \ | |
2210 | yylval = (Value); \ | |
2211 | yytoken = YYTRANSLATE (yychar); \ | |
2212 | YYPOPSTACK (1); \ | |
2213 | goto yybackup; \ | |
2214 | } \ | |
2215 | else \ | |
2216 | { \ | |
2217 | yyerror (YY_("syntax error: cannot back up")); \ | |
2218 | YYERROR; \ | |
2219 | } \ | |
2220 | while (YYID (0)) | |
e5081f8c | 2221 | |
368f75ae | 2222 | |
08cf8642 | 2223 | #define YYTERROR 1 |
2224 | #define YYERRCODE 256 | |
368f75ae | 2225 | |
368f75ae | 2226 | |
08cf8642 | 2227 | /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. |
2228 | If N is 0, then set CURRENT to the empty location which ends | |
2229 | the previous symbol: RHS[0] (always defined). */ | |
368f75ae | 2230 | |
08cf8642 | 2231 | #define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
2232 | #ifndef YYLLOC_DEFAULT | |
2233 | # define YYLLOC_DEFAULT(Current, Rhs, N) \ | |
2234 | do \ | |
2235 | if (YYID (N)) \ | |
2236 | { \ | |
2237 | (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ | |
2238 | (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ | |
2239 | (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ | |
2240 | (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ | |
2241 | } \ | |
2242 | else \ | |
2243 | { \ | |
2244 | (Current).first_line = (Current).last_line = \ | |
2245 | YYRHSLOC (Rhs, 0).last_line; \ | |
2246 | (Current).first_column = (Current).last_column = \ | |
2247 | YYRHSLOC (Rhs, 0).last_column; \ | |
2248 | } \ | |
2249 | while (YYID (0)) | |
2250 | #endif | |
368f75ae | 2251 | |
368f75ae | 2252 | |
08cf8642 | 2253 | /* YY_LOCATION_PRINT -- Print the location on the stream. |
2254 | This macro was not mandated originally: define only if we know | |
2255 | we won't break user code: when these are the locations we know. */ | |
368f75ae | 2256 | |
08cf8642 | 2257 | #ifndef YY_LOCATION_PRINT |
2258 | # if YYLTYPE_IS_TRIVIAL | |
2259 | # define YY_LOCATION_PRINT(File, Loc) \ | |
2260 | fprintf (File, "%d.%d-%d.%d", \ | |
2261 | (Loc).first_line, (Loc).first_column, \ | |
2262 | (Loc).last_line, (Loc).last_column) | |
368f75ae | 2263 | # else |
08cf8642 | 2264 | # define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
368f75ae | 2265 | # endif |
08cf8642 | 2266 | #endif |
368f75ae | 2267 | |
368f75ae | 2268 | |
08cf8642 | 2269 | /* YYLEX -- calling `yylex' with the right arguments. */ |
368f75ae | 2270 | |
08cf8642 | 2271 | #ifdef YYLEX_PARAM |
2272 | # define YYLEX yylex (YYLEX_PARAM) | |
2273 | #else | |
2274 | # define YYLEX yylex () | |
368f75ae | 2275 | #endif |
2276 | ||
08cf8642 | 2277 | /* Enable debugging if requested. */ |
2278 | #if YYDEBUG | |
368f75ae | 2279 | |
08cf8642 | 2280 | # ifndef YYFPRINTF |
2281 | # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ | |
2282 | # define YYFPRINTF fprintf | |
368f75ae | 2283 | # endif |
08cf8642 | 2284 | |
2285 | # define YYDPRINTF(Args) \ | |
2286 | do { \ | |
2287 | if (yydebug) \ | |
2288 | YYFPRINTF Args; \ | |
2289 | } while (YYID (0)) | |
2290 | ||
2291 | # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ | |
2292 | do { \ | |
2293 | if (yydebug) \ | |
2294 | { \ | |
2295 | YYFPRINTF (stderr, "%s ", Title); \ | |
2296 | yy_symbol_print (stderr, \ | |
2297 | Type, Value); \ | |
2298 | YYFPRINTF (stderr, "\n"); \ | |
2299 | } \ | |
2300 | } while (YYID (0)) | |
2301 | ||
2302 | ||
2303 | /*--------------------------------. | |
2304 | | Print this symbol on YYOUTPUT. | | |
2305 | `--------------------------------*/ | |
2306 | ||
2307 | /*ARGSUSED*/ | |
2308 | #if (defined __STDC__ || defined __C99__FUNC__ \ | |
2309 | || defined __cplusplus || defined _MSC_VER) | |
2310 | static void | |
2311 | yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) | |
2312 | #else | |
2313 | static void | |
2314 | yy_symbol_value_print (yyoutput, yytype, yyvaluep) | |
2315 | FILE *yyoutput; | |
2316 | int yytype; | |
2317 | YYSTYPE const * const yyvaluep; | |
368f75ae | 2318 | #endif |
08cf8642 | 2319 | { |
2320 | if (!yyvaluep) | |
2321 | return; | |
2322 | # ifdef YYPRINT | |
2323 | if (yytype < YYNTOKENS) | |
2324 | YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); | |
2325 | # else | |
2326 | YYUSE (yyoutput); | |
2327 | # endif | |
2328 | switch (yytype) | |
2329 | { | |
2330 | default: | |
2331 | break; | |
2332 | } | |
2333 | } | |
368f75ae | 2334 | |
885824d3 | 2335 | |
08cf8642 | 2336 | /*--------------------------------. |
2337 | | Print this symbol on YYOUTPUT. | | |
2338 | `--------------------------------*/ | |
885824d3 | 2339 | |
08cf8642 | 2340 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
2341 | || defined __cplusplus || defined _MSC_VER) | |
2342 | static void | |
2343 | yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) | |
2344 | #else | |
2345 | static void | |
2346 | yy_symbol_print (yyoutput, yytype, yyvaluep) | |
2347 | FILE *yyoutput; | |
2348 | int yytype; | |
2349 | YYSTYPE const * const yyvaluep; | |
2350 | #endif | |
2351 | { | |
2352 | if (yytype < YYNTOKENS) | |
2353 | YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); | |
2354 | else | |
2355 | YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); | |
368f75ae | 2356 | |
08cf8642 | 2357 | yy_symbol_value_print (yyoutput, yytype, yyvaluep); |
2358 | YYFPRINTF (yyoutput, ")"); | |
2359 | } | |
368f75ae | 2360 | |
08cf8642 | 2361 | /*------------------------------------------------------------------. |
2362 | | yy_stack_print -- Print the state stack from its BOTTOM up to its | | |
2363 | | TOP (included). | | |
2364 | `------------------------------------------------------------------*/ | |
885824d3 | 2365 | |
08cf8642 | 2366 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
2367 | || defined __cplusplus || defined _MSC_VER) | |
2368 | static void | |
2369 | yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) | |
2370 | #else | |
2371 | static void | |
2372 | yy_stack_print (bottom, top) | |
2373 | yytype_int16 *bottom; | |
2374 | yytype_int16 *top; | |
885824d3 | 2375 | #endif |
08cf8642 | 2376 | { |
2377 | YYFPRINTF (stderr, "Stack now"); | |
2378 | for (; bottom <= top; ++bottom) | |
2379 | YYFPRINTF (stderr, " %d", *bottom); | |
2380 | YYFPRINTF (stderr, "\n"); | |
2381 | } | |
885824d3 | 2382 | |
08cf8642 | 2383 | # define YY_STACK_PRINT(Bottom, Top) \ |
2384 | do { \ | |
2385 | if (yydebug) \ | |
2386 | yy_stack_print ((Bottom), (Top)); \ | |
2387 | } while (YYID (0)) | |
368f75ae | 2388 | |
368f75ae | 2389 | |
08cf8642 | 2390 | /*------------------------------------------------. |
2391 | | Report that the YYRULE is going to be reduced. | | |
2392 | `------------------------------------------------*/ | |
e5081f8c | 2393 | |
08cf8642 | 2394 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
2395 | || defined __cplusplus || defined _MSC_VER) | |
2396 | static void | |
2397 | yy_reduce_print (YYSTYPE *yyvsp, int yyrule) | |
2398 | #else | |
2399 | static void | |
2400 | yy_reduce_print (yyvsp, yyrule) | |
2401 | YYSTYPE *yyvsp; | |
2402 | int yyrule; | |
2403 | #endif | |
2404 | { | |
2405 | int yynrhs = yyr2[yyrule]; | |
2406 | int yyi; | |
2407 | unsigned long int yylno = yyrline[yyrule]; | |
2408 | YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", | |
2409 | yyrule - 1, yylno); | |
2410 | /* The symbols being reduced. */ | |
2411 | for (yyi = 0; yyi < yynrhs; yyi++) | |
2412 | { | |
2413 | fprintf (stderr, " $%d = ", yyi + 1); | |
2414 | yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], | |
2415 | &(yyvsp[(yyi + 1) - (yynrhs)]) | |
2416 | ); | |
2417 | fprintf (stderr, "\n"); | |
2418 | } | |
2419 | } | |
e5081f8c | 2420 | |
08cf8642 | 2421 | # define YY_REDUCE_PRINT(Rule) \ |
2422 | do { \ | |
2423 | if (yydebug) \ | |
2424 | yy_reduce_print (yyvsp, Rule); \ | |
2425 | } while (YYID (0)) | |
885824d3 | 2426 | |
e5081f8c | 2427 | /* Nonzero means print parse trace. It is left uninitialized so that |
2428 | multiple parsers can coexist. */ | |
2429 | int yydebug; | |
2430 | #else /* !YYDEBUG */ | |
2431 | # define YYDPRINTF(Args) | |
08cf8642 | 2432 | # define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
2433 | # define YY_STACK_PRINT(Bottom, Top) | |
2434 | # define YY_REDUCE_PRINT(Rule) | |
e5081f8c | 2435 | #endif /* !YYDEBUG */ |
2436 | ||
08cf8642 | 2437 | |
e5081f8c | 2438 | /* YYINITDEPTH -- initial size of the parser's stacks. */ |
885824d3 | 2439 | #ifndef YYINITDEPTH |
e5081f8c | 2440 | # define YYINITDEPTH 200 |
885824d3 | 2441 | #endif |
2442 | ||
e5081f8c | 2443 | /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only |
2444 | if the built-in stack extension method is used). | |
2445 | ||
2446 | Do not make this value too large; the results are undefined if | |
08cf8642 | 2447 | YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
e5081f8c | 2448 | evaluated with infinite-precision integer arithmetic. */ |
a889b5ee | 2449 | |
885824d3 | 2450 | #ifndef YYMAXDEPTH |
e5081f8c | 2451 | # define YYMAXDEPTH 10000 |
885824d3 | 2452 | #endif |
08cf8642 | 2453 | |
885824d3 | 2454 | \f |
08cf8642 | 2455 | |
2456 | #if YYERROR_VERBOSE | |
e5081f8c | 2457 | |
2458 | # ifndef yystrlen | |
08cf8642 | 2459 | # if defined __GLIBC__ && defined _STRING_H |
e5081f8c | 2460 | # define yystrlen strlen |
2461 | # else | |
2462 | /* Return the length of YYSTR. */ | |
08cf8642 | 2463 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
2464 | || defined __cplusplus || defined _MSC_VER) | |
e5081f8c | 2465 | static YYSIZE_T |
e5081f8c | 2466 | yystrlen (const char *yystr) |
08cf8642 | 2467 | #else |
2468 | static YYSIZE_T | |
e5081f8c | 2469 | yystrlen (yystr) |
08cf8642 | 2470 | const char *yystr; |
2471 | #endif | |
885824d3 | 2472 | { |
08cf8642 | 2473 | YYSIZE_T yylen; |
2474 | for (yylen = 0; yystr[yylen]; yylen++) | |
e5081f8c | 2475 | continue; |
08cf8642 | 2476 | return yylen; |
e5081f8c | 2477 | } |
2478 | # endif | |
2479 | # endif | |
a889b5ee | 2480 | |
e5081f8c | 2481 | # ifndef yystpcpy |
08cf8642 | 2482 | # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
e5081f8c | 2483 | # define yystpcpy stpcpy |
2484 | # else | |
2485 | /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in | |
2486 | YYDEST. */ | |
08cf8642 | 2487 | #if (defined __STDC__ || defined __C99__FUNC__ \ |
2488 | || defined __cplusplus || defined _MSC_VER) | |
e5081f8c | 2489 | static char * |
e5081f8c | 2490 | yystpcpy (char *yydest, const char *yysrc) |
08cf8642 | 2491 | #else |
2492 | static char * | |
e5081f8c | 2493 | yystpcpy (yydest, yysrc) |
08cf8642 | 2494 | char *yydest; |
2495 | const char *yysrc; | |
2496 | #endif | |
0866200b | 2497 | { |
08cf8642 | 2498 | char *yyd = yydest; |
2499 | const char *yys = yysrc; | |
a889b5ee | 2500 | |
e5081f8c | 2501 | while ((*yyd++ = *yys++) != '\0') |
2502 | continue; | |
0866200b | 2503 | |
e5081f8c | 2504 | return yyd - 1; |
2505 | } | |
2506 | # endif | |
2507 | # endif | |
885824d3 | 2508 | |
08cf8642 | 2509 | # ifndef yytnamerr |
2510 | /* Copy to YYRES the contents of YYSTR after stripping away unnecessary | |
2511 | quotes and backslashes, so that it's suitable for yyerror. The | |
2512 | heuristic is that double-quoting is unnecessary unless the string | |
2513 | contains an apostrophe, a comma, or backslash (other than | |
2514 | backslash-backslash). YYSTR is taken from yytname. If YYRES is | |
2515 | null, do not copy; instead, return the length of what the result | |
2516 | would have been. */ | |
2517 | static YYSIZE_T | |
2518 | yytnamerr (char *yyres, const char *yystr) | |
2519 | { | |
2520 | if (*yystr == '"') | |
2521 | { | |
2522 | YYSIZE_T yyn = 0; | |
2523 | char const *yyp = yystr; | |
2524 | ||
2525 | for (;;) | |
2526 | switch (*++yyp) | |
2527 | { | |
2528 | case '\'': | |
2529 | case ',': | |
2530 | goto do_not_strip_quotes; | |
2531 | ||
2532 | case '\\': | |
2533 | if (*++yyp != '\\') | |
2534 | goto do_not_strip_quotes; | |
2535 | /* Fall through. */ | |
2536 | default: | |
2537 | if (yyres) | |
2538 | yyres[yyn] = *yyp; | |
2539 | yyn++; | |
2540 | break; | |
2541 | ||
2542 | case '"': | |
2543 | if (yyres) | |
2544 | yyres[yyn] = '\0'; | |
2545 | return yyn; | |
2546 | } | |
2547 | do_not_strip_quotes: ; | |
2548 | } | |
368f75ae | 2549 | |
08cf8642 | 2550 | if (! yyres) |
2551 | return yystrlen (yystr); | |
885824d3 | 2552 | |
08cf8642 | 2553 | return yystpcpy (yyres, yystr) - yyres; |
2554 | } | |
e5081f8c | 2555 | # endif |
08cf8642 | 2556 | |
2557 | /* Copy into YYRESULT an error message about the unexpected token | |
2558 | YYCHAR while in state YYSTATE. Return the number of bytes copied, | |
2559 | including the terminating null byte. If YYRESULT is null, do not | |
2560 | copy anything; just return the number of bytes that would be | |
2561 | copied. As a special case, return 0 if an ordinary "syntax error" | |
2562 | message will do. Return YYSIZE_MAXIMUM if overflow occurs during | |
2563 | size calculation. */ | |
2564 | static YYSIZE_T | |
2565 | yysyntax_error (char *yyresult, int yystate, int yychar) | |
2566 | { | |
2567 | int yyn = yypact[yystate]; | |
2568 | ||
2569 | if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) | |
2570 | return 0; | |
2571 | else | |
2572 | { | |
2573 | int yytype = YYTRANSLATE (yychar); | |
2574 | YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); | |
2575 | YYSIZE_T yysize = yysize0; | |
2576 | YYSIZE_T yysize1; | |
2577 | int yysize_overflow = 0; | |
2578 | enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; | |
2579 | char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; | |
2580 | int yyx; | |
2581 | ||
2582 | # if 0 | |
2583 | /* This is so xgettext sees the translatable formats that are | |
2584 | constructed on the fly. */ | |
2585 | YY_("syntax error, unexpected %s"); | |
2586 | YY_("syntax error, unexpected %s, expecting %s"); | |
2587 | YY_("syntax error, unexpected %s, expecting %s or %s"); | |
2588 | YY_("syntax error, unexpected %s, expecting %s or %s or %s"); | |
2589 | YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); | |
368f75ae | 2590 | # endif |
08cf8642 | 2591 | char *yyfmt; |
2592 | char const *yyf; | |
2593 | static char const yyunexpected[] = "syntax error, unexpected %s"; | |
2594 | static char const yyexpecting[] = ", expecting %s"; | |
2595 | static char const yyor[] = " or %s"; | |
2596 | char yyformat[sizeof yyunexpected | |
2597 | + sizeof yyexpecting - 1 | |
2598 | + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) | |
2599 | * (sizeof yyor - 1))]; | |
2600 | char const *yyprefix = yyexpecting; | |
2601 | ||
2602 | /* Start YYX at -YYN if negative to avoid negative indexes in | |
2603 | YYCHECK. */ | |
2604 | int yyxbegin = yyn < 0 ? -yyn : 0; | |
2605 | ||
2606 | /* Stay within bounds of both yycheck and yytname. */ | |
2607 | int yychecklim = YYLAST - yyn + 1; | |
2608 | int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; | |
2609 | int yycount = 1; | |
2610 | ||
2611 | yyarg[0] = yytname[yytype]; | |
2612 | yyfmt = yystpcpy (yyformat, yyunexpected); | |
2613 | ||
2614 | for (yyx = yyxbegin; yyx < yyxend; ++yyx) | |
2615 | if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) | |
2616 | { | |
2617 | if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) | |
2618 | { | |
2619 | yycount = 1; | |
2620 | yysize = yysize0; | |
2621 | yyformat[sizeof yyunexpected - 1] = '\0'; | |
2622 | break; | |
2623 | } | |
2624 | yyarg[yycount++] = yytname[yyx]; | |
2625 | yysize1 = yysize + yytnamerr (0, yytname[yyx]); | |
2626 | yysize_overflow |= (yysize1 < yysize); | |
2627 | yysize = yysize1; | |
2628 | yyfmt = yystpcpy (yyfmt, yyprefix); | |
2629 | yyprefix = yyor; | |
2630 | } | |
2631 | ||
2632 | yyf = YY_(yyformat); | |
2633 | yysize1 = yysize + yystrlen (yyf); | |
2634 | yysize_overflow |= (yysize1 < yysize); | |
2635 | yysize = yysize1; | |
2636 | ||
2637 | if (yysize_overflow) | |
2638 | return YYSIZE_MAXIMUM; | |
2639 | ||
2640 | if (yyresult) | |
2641 | { | |
2642 | /* Avoid sprintf, as that infringes on the user's name space. | |
2643 | Don't have undefined behavior even if the translation | |
2644 | produced a string with the wrong number of "%s"s. */ | |
2645 | char *yyp = yyresult; | |
2646 | int yyi = 0; | |
2647 | while ((*yyp = *yyf) != '\0') | |
2648 | { | |
2649 | if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) | |
2650 | { | |
2651 | yyp += yytnamerr (yyp, yyarg[yyi++]); | |
2652 | yyf += 2; | |
2653 | } | |
2654 | else | |
2655 | { | |
2656 | yyp++; | |
2657 | yyf++; | |
2658 | } | |
2659 | } | |
2660 | } | |
2661 | return yysize; | |
2662 | } | |
2663 | } | |
2664 | #endif /* YYERROR_VERBOSE */ | |
2665 | \f | |
2666 | ||
2667 | /*-----------------------------------------------. | |
2668 | | Release the memory associated to this symbol. | | |
2669 | `-----------------------------------------------*/ | |
2670 | ||
2671 | /*ARGSUSED*/ | |
2672 | #if (defined __STDC__ || defined __C99__FUNC__ \ | |
2673 | || defined __cplusplus || defined _MSC_VER) | |
2674 | static void | |
2675 | yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) | |
2676 | #else | |
2677 | static void | |
2678 | yydestruct (yymsg, yytype, yyvaluep) | |
2679 | const char *yymsg; | |
2680 | int yytype; | |
2681 | YYSTYPE *yyvaluep; | |
c05aefaa | 2682 | #endif |
08cf8642 | 2683 | { |
2684 | YYUSE (yyvaluep); | |
8f58355a | 2685 | |
08cf8642 | 2686 | if (!yymsg) |
2687 | yymsg = "Deleting"; | |
2688 | YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); | |
2689 | ||
2690 | switch (yytype) | |
2691 | { | |
2692 | ||
2693 | default: | |
2694 | break; | |
2695 | } | |
2696 | } | |
2697 | \f | |
2698 | ||
2699 | /* Prevent warnings from -Wmissing-prototypes. */ | |
c05aefaa | 2700 | |
08cf8642 | 2701 | #ifdef YYPARSE_PARAM |
2702 | #if defined __STDC__ || defined __cplusplus | |
2703 | int yyparse (void *YYPARSE_PARAM); | |
2704 | #else | |
2705 | int yyparse (); | |
2706 | #endif | |
2707 | #else /* ! YYPARSE_PARAM */ | |
2708 | #if defined __STDC__ || defined __cplusplus | |
2709 | int yyparse (void); | |
368f75ae | 2710 | #else |
08cf8642 | 2711 | int yyparse (); |
368f75ae | 2712 | #endif |
08cf8642 | 2713 | #endif /* ! YYPARSE_PARAM */ |
2714 | ||
2715 | ||
e5081f8c | 2716 | |
08cf8642 | 2717 | /* The look-ahead symbol. */ |
2718 | int yychar; | |
e5081f8c | 2719 | |
08cf8642 | 2720 | /* The semantic value of the look-ahead symbol. */ |
2721 | YYSTYPE yylval; | |
e5081f8c | 2722 | |
08cf8642 | 2723 | /* Number of syntax errors so far. */ |
2724 | int yynerrs; | |
2725 | ||
2726 | ||
2727 | ||
2728 | /*----------. | |
2729 | | yyparse. | | |
2730 | `----------*/ | |
e5081f8c | 2731 | |
08cf8642 | 2732 | #ifdef YYPARSE_PARAM |
2733 | #if (defined __STDC__ || defined __C99__FUNC__ \ | |
2734 | || defined __cplusplus || defined _MSC_VER) | |
368f75ae | 2735 | int |
08cf8642 | 2736 | yyparse (void *YYPARSE_PARAM) |
2737 | #else | |
2738 | int | |
2739 | yyparse (YYPARSE_PARAM) | |
2740 | void *YYPARSE_PARAM; | |
2741 | #endif | |
2742 | #else /* ! YYPARSE_PARAM */ | |
2743 | #if (defined __STDC__ || defined __C99__FUNC__ \ | |
2744 | || defined __cplusplus || defined _MSC_VER) | |
2745 | int | |
2746 | yyparse (void) | |
2747 | #else | |
2748 | int | |
2749 | yyparse () | |
368f75ae | 2750 | |
08cf8642 | 2751 | #endif |
2752 | #endif | |
2753 | { | |
2754 | ||
2755 | int yystate; | |
2756 | int yyn; | |
e5081f8c | 2757 | int yyresult; |
2758 | /* Number of tokens to shift before error messages enabled. */ | |
2759 | int yyerrstatus; | |
08cf8642 | 2760 | /* Look-ahead token as an internal (translated) token number. */ |
2761 | int yytoken = 0; | |
2762 | #if YYERROR_VERBOSE | |
2763 | /* Buffer for error messages, and its allocated size. */ | |
2764 | char yymsgbuf[128]; | |
2765 | char *yymsg = yymsgbuf; | |
2766 | YYSIZE_T yymsg_alloc = sizeof yymsgbuf; | |
2767 | #endif | |
e5081f8c | 2768 | |
2769 | /* Three stacks and their tools: | |
2770 | `yyss': related to states, | |
2771 | `yyvs': related to semantic values, | |
2772 | `yyls': related to locations. | |
2773 | ||
2774 | Refer to the stacks thru separate pointers, to allow yyoverflow | |
2775 | to reallocate them elsewhere. */ | |
2776 | ||
08cf8642 | 2777 | /* The state stack. */ |
2778 | yytype_int16 yyssa[YYINITDEPTH]; | |
2779 | yytype_int16 *yyss = yyssa; | |
2780 | yytype_int16 *yyssp; | |
a889b5ee | 2781 | |
e5081f8c | 2782 | /* The semantic value stack. */ |
2783 | YYSTYPE yyvsa[YYINITDEPTH]; | |
2784 | YYSTYPE *yyvs = yyvsa; | |
08cf8642 | 2785 | YYSTYPE *yyvsp; |
0866200b | 2786 | |
885824d3 | 2787 | |
885824d3 | 2788 | |
08cf8642 | 2789 | #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
885824d3 | 2790 | |
08cf8642 | 2791 | YYSIZE_T yystacksize = YYINITDEPTH; |
368f75ae | 2792 | |
e5081f8c | 2793 | /* The variables used to return semantic value and location from the |
2794 | action routines. */ | |
2795 | YYSTYPE yyval; | |
0866200b | 2796 | |
08cf8642 | 2797 | |
2798 | /* The number of symbols on the RHS of the reduced rule. | |
2799 | Keep to zero when no symbol should be popped. */ | |
2800 | int yylen = 0; | |
885824d3 | 2801 | |
e5081f8c | 2802 | YYDPRINTF ((stderr, "Starting parse\n")); |
885824d3 | 2803 | |
2804 | yystate = 0; | |
2805 | yyerrstatus = 0; | |
2806 | yynerrs = 0; | |
2807 | yychar = YYEMPTY; /* Cause a token to be read. */ | |
2808 | ||
2809 | /* Initialize stack pointers. | |
2810 | Waste one element of value and location stack | |
2811 | so that they stay on the same level as the state stack. | |
2812 | The wasted elements are never initialized. */ | |
2813 | ||
e5081f8c | 2814 | yyssp = yyss; |
885824d3 | 2815 | yyvsp = yyvs; |
08cf8642 | 2816 | |
e5081f8c | 2817 | goto yysetstate; |
885824d3 | 2818 | |
e5081f8c | 2819 | /*------------------------------------------------------------. |
2820 | | yynewstate -- Push a new state, which is found in yystate. | | |
2821 | `------------------------------------------------------------*/ | |
2822 | yynewstate: | |
2823 | /* In all cases, when you get here, the value and location stacks | |
08cf8642 | 2824 | have just been pushed. So pushing a state here evens the stacks. */ |
e5081f8c | 2825 | yyssp++; |
885824d3 | 2826 | |
e5081f8c | 2827 | yysetstate: |
2828 | *yyssp = yystate; | |
885824d3 | 2829 | |
08cf8642 | 2830 | if (yyss + yystacksize - 1 <= yyssp) |
885824d3 | 2831 | { |
885824d3 | 2832 | /* Get the current used size of the three stacks, in elements. */ |
e5081f8c | 2833 | YYSIZE_T yysize = yyssp - yyss + 1; |
885824d3 | 2834 | |
2835 | #ifdef yyoverflow | |
e5081f8c | 2836 | { |
08cf8642 | 2837 | /* Give user a chance to reallocate the stack. Use copies of |
e5081f8c | 2838 | these so that the &'s don't force the real ones into |
2839 | memory. */ | |
2840 | YYSTYPE *yyvs1 = yyvs; | |
08cf8642 | 2841 | yytype_int16 *yyss1 = yyss; |
2842 | ||
e5081f8c | 2843 | |
2844 | /* Each stack pointer address is followed by the size of the | |
08cf8642 | 2845 | data in use in that stack, in bytes. This used to be a |
2846 | conditional around just the two extra args, but that might | |
2847 | be undefined if yyoverflow is a macro. */ | |
2848 | yyoverflow (YY_("memory exhausted"), | |
368f75ae | 2849 | &yyss1, yysize * sizeof (*yyssp), |
2850 | &yyvs1, yysize * sizeof (*yyvsp), | |
08cf8642 | 2851 | |
368f75ae | 2852 | &yystacksize); |
08cf8642 | 2853 | |
e5081f8c | 2854 | yyss = yyss1; |
2855 | yyvs = yyvs1; | |
2856 | } | |
885824d3 | 2857 | #else /* no yyoverflow */ |
e5081f8c | 2858 | # ifndef YYSTACK_RELOCATE |
08cf8642 | 2859 | goto yyexhaustedlab; |
e5081f8c | 2860 | # else |
885824d3 | 2861 | /* Extend the stack our own way. */ |
08cf8642 | 2862 | if (YYMAXDEPTH <= yystacksize) |
2863 | goto yyexhaustedlab; | |
885824d3 | 2864 | yystacksize *= 2; |
08cf8642 | 2865 | if (YYMAXDEPTH < yystacksize) |
885824d3 | 2866 | yystacksize = YYMAXDEPTH; |
e5081f8c | 2867 | |
2868 | { | |
08cf8642 | 2869 | yytype_int16 *yyss1 = yyss; |
e5081f8c | 2870 | union yyalloc *yyptr = |
2871 | (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); | |
2872 | if (! yyptr) | |
08cf8642 | 2873 | goto yyexhaustedlab; |
e5081f8c | 2874 | YYSTACK_RELOCATE (yyss); |
2875 | YYSTACK_RELOCATE (yyvs); | |
08cf8642 | 2876 | |
2877 | # undef YYSTACK_RELOCATE | |
e5081f8c | 2878 | if (yyss1 != yyssa) |
2879 | YYSTACK_FREE (yyss1); | |
2880 | } | |
2881 | # endif | |
885824d3 | 2882 | #endif /* no yyoverflow */ |
2883 | ||
e5081f8c | 2884 | yyssp = yyss + yysize - 1; |
2885 | yyvsp = yyvs + yysize - 1; | |
08cf8642 | 2886 | |
885824d3 | 2887 | |
e5081f8c | 2888 | YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
2889 | (unsigned long int) yystacksize)); | |
885824d3 | 2890 | |
08cf8642 | 2891 | if (yyss + yystacksize - 1 <= yyssp) |
885824d3 | 2892 | YYABORT; |
2893 | } | |
2894 | ||
e5081f8c | 2895 | YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
885824d3 | 2896 | |
2897 | goto yybackup; | |
e5081f8c | 2898 | |
e5081f8c | 2899 | /*-----------. |
2900 | | yybackup. | | |
2901 | `-----------*/ | |
2902 | yybackup: | |
885824d3 | 2903 | |
08cf8642 | 2904 | /* Do appropriate processing given the current state. Read a |
2905 | look-ahead token if we need one and don't already have one. */ | |
885824d3 | 2906 | |
08cf8642 | 2907 | /* First try to decide what to do without reference to look-ahead token. */ |
885824d3 | 2908 | yyn = yypact[yystate]; |
08cf8642 | 2909 | if (yyn == YYPACT_NINF) |
885824d3 | 2910 | goto yydefault; |
2911 | ||
08cf8642 | 2912 | /* Not known => get a look-ahead token if don't already have one. */ |
368f75ae | 2913 | |
08cf8642 | 2914 | /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ |
885824d3 | 2915 | if (yychar == YYEMPTY) |
2916 | { | |
e5081f8c | 2917 | YYDPRINTF ((stderr, "Reading a token: ")); |
885824d3 | 2918 | yychar = YYLEX; |
2919 | } | |
2920 | ||
08cf8642 | 2921 | if (yychar <= YYEOF) |
885824d3 | 2922 | { |
08cf8642 | 2923 | yychar = yytoken = YYEOF; |
e5081f8c | 2924 | YYDPRINTF ((stderr, "Now at end of input.\n")); |
885824d3 | 2925 | } |
2926 | else | |
2927 | { | |
08cf8642 | 2928 | yytoken = YYTRANSLATE (yychar); |
2929 | YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); | |
885824d3 | 2930 | } |
2931 | ||
08cf8642 | 2932 | /* If the proper action on seeing token YYTOKEN is to reduce or to |
2933 | detect an error, take that action. */ | |
2934 | yyn += yytoken; | |
2935 | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) | |
885824d3 | 2936 | goto yydefault; |
885824d3 | 2937 | yyn = yytable[yyn]; |
08cf8642 | 2938 | if (yyn <= 0) |
885824d3 | 2939 | { |
08cf8642 | 2940 | if (yyn == 0 || yyn == YYTABLE_NINF) |
885824d3 | 2941 | goto yyerrlab; |
2942 | yyn = -yyn; | |
2943 | goto yyreduce; | |
2944 | } | |
885824d3 | 2945 | |
2946 | if (yyn == YYFINAL) | |
2947 | YYACCEPT; | |
2948 | ||
e5081f8c | 2949 | /* Count tokens shifted since error; after three, turn off error |
2950 | status. */ | |
2951 | if (yyerrstatus) | |
2952 | yyerrstatus--; | |
885824d3 | 2953 | |
08cf8642 | 2954 | /* Shift the look-ahead token. */ |
2955 | YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); | |
2956 | ||
2957 | /* Discard the shifted token unless it is eof. */ | |
2958 | if (yychar != YYEOF) | |
2959 | yychar = YYEMPTY; | |
2960 | ||
2961 | yystate = yyn; | |
2962 | *++yyvsp = yylval; | |
2963 | ||
2964 | goto yynewstate; | |
885824d3 | 2965 | |
0866200b | 2966 | |
e5081f8c | 2967 | /*-----------------------------------------------------------. |
2968 | | yydefault -- do the default action for the current state. | | |
2969 | `-----------------------------------------------------------*/ | |
2970 | yydefault: | |
885824d3 | 2971 | yyn = yydefact[yystate]; |
2972 | if (yyn == 0) | |
2973 | goto yyerrlab; | |
e5081f8c | 2974 | goto yyreduce; |
2975 | ||
885824d3 | 2976 | |
08cf8642 | 2977 | /*-----------------------------. |
2978 | | yyreduce -- Do a reduction. | | |
2979 | `-----------------------------*/ | |
2980 | yyreduce: | |
2981 | /* yyn is the number of a rule to reduce with. */ | |
2982 | yylen = yyr2[yyn]; | |
2983 | ||
2984 | /* If YYLEN is nonzero, implement the default value of the action: | |
2985 | `$$ = $1'. | |
2986 | ||
2987 | Otherwise, the following line sets YYVAL to garbage. | |
2988 | This behavior is undocumented and Bison | |
2989 | users should not rely upon it. Assigning to YYVAL | |
2990 | unconditionally makes the parser a bit smaller, and it avoids a | |
2991 | GCC warning that YYVAL may be used uninitialized. */ | |
2992 | yyval = yyvsp[1-yylen]; | |
2993 | ||
2994 | ||
2995 | YY_REDUCE_PRINT (yyn); | |
2996 | switch (yyn) | |
2997 | { | |
2998 | case 2: | |
2999 | ||
3000 | { lhExternals ((yyvsp[(1) - (1)].interfacelist)); ;} | |
3001 | break; | |
3002 | ||
3003 | case 3: | |
3004 | ||
3005 | { interfaceNodeList_free ((yyvsp[(1) - (3)].interfacelist)); interfaceNodeList_free ((yyvsp[(3) - (3)].interfacelist)); ;} | |
3006 | break; | |
3007 | ||
3008 | case 4: | |
3009 | ||
3010 | { (yyval.interfacelist) = interfaceNodeList_new (); ;} | |
3011 | break; | |
3012 | ||
3013 | case 5: | |
3014 | ||
3015 | { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;} | |
3016 | break; | |
3017 | ||
3018 | case 8: | |
3019 | ||
3020 | { (yyval.interfacelist) = interfaceNodeList_new (); ;} | |
3021 | break; | |
3022 | ||
3023 | case 9: | |
3024 | ||
3025 | { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;} | |
3026 | break; | |
3027 | ||
3028 | case 10: | |
3029 | ||
3030 | { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;} | |
3031 | break; | |
3032 | ||
3033 | case 11: | |
3034 | ||
3035 | { (yyval.interfacelist) = interfaceNodeList_new (); ;} | |
3036 | break; | |
3037 | ||
3038 | case 12: | |
3039 | ||
3040 | { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;} | |
3041 | break; | |
3042 | ||
3043 | case 16: | |
3044 | ||
3045 | { (yyval.iface) = makeInterfaceNodeImports ((yyvsp[(2) - (3)].importlist)); | |
3046 | /* assume subspecs are already processed, symbol table info in external file */ | |
3047 | ;} | |
3048 | break; | |
3049 | ||
3050 | case 17: | |
3051 | ||
3052 | { (yyval.iface) = makeInterfaceNodeUses ((yyvsp[(2) - (3)].traitreflist)); readlsignatures ((yyval.iface));;} | |
3053 | break; | |
3054 | ||
3055 | case 18: | |
3056 | ||
3057 | { declareConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makeConst ((yyvsp[(1) - (1)].constdeclaration)); ;} | |
3058 | break; | |
3059 | ||
3060 | case 19: | |
3061 | ||
3062 | { declareVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makeVar ((yyvsp[(1) - (1)].vardeclaration)); ;} | |
3063 | break; | |
3064 | ||
3065 | case 20: | |
3066 | ||
3067 | { declareType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makeType ((yyvsp[(1) - (1)].type)); ;} | |
3068 | break; | |
3069 | ||
3070 | case 21: | |
3071 | ||
3072 | { declareFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makeFcn ((yyvsp[(1) - (1)].fcn)); ;} | |
3073 | break; | |
3074 | ||
3075 | case 22: | |
3076 | ||
3077 | { (yyval.iface) = interfaceNode_makeClaim ((yyvsp[(1) - (1)].claim)); ;} | |
3078 | break; | |
3079 | ||
3080 | case 23: | |
3081 | ||
3082 | { declareIter ((yyvsp[(1) - (1)].iter)); (yyval.iface) = interfaceNode_makeIter ((yyvsp[(1) - (1)].iter)); ;} | |
3083 | break; | |
3084 | ||
3085 | case 24: | |
3086 | ||
3087 | { (yyval.iter) = makeIterNode ((yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].paramlist)); ;} | |
3088 | break; | |
3089 | ||
3090 | case 25: | |
3091 | ||
3092 | { (yyval.paramlist) = paramNodeList_new (); ;} | |
3093 | break; | |
3094 | ||
3095 | case 26: | |
3096 | ||
3097 | { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;} | |
3098 | break; | |
3099 | ||
3100 | case 27: | |
3101 | ||
3102 | { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), (yyvsp[(1) - (1)].param)); ;} | |
3103 | break; | |
3104 | ||
3105 | case 28: | |
3106 | ||
3107 | { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist),(yyvsp[(3) - (3)].param)); ;} | |
3108 | break; | |
3109 | ||
3110 | case 29: | |
3111 | ||
3112 | { (yyval.param) = markYieldParamNode ((yyvsp[(2) - (2)].param)); ;} | |
3113 | break; | |
3114 | ||
3115 | case 30: | |
3116 | ||
3117 | { (yyval.param) = (yyvsp[(1) - (1)].param); ;} | |
3118 | break; | |
3119 | ||
3120 | case 31: | |
3121 | ||
3122 | { symtable_export (g_symtab, FALSE); ;} | |
3123 | break; | |
3124 | ||
3125 | case 32: | |
3126 | ||
3127 | { (yyval.iface) = (yyvsp[(3) - (3)].iface); symtable_export (g_symtab, TRUE); ;} | |
3128 | break; | |
3129 | ||
3130 | case 33: | |
3131 | ||
3132 | { declarePrivConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makePrivConst ((yyvsp[(1) - (1)].constdeclaration)); ;} | |
3133 | break; | |
3134 | ||
3135 | case 34: | |
3136 | ||
3137 | { declarePrivVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makePrivVar ((yyvsp[(1) - (1)].vardeclaration)); ;} | |
3138 | break; | |
3139 | ||
3140 | case 35: | |
3141 | ||
3142 | { declarePrivType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makePrivType ((yyvsp[(1) - (1)].type)); ;} | |
3143 | break; | |
3144 | ||
3145 | case 36: | |
3146 | ||
3147 | { declarePrivFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makePrivFcn ((yyvsp[(1) - (1)].fcn)); ;} | |
3148 | break; | |
3149 | ||
3150 | case 37: | |
3151 | ||
3152 | { (yyval.constdeclaration) = makeConstDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls)); ;} | |
3153 | break; | |
3154 | ||
3155 | case 38: | |
3156 | ||
3157 | { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_NONE; ;} | |
3158 | break; | |
3159 | ||
3160 | case 39: | |
3161 | ||
3162 | { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_CONST; ;} | |
3163 | break; | |
3164 | ||
3165 | case 40: | |
3166 | ||
3167 | { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_VOLATILE; ;} | |
3168 | break; | |
3169 | ||
3170 | case 41: | |
3171 | ||
3172 | { (yyval.type) = makeAbstractTypeNode ((yyvsp[(1) - (1)].abstract)); ;} | |
3173 | break; | |
3174 | ||
3175 | case 42: | |
3176 | ||
3177 | { (yyval.type) = makeExposedTypeNode ((yyvsp[(1) - (1)].exposed)); ;} | |
3178 | break; | |
3179 | ||
3180 | case 43: | |
3181 | ||
3182 | { (yyval.typequal) = qual_createPrintfLike (); ;} | |
3183 | break; | |
3184 | ||
3185 | case 44: | |
3186 | ||
3187 | { (yyval.typequal) = qual_createScanfLike (); ;} | |
3188 | break; | |
3189 | ||
3190 | case 45: | |
3191 | ||
3192 | { (yyval.typequal) = qual_createMessageLike (); ;} | |
3193 | break; | |
3194 | ||
3195 | case 46: | |
3196 | ||
3197 | { enteringFcnScope ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declare), (yyvsp[(3) - (3)].globals)); ;} | |
3198 | break; | |
3199 | ||
3200 | case 47: | |
3201 | ||
3202 | { (yyval.fcn) = makeFcnNode (qual_createUnknown (), (yyvsp[(1) - (13)].lcltypespec), (yyvsp[(2) - (13)].declare), (yyvsp[(3) - (13)].globals), (yyvsp[(6) - (13)].vardeclarationlist), (yyvsp[(7) - (13)].letdecls), | |
3203 | (yyvsp[(8) - (13)].lclpredicate), (yyvsp[(9) - (13)].lclpredicate), (yyvsp[(10) - (13)].modify), (yyvsp[(11) - (13)].lclpredicate), (yyvsp[(12) - (13)].lclpredicate)); | |
3204 | /* type, declarator, glovbls, privateinits, | |
3205 | lets, checks, requires, modifies, ensures, claims */ | |
3206 | symtable_exitScope (g_symtab); | |
3207 | ;} | |
3208 | break; | |
3209 | ||
3210 | case 48: | |
3211 | ||
3212 | { enteringFcnScope ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].declare), (yyvsp[(4) - (4)].globals)); ;} | |
3213 | break; | |
3214 | ||
3215 | case 49: | |
3216 | ||
3217 | { (yyval.fcn) = makeFcnNode ((yyvsp[(1) - (14)].typequal), (yyvsp[(2) - (14)].lcltypespec), (yyvsp[(3) - (14)].declare), (yyvsp[(4) - (14)].globals), (yyvsp[(7) - (14)].vardeclarationlist), | |
3218 | (yyvsp[(8) - (14)].letdecls), (yyvsp[(9) - (14)].lclpredicate), (yyvsp[(10) - (14)].lclpredicate), (yyvsp[(11) - (14)].modify), (yyvsp[(12) - (14)].lclpredicate), (yyvsp[(13) - (14)].lclpredicate)); | |
3219 | /* type, declarator, glovbls, privateinits, | |
3220 | lets, checks, requires, modifies, ensures, claims */ | |
3221 | symtable_exitScope (g_symtab); | |
3222 | ;} | |
3223 | break; | |
3224 | ||
3225 | case 50: | |
3226 | ||
3227 | { enteringClaimScope ((yyvsp[(4) - (6)].paramlist), (yyvsp[(6) - (6)].globals)); ;} | |
3228 | break; | |
3229 | ||
3230 | case 51: | |
3231 | ||
3232 | { (yyval.claim) = makeClaimNode ((yyvsp[(2) - (13)].ltok), (yyvsp[(4) - (13)].paramlist), (yyvsp[(6) - (13)].globals), (yyvsp[(9) - (13)].letdecls), (yyvsp[(10) - (13)].lclpredicate), (yyvsp[(11) - (13)].program), (yyvsp[(12) - (13)].lclpredicate)); | |
3233 | symtable_exitScope (g_symtab); ;} | |
3234 | break; | |
3235 | ||
3236 | case 52: | |
3237 | ||
3238 | { (yyval.claim) = (claimNode) 0; ;} | |
3239 | break; | |
3240 | ||
3241 | case 53: | |
3242 | ||
3243 | {g_inTypeDef = TRUE; ;} | |
3244 | break; | |
3245 | ||
3246 | case 54: | |
3247 | ||
3248 | {g_inTypeDef = FALSE; ;} | |
3249 | break; | |
3250 | ||
3251 | case 55: | |
3252 | ||
3253 | { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), TRUE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;} | |
3254 | break; | |
3255 | ||
3256 | case 56: | |
3257 | ||
3258 | {g_inTypeDef = TRUE; ;} | |
3259 | break; | |
3260 | ||
3261 | case 57: | |
3262 | ||
3263 | {g_inTypeDef = FALSE; ;} | |
3264 | break; | |
3265 | ||
3266 | case 58: | |
3267 | ||
3268 | { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;} | |
3269 | break; | |
3270 | ||
3271 | case 59: | |
3272 | ||
3273 | {g_inTypeDef = TRUE; ;} | |
3274 | break; | |
3275 | ||
3276 | case 60: | |
3277 | ||
3278 | {g_inTypeDef = FALSE; ;} | |
3279 | break; | |
3280 | ||
3281 | case 61: | |
3282 | ||
3283 | { (yyval.abstract) = makeAbstractNode ((yyvsp[(2) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;} | |
3284 | break; | |
3285 | ||
3286 | case 62: | |
3287 | ||
3288 | {g_inTypeDef = TRUE; ;} | |
3289 | break; | |
3290 | ||
3291 | case 63: | |
3292 | ||
3293 | {g_inTypeDef = FALSE; ;} | |
3294 | break; | |
3295 | ||
3296 | case 64: | |
3297 | ||
3298 | { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), FALSE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;} | |
3299 | break; | |
3300 | ||
3301 | case 65: | |
3302 | ||
3303 | { g_inTypeDef = TRUE; setExposedType ((yyvsp[(2) - (2)].lcltypespec)); ;} | |
3304 | break; | |
3305 | ||
3306 | case 66: | |
3307 | ||
3308 | { g_inTypeDef = FALSE; ;} | |
3309 | break; | |
3310 | ||
3311 | case 67: | |
3312 | ||
3313 | { (yyval.exposed) = makeExposedNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].lcltypespec), (yyvsp[(4) - (6)].declaratorinvs)); /* to support mutually recursive types */ ;} | |
3314 | break; | |
3315 | ||
3316 | case 68: | |
3317 | ||
3318 | { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeSU ((yyvsp[(1) - (2)].structorunion)), declaratorInvNodeList_new ()); ;} | |
3319 | break; | |
3320 | ||
3321 | case 69: | |
3322 | ||
3323 | { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeEnum ((yyvsp[(1) - (2)].enumspec)), declaratorInvNodeList_new ()); ;} | |
3324 | break; | |
3325 | ||
3326 | case 70: | |
3327 | ||
3328 | { (yyval.importlist) = importNodeList_add (importNodeList_new (), (yyvsp[(1) - (1)].import)); ;} | |
3329 | break; | |
3330 | ||
3331 | case 71: | |
3332 | ||
3333 | { (yyval.importlist) = importNodeList_add ((yyvsp[(1) - (3)].importlist), (yyvsp[(3) - (3)].import)); ;} | |
3334 | break; | |
3335 | ||
3336 | case 72: | |
3337 | ||
3338 | { (yyval.import) = importNode_makePlain ((yyvsp[(1) - (1)].ltok)); ;} | |
3339 | break; | |
3340 | ||
3341 | case 73: | |
3342 | ||
3343 | { checkBrackets ((yyvsp[(1) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); (yyval.import) = importNode_makeBracketed ((yyvsp[(2) - (3)].ltok)); ;} | |
3344 | break; | |
3345 | ||
3346 | case 74: | |
3347 | ||
3348 | { (yyval.import) = importNode_makeQuoted ((yyvsp[(1) - (1)].ltok)); ;} | |
3349 | break; | |
3350 | ||
3351 | case 75: | |
3352 | ||
3353 | { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;} | |
3354 | break; | |
3355 | ||
3356 | case 76: | |
3357 | ||
3358 | { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;} | |
3359 | break; | |
3360 | ||
3361 | case 78: | |
3362 | ||
3363 | { (yyval.traitreflist) = traitRefNodeList_add (traitRefNodeList_new (), (yyvsp[(1) - (1)].traitref)); ;} | |
3364 | break; | |
3365 | ||
3366 | case 79: | |
3367 | ||
3368 | { (yyval.traitreflist) = traitRefNodeList_add ((yyvsp[(1) - (3)].traitreflist), (yyvsp[(3) - (3)].traitref)); ;} | |
3369 | break; | |
3370 | ||
3371 | case 80: | |
3372 | ||
3373 | { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (1)].ltok)), (renamingNode)0); ;} | |
3374 | break; | |
3375 | ||
3376 | case 81: | |
3377 | ||
3378 | { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (4)].ltok)), (yyvsp[(3) - (4)].renaming)); ;} | |
3379 | break; | |
3380 | ||
3381 | case 82: | |
3382 | ||
3383 | { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (3)].ltokenList), (renamingNode)0); ;} | |
3384 | break; | |
3385 | ||
3386 | case 83: | |
3387 | ||
3388 | { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (6)].ltokenList), (yyvsp[(5) - (6)].renaming)); ;} | |
3389 | break; | |
3390 | ||
3391 | case 84: | |
3392 | ||
3393 | { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;} | |
3394 | break; | |
3395 | ||
3396 | case 85: | |
3397 | ||
3398 | { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;} | |
3399 | break; | |
3400 | ||
3401 | case 86: | |
3402 | ||
3403 | { (yyval.renaming) = makeRenamingNode (typeNameNodeList_new (), (yyvsp[(1) - (1)].replacelist)); ;} | |
3404 | break; | |
3405 | ||
3406 | case 87: | |
3407 | ||
3408 | { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (1)].namelist), replaceNodeList_new ()); ;} | |
3409 | break; | |
3410 | ||
3411 | case 88: | |
3412 | ||
3413 | { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].replacelist)); ;} | |
3414 | break; | |
3415 | ||
3416 | case 89: | |
3417 | ||
3418 | { (yyval.namelist) = typeNameNodeList_add (typeNameNodeList_new (), (yyvsp[(1) - (1)].typname)); ;} | |
3419 | break; | |
3420 | ||
3421 | case 90: | |
3422 | ||
3423 | { (yyval.namelist) = typeNameNodeList_add ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].typname)); ;} | |
3424 | break; | |
3425 | ||
3426 | case 91: | |
3427 | ||
3428 | { (yyval.replacelist) = replaceNodeList_add (replaceNodeList_new (), (yyvsp[(1) - (1)].replace)); ;} | |
3429 | break; | |
3430 | ||
3431 | case 92: | |
3432 | ||
3433 | { (yyval.replacelist) = replaceNodeList_add ((yyvsp[(1) - (3)].replacelist), (yyvsp[(3) - (3)].replace)); ;} | |
3434 | break; | |
3435 | ||
3436 | case 93: | |
3437 | ||
3438 | { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), TRUE, (yyvsp[(3) - (3)].ltok), NULL, NULL); ;} | |
3439 | break; | |
3440 | ||
3441 | case 94: | |
3442 | ||
3443 | { (yyval.replace) = makeReplaceNameNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), (yyvsp[(3) - (3)].name)); ;} | |
3444 | break; | |
3445 | ||
3446 | case 95: | |
3447 | ||
3448 | { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(1) - (4)].typname), FALSE, ltoken_undefined, | |
3449 | (yyvsp[(3) - (4)].name), (yyvsp[(4) - (4)].signature)); ;} | |
3450 | break; | |
3451 | ||
3452 | case 96: | |
3453 | ||
3454 | { (yyval.name) = makeNameNodeId ((yyvsp[(1) - (1)].ltok)); ;} | |
3455 | break; | |
3456 | ||
3457 | case 97: | |
3458 | ||
3459 | { (yyval.name) = makeNameNodeForm ((yyvsp[(1) - (1)].opform)); ;} | |
3460 | break; | |
3461 | ||
3462 | case 100: | |
3463 | ||
3464 | { (yyval.initdecls) = initDeclNodeList_add (initDeclNodeList_new (), (yyvsp[(1) - (1)].initdecl)); ;} | |
3465 | break; | |
3466 | ||
3467 | case 101: | |
3468 | ||
3469 | { (yyval.initdecls) = initDeclNodeList_add ((yyvsp[(1) - (3)].initdecls), (yyvsp[(3) - (3)].initdecl)); ;} | |
3470 | break; | |
3471 | ||
3472 | case 102: | |
3473 | ||
3474 | { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (1)].declare), (termNode)0); ;} | |
3475 | break; | |
3476 | ||
3477 | case 103: | |
3478 | ||
3479 | { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].term)); ;} | |
3480 | break; | |
3481 | ||
3482 | case 104: | |
3483 | ||
3484 | { (yyval.globals) = varDeclarationNodeList_new (); ;} | |
3485 | break; | |
3486 | ||
3487 | case 105: | |
3488 | ||
3489 | { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].globals), (yyvsp[(2) - (2)].vardeclaration)); (yyval.globals) = (yyvsp[(1) - (2)].globals); ;} | |
3490 | break; | |
3491 | ||
3492 | case 106: | |
3493 | ||
3494 | { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), TRUE, FALSE); ;} | |
3495 | break; | |
3496 | ||
3497 | case 107: | |
3498 | ||
3499 | { (yyval.vardeclaration) = makeInternalStateNode (); ;} | |
3500 | break; | |
3501 | ||
3502 | case 108: | |
3503 | ||
3504 | { (yyval.vardeclaration) = makeFileSystemNode (); ;} | |
3505 | break; | |
3506 | ||
3507 | case 109: | |
3508 | ||
3509 | { (yyval.vardeclarationlist) = varDeclarationNodeList_new (); ;} | |
3510 | break; | |
3511 | ||
3512 | case 110: | |
3513 | ||
3514 | { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].vardeclarationlist), (yyvsp[(2) - (2)].vardeclaration)); (yyval.vardeclarationlist) = (yyvsp[(1) - (2)].vardeclarationlist); ;} | |
3515 | break; | |
3516 | ||
3517 | case 111: | |
3518 | ||
3519 | { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, TRUE); ;} | |
3520 | break; | |
3521 | ||
3522 | case 112: | |
3523 | ||
3524 | { (yyval.letdecls) = letDeclNodeList_new (); ;} | |
3525 | break; | |
3526 | ||
3527 | case 113: | |
3528 | ||
3529 | { (yyval.letdecls) = (yyvsp[(2) - (3)].letdecls); ;} | |
3530 | break; | |
3531 | ||
3532 | case 114: | |
3533 | ||
3534 | { (yyval.letdecls) = letDeclNodeList_add (letDeclNodeList_new (), (yyvsp[(1) - (1)].letdecl)); ;} | |
3535 | break; | |
3536 | ||
3537 | case 115: | |
3538 | ||
3539 | { (yyval.letdecls) = letDeclNodeList_add ((yyvsp[(1) - (3)].letdecls), (yyvsp[(3) - (3)].letdecl)); ;} | |
3540 | break; | |
3541 | ||
3542 | case 116: | |
3543 | ||
3544 | { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].lcltypespec), (yyvsp[(5) - (5)].term)); ;} | |
3545 | break; | |
3546 | ||
3547 | case 117: | |
3548 | ||
3549 | { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (3)].ltok), (lclTypeSpecNode)0, (yyvsp[(3) - (3)].term)); ;} | |
3550 | break; | |
3551 | ||
3552 | case 119: | |
3553 | ||
3554 | { (yyval.lclpredicate) = (lclPredicateNode)0; ;} | |
3555 | break; | |
3556 | ||
3557 | case 120: | |
3558 | ||
3559 | { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeChecksNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;} | |
3560 | break; | |
3561 | ||
3562 | case 121: | |
3563 | ||
3564 | { (yyval.lclpredicate) = (lclPredicateNode)0; ;} | |
3565 | break; | |
3566 | ||
3567 | case 122: | |
3568 | ||
3569 | { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeRequiresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;} | |
3570 | break; | |
3571 | ||
3572 | case 123: | |
3573 | ||
3574 | { (yyval.modify) = (modifyNode)0; ;} | |
3575 | break; | |
3576 | ||
3577 | case 124: | |
3578 | ||
3579 | { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), TRUE); ;} | |
3580 | break; | |
3581 | ||
3582 | case 125: | |
3583 | ||
3584 | { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), FALSE); ;} | |
3585 | break; | |
3586 | ||
3587 | case 126: | |
3588 | ||
3589 | { (yyval.modify) = makeModifyNodeRef ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].storereflist)); ;} | |
3590 | break; | |
3591 | ||
3592 | case 127: | |
3593 | ||
3594 | { (yyval.storereflist) = storeRefNodeList_add (storeRefNodeList_new (), (yyvsp[(1) - (1)].storeref)); ;} | |
3595 | break; | |
3596 | ||
3597 | case 128: | |
3598 | ||
3599 | { (yyval.storereflist) = storeRefNodeList_add ((yyvsp[(1) - (3)].storereflist), (yyvsp[(3) - (3)].storeref)); ;} | |
3600 | break; | |
3601 | ||
3602 | case 129: | |
3603 | ||
3604 | { (yyval.storeref) = makeStoreRefNodeTerm ((yyvsp[(1) - (1)].term)); ;} | |
3605 | break; | |
3606 | ||
3607 | case 130: | |
3608 | ||
3609 | { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(1) - (1)].lcltypespec), FALSE); ;} | |
3610 | break; | |
3611 | ||
3612 | case 131: | |
3613 | ||
3614 | { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(2) - (2)].lcltypespec), TRUE); ;} | |
3615 | break; | |
3616 | ||
3617 | case 132: | |
3618 | ||
3619 | { (yyval.storeref) = makeStoreRefNodeInternal (); ;} | |
3620 | break; | |
3621 | ||
3622 | case 133: | |
3623 | ||
3624 | { (yyval.storeref) = makeStoreRefNodeSystem (); ;} | |
3625 | break; | |
3626 | ||
3627 | case 134: | |
3628 | ||
3629 | { (yyval.lclpredicate) = (lclPredicateNode)0; ;} | |
3630 | break; | |
3631 | ||
3632 | case 135: | |
3633 | ||
3634 | { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeEnsuresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;} | |
3635 | break; | |
3636 | ||
3637 | case 136: | |
3638 | ||
3639 | { (yyval.lclpredicate) = (lclPredicateNode)0; ;} | |
3640 | break; | |
3641 | ||
3642 | case 137: | |
3643 | ||
3644 | { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeIntraClaimNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;} | |
3645 | break; | |
3646 | ||
3647 | case 138: | |
3648 | ||
3649 | { (yyval.paramlist) = paramNodeList_new (); ;} | |
3650 | break; | |
3651 | ||
3652 | case 139: | |
3653 | ||
3654 | { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;} | |
3655 | break; | |
3656 | ||
3657 | case 141: | |
3658 | ||
3659 | { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;} | |
3660 | break; | |
3661 | ||
3662 | case 142: | |
3663 | ||
3664 | { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), paramNode_elipsis ()); ;} | |
3665 | break; | |
3666 | ||
3667 | case 143: | |
3668 | ||
3669 | { (yyval.paramlist) = paramNodeList_single ((yyvsp[(1) - (1)].param)); ;} | |
3670 | break; | |
3671 | ||
3672 | case 144: | |
3673 | ||
3674 | { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), (yyvsp[(3) - (3)].param)); ;} | |
3675 | break; | |
3676 | ||
3677 | case 145: | |
3678 | ||
3679 | { (yyval.program) = (programNode)0; ;} | |
3680 | break; | |
3681 | ||
3682 | case 146: | |
3683 | ||
3684 | { (yyval.program) = (yyvsp[(3) - (4)].program); ;} | |
3685 | break; | |
3686 | ||
3687 | case 147: | |
3688 | ||
3689 | { (yyval.program) = (yyvsp[(3) - (5)].program); ;} | |
3690 | break; | |
3691 | ||
3692 | case 148: | |
3693 | ||
3694 | { (yyval.program) = makeProgramNode ((yyvsp[(1) - (1)].stmt)); ;} | |
3695 | break; | |
3696 | ||
3697 | case 149: | |
3698 | ||
3699 | { (yyval.program) = (yyvsp[(2) - (3)].program); (yyval.program)->wrapped = (yyval.program)->wrapped + 1; ;} | |
3700 | break; | |
3701 | ||
3702 | case 150: | |
3703 | ||
3704 | { programNodeList x = programNodeList_new (); | |
3705 | programNodeList_addh (x, (yyvsp[(1) - (2)].program)); | |
3706 | (yyval.program) = makeProgramNodeAction (x, ACT_ITER); | |
3707 | ;} | |
3708 | break; | |
3709 | ||
3710 | case 151: | |
3711 | ||
3712 | { programNodeList x = programNodeList_new (); | |
3713 | programNodeList_addh (x, (yyvsp[(1) - (3)].program)); | |
3714 | programNodeList_addh (x, (yyvsp[(3) - (3)].program)); | |
3715 | (yyval.program) = makeProgramNodeAction (x, ACT_ALTERNATE); | |
3716 | ;} | |
3717 | break; | |
3718 | ||
3719 | case 152: | |
3720 | ||
3721 | { programNodeList x = programNodeList_new (); | |
3722 | programNodeList_addh (x, (yyvsp[(1) - (3)].program)); | |
3723 | programNodeList_addh (x, (yyvsp[(3) - (3)].program)); | |
3724 | (yyval.program) = makeProgramNodeAction (x, ACT_SEQUENCE); | |
3725 | ;} | |
3726 | break; | |
3727 | ||
3728 | case 153: | |
3729 | ||
3730 | { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].termlist)); ;} | |
3731 | break; | |
3732 | ||
3733 | case 154: | |
3734 | ||
3735 | { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (3)].ltok), termNodeList_new ()); ;} | |
3736 | break; | |
3737 | ||
3738 | case 155: | |
3739 | ||
3740 | { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].ltok), termNodeList_new ()); ;} | |
3741 | break; | |
3742 | ||
3743 | case 156: | |
3744 | ||
3745 | { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(3) - (6)].ltok), (yyvsp[(5) - (6)].termlist)); ;} | |
3746 | break; | |
3747 | ||
3748 | case 157: | |
3749 | ||
3750 | { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;} | |
3751 | break; | |
3752 | ||
3753 | case 158: | |
3754 | ||
3755 | { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;} | |
3756 | break; | |
3757 | ||
3758 | case 160: | |
3759 | ||
3760 | { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;} | |
3761 | break; | |
3762 | ||
3763 | case 161: | |
3764 | ||
3765 | { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;} | |
3766 | break; | |
3767 | ||
3768 | case 162: | |
3769 | ||
3770 | { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;} | |
3771 | break; | |
3772 | ||
3773 | case 163: | |
3774 | ||
3775 | { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;} | |
3776 | break; | |
3777 | ||
3778 | case 164: | |
3779 | ||
3780 | { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;} | |
3781 | break; | |
3782 | ||
3783 | case 165: | |
3784 | ||
3785 | { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)); ;} | |
3786 | break; | |
3787 | ||
3788 | case 166: | |
3789 | ||
3790 | { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;} | |
3791 | break; | |
3792 | ||
3793 | case 167: | |
3794 | ||
3795 | { (yyval.abstbody) = (abstBodyNode)0; ;} | |
3796 | break; | |
3797 | ||
3798 | case 168: | |
3799 | ||
3800 | { (yyval.abstbody) = makeAbstBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].fcns)); ;} | |
3801 | break; | |
3802 | ||
3803 | case 169: | |
3804 | ||
3805 | { (yyval.abstbody) = makeAbstBodyNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList)); ;} | |
3806 | break; | |
3807 | ||
3808 | case 170: | |
3809 | ||
3810 | { (yyval.abstbody) = (abstBodyNode)0; ;} | |
3811 | break; | |
3812 | ||
3813 | case 171: | |
3814 | ||
3815 | { (yyval.fcns) = fcnNodeList_new (); ;} | |
3816 | break; | |
3817 | ||
3818 | case 172: | |
3819 | ||
3820 | { (yyval.fcns) = fcnNodeList_add ((yyvsp[(1) - (2)].fcns), (yyvsp[(2) - (2)].fcn)); ;} | |
3821 | break; | |
3822 | ||
3823 | case 173: | |
3824 | ||
3825 | { (yyval.lclpredicate) = (lclPredicateNode)0; ;} | |
3826 | break; | |
3827 | ||
3828 | case 175: | |
3829 | ||
3830 | { g_inTypeDef = FALSE; ;} | |
3831 | break; | |
3832 | ||
3833 | case 176: | |
3834 | ||
3835 | { (yyvsp[(5) - (6)].lclpredicate)->tok = (yyvsp[(1) - (6)].ltok); (yyvsp[(5) - (6)].lclpredicate)->kind = LPD_CONSTRAINT; | |
3836 | checkLclPredicate ((yyvsp[(1) - (6)].ltok), (yyvsp[(5) - (6)].lclpredicate)); | |
3837 | (yyval.lclpredicate) = (yyvsp[(5) - (6)].lclpredicate); | |
3838 | symtable_exitScope (g_symtab); | |
3839 | g_inTypeDef = TRUE; | |
3840 | ;} | |
3841 | break; | |
3842 | ||
3843 | case 177: | |
3844 | ||
3845 | { (yyval.declaratorinvs) = declaratorInvNodeList_add (declaratorInvNodeList_new (), (yyvsp[(1) - (1)].declaratorinv)); ;} | |
3846 | break; | |
3847 | ||
3848 | case 178: | |
3849 | ||
3850 | { (yyval.declaratorinvs) = declaratorInvNodeList_add ((yyvsp[(1) - (3)].declaratorinvs), (yyvsp[(3) - (3)].declaratorinv)); ;} | |
3851 | break; | |
3852 | ||
3853 | case 179: | |
3854 | ||
3855 | { declareForwardType ((yyvsp[(1) - (1)].declare)); ;} | |
3856 | break; | |
3857 | ||
3858 | case 180: | |
3859 | ||
3860 | { (yyval.declaratorinv) = makeDeclaratorInvNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].abstbody)); ;} | |
3861 | break; | |
3862 | ||
3863 | case 181: | |
3864 | ||
3865 | { (yyval.abstbody) = (abstBodyNode)0; ;} | |
3866 | break; | |
3867 | ||
3868 | case 182: | |
3869 | ||
3870 | { (yyval.abstbody) = makeExposedBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;} | |
3871 | break; | |
3872 | ||
3873 | case 183: | |
3874 | ||
3875 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_VOID, 0)); ;} | |
3876 | break; | |
3877 | ||
3878 | case 184: | |
3879 | ||
3880 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_CHAR, 0)); ;} | |
3881 | break; | |
3882 | ||
3883 | case 185: | |
3884 | ||
3885 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_DOUBLE, 0)); ;} | |
3886 | break; | |
3887 | ||
3888 | case 186: | |
3889 | ||
3890 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_FLOAT, 0)); ;} | |
3891 | break; | |
3892 | ||
3893 | case 187: | |
3894 | ||
3895 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_INT, 0)); ;} | |
3896 | break; | |
3897 | ||
3898 | case 188: | |
3899 | ||
3900 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_LONG, 0)); ;} | |
3901 | break; | |
3902 | ||
3903 | case 189: | |
3904 | ||
3905 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SHORT, 0)); ;} | |
3906 | break; | |
3907 | ||
3908 | case 190: | |
3909 | ||
3910 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SIGNED, 0)); ;} | |
3911 | break; | |
3912 | ||
3913 | case 191: | |
3914 | ||
3915 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNSIGNED, 0)); ;} | |
3916 | break; | |
3917 | ||
3918 | case 192: | |
3919 | ||
3920 | { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNKNOWN, 0)); ;} | |
3921 | break; | |
3922 | ||
3923 | case 193: | |
3924 | ||
3925 | { (yyval.ctypes) = makeCTypesNode ((CTypesNode)0, (yyvsp[(1) - (1)].ltok)); ;} | |
3926 | break; | |
3927 | ||
3928 | case 194: | |
3929 | ||
3930 | { (yyval.ctypes) = makeCTypesNode ((yyvsp[(1) - (2)].ctypes), (yyvsp[(2) - (2)].ltok)); ;} | |
3931 | break; | |
3932 | ||
3933 | case 195: | |
3934 | ||
3935 | { (yyval.ctypes) = makeTypeSpecifier ((yyvsp[(1) - (1)].ltok)); ;} | |
3936 | break; | |
3937 | ||
3938 | case 196: | |
3939 | ||
3940 | { (yyval.ctypes) = (yyvsp[(1) - (1)].ctypes); (yyval.ctypes)->sort = sort_lookupName (lclctype_toSort ((yyvsp[(1) - (1)].ctypes)->intfield)); ;} | |
3941 | break; | |
3942 | ||
3943 | case 197: | |
3944 | ||
3945 | { (yyval.typequal) = qual_createOut (); ;} | |
3946 | break; | |
3947 | ||
3948 | case 198: | |
3949 | ||
3950 | { (yyval.typequal) = qual_createUnused (); ;} | |
3951 | break; | |
3952 | ||
3953 | case 199: | |
3954 | ||
3955 | { (yyval.typequal) = qual_createSef (); ;} | |
3956 | break; | |
3957 | ||
3958 | case 200: | |
3959 | ||
3960 | { (yyval.typequal) = qual_createOnly (); ;} | |
3961 | break; | |
3962 | ||
3963 | case 201: | |
3964 | ||
3965 | { (yyval.typequal) = qual_createOwned (); ;} | |
3966 | break; | |
3967 | ||
3968 | case 202: | |
3969 | ||
3970 | { (yyval.typequal) = qual_createDependent (); ;} | |
3971 | break; | |
3972 | ||
3973 | case 203: | |
3974 | ||
3975 | { (yyval.typequal) = qual_createKeep (); ;} | |
3976 | break; | |
3977 | ||
3978 | case 204: | |
3979 | ||
3980 | { (yyval.typequal) = qual_createKept (); ;} | |
3981 | break; | |
3982 | ||
3983 | case 205: | |
3984 | ||
3985 | { (yyval.typequal) = qual_createObserver (); ;} | |
3986 | break; | |
3987 | ||
3988 | case 206: | |
3989 | ||
3990 | { (yyval.typequal) = qual_createExits (); ;} | |
3991 | break; | |
3992 | ||
3993 | case 207: | |
3994 | ||
3995 | { (yyval.typequal) = qual_createMayExit (); ;} | |
3996 | break; | |
3997 | ||
3998 | case 208: | |
3999 | ||
4000 | { (yyval.typequal) = qual_createTrueExit (); ;} | |
4001 | break; | |
4002 | ||
4003 | case 209: | |
4004 | ||
4005 | { (yyval.typequal) = qual_createFalseExit (); ;} | |
4006 | break; | |
4007 | ||
4008 | case 210: | |
4009 | ||
4010 | { (yyval.typequal) = qual_createNeverExit (); ;} | |
4011 | break; | |
4012 | ||
4013 | case 211: | |
4014 | ||
4015 | { (yyval.typequal) = qual_createOnly (); ;} | |
4016 | break; | |
4017 | ||
4018 | case 212: | |
4019 | ||
4020 | { (yyval.typequal) = qual_createShared (); ;} | |
4021 | break; | |
4022 | ||
4023 | case 213: | |
4024 | ||
4025 | { (yyval.typequal) = qual_createUnique (); ;} | |
4026 | break; | |
4027 | ||
4028 | case 214: | |
4029 | ||
4030 | { (yyval.typequal) = qual_createChecked (); ;} | |
4031 | break; | |
4032 | ||
4033 | case 215: | |
4034 | ||
4035 | { (yyval.typequal) = qual_createUnchecked (); ;} | |
4036 | break; | |
4037 | ||
4038 | case 216: | |
4039 | ||
4040 | { (yyval.typequal) = qual_createCheckedStrict (); ;} | |
4041 | break; | |
4042 | ||
4043 | case 217: | |
4044 | ||
4045 | { (yyval.typequal) = qual_createTrueNull (); ;} | |
4046 | break; | |
4047 | ||
4048 | case 218: | |
4049 | ||
4050 | { (yyval.typequal) = qual_createFalseNull (); ;} | |
4051 | break; | |
4052 | ||
4053 | case 219: | |
4054 | ||
4055 | { (yyval.typequal) = qual_createRelNull (); ;} | |
4056 | break; | |
4057 | ||
4058 | case 220: | |
4059 | ||
4060 | { (yyval.typequal) = qual_createRelDef (); ;} | |
4061 | break; | |
4062 | ||
4063 | case 221: | |
4064 | ||
4065 | { (yyval.typequal) = qual_createRefCounted (); ;} | |
4066 | break; | |
4067 | ||
4068 | case 222: | |
4069 | ||
4070 | { (yyval.typequal) = qual_createRefs (); ;} | |
4071 | break; | |
4072 | ||
4073 | case 223: | |
4074 | ||
4075 | { (yyval.typequal) = qual_createNewRef (); ;} | |
4076 | break; | |
4077 | ||
4078 | case 224: | |
4079 | ||
4080 | { (yyval.typequal) = qual_createKillRef (); ;} | |
4081 | break; | |
4082 | ||
4083 | case 225: | |
4084 | ||
4085 | { (yyval.typequal) = qual_createNull (); ;} | |
4086 | break; | |
4087 | ||
4088 | case 226: | |
4089 | ||
4090 | { (yyval.typequal) = qual_createNotNull (); ;} | |
4091 | break; | |
4092 | ||
4093 | case 227: | |
4094 | ||
4095 | { (yyval.typequal) = qual_createReturned (); ;} | |
4096 | break; | |
4097 | ||
4098 | case 228: | |
4099 | ||
4100 | { (yyval.typequal) = qual_createExposed (); ;} | |
4101 | break; | |
4102 | ||
4103 | case 229: | |
4104 | ||
4105 | { (yyval.typequal) = qual_createPartial (); ;} | |
4106 | break; | |
4107 | ||
4108 | case 230: | |
4109 | ||
4110 | { (yyval.typequal) = qual_createNullTerminated () ; ;} | |
4111 | break; | |
4112 | ||
4113 | case 231: | |
4114 | ||
4115 | { (yyval.typequal) = qual_createUndef (); ;} | |
4116 | break; | |
4117 | ||
4118 | case 232: | |
4119 | ||
4120 | { (yyval.typequal) = qual_createKilled (); ;} | |
4121 | break; | |
4122 | ||
4123 | case 233: | |
4124 | ||
4125 | { (yyval.lcltypespec) = makeLclTypeSpecNodeType ((yyvsp[(1) - (1)].ctypes)); ;} | |
4126 | break; | |
4127 | ||
4128 | case 234: | |
4129 | ||
4130 | { (yyval.lcltypespec) = makeLclTypeSpecNodeSU ((yyvsp[(1) - (1)].structorunion)); ;} | |
4131 | break; | |
4132 | ||
4133 | case 235: | |
4134 | ||
4135 | { (yyval.lcltypespec) = makeLclTypeSpecNodeEnum ((yyvsp[(1) - (1)].enumspec)); ;} | |
4136 | break; | |
4137 | ||
4138 | case 236: | |
4139 | ||
4140 | { (yyval.lcltypespec) = lclTypeSpecNode_addQual ((yyvsp[(2) - (2)].lcltypespec), (yyvsp[(1) - (2)].typequal)); ;} | |
4141 | break; | |
4142 | ||
4143 | case 237: | |
4144 | ||
4145 | { (yyval.lcltypespec) = makeLclTypeSpecNodeConj ((yyvsp[(2) - (5)].lcltypespec), (yyvsp[(4) - (5)].lcltypespec)); ;} | |
4146 | break; | |
4147 | ||
4148 | case 239: | |
4149 | ||
4150 | { llassert (lclTypeSpecNode_isDefined ((yyvsp[(1) - (2)].lcltypespec))); | |
4151 | (yyvsp[(1) - (2)].lcltypespec)->pointers = (yyvsp[(2) - (2)].pointers); (yyval.lcltypespec) = (yyvsp[(1) - (2)].lcltypespec); ;} | |
4152 | break; | |
4153 | ||
4154 | case 240: | |
4155 | ||
4156 | { (yyval.pointers) = pointers_createLt ((yyvsp[(1) - (1)].ltok)); ;} | |
4157 | break; | |
4158 | ||
4159 | case 241: | |
4160 | ||
4161 | { (yyval.pointers) = pointers_extend ((yyvsp[(1) - (2)].pointers), pointers_createLt ((yyvsp[(2) - (2)].ltok))); ;} | |
4162 | break; | |
4163 | ||
4164 | case 242: | |
4165 | ||
4166 | { (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;} | |
4167 | break; | |
4168 | ||
4169 | case 243: | |
4170 | ||
4171 | { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_STRUCT, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;} | |
4172 | break; | |
4173 | ||
4174 | case 244: | |
4175 | ||
4176 | { (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;} | |
4177 | break; | |
4178 | ||
4179 | case 245: | |
4180 | ||
4181 | { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_UNION, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;} | |
4182 | break; | |
4183 | ||
4184 | case 246: | |
4185 | ||
4186 | { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_STRUCT, (yyvsp[(2) - (2)].ltok)); ;} | |
4187 | break; | |
4188 | ||
4189 | case 247: | |
4190 | ||
4191 | { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_UNION, (yyvsp[(2) - (2)].ltok)); ;} | |
4192 | break; | |
4193 | ||
4194 | case 248: | |
4195 | ||
4196 | { (yyval.ltok) = ltoken_undefined; ;} | |
4197 | break; | |
4198 | ||
4199 | case 250: | |
4200 | ||
4201 | { (yyval.structdecls) = stDeclNodeList_add (stDeclNodeList_new (), (yyvsp[(1) - (1)].structdecl)); ;} | |
4202 | break; | |
4203 | ||
4204 | case 251: | |
4205 | ||
4206 | { (yyval.structdecls) = stDeclNodeList_add ((yyvsp[(1) - (2)].structdecls), (yyvsp[(2) - (2)].structdecl)); ;} | |
4207 | break; | |
4208 | ||
4209 | case 252: | |
4210 | ||
4211 | { (yyval.structdecl) = makestDeclNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declarelist)); ;} | |
4212 | break; | |
4213 | ||
4214 | case 253: | |
4215 | ||
4216 | { (yyval.declarelist) = declaratorNodeList_add (declaratorNodeList_new (), (yyvsp[(1) - (1)].declare)); ;} | |
4217 | break; | |
4218 | ||
4219 | case 254: | |
4220 | ||
4221 | { (yyval.declarelist) = declaratorNodeList_add ((yyvsp[(1) - (3)].declarelist), (yyvsp[(3) - (3)].declare)); ;} | |
4222 | break; | |
4223 | ||
4224 | case 255: | |
4225 | ||
4226 | { ; ;} | |
4227 | break; | |
4228 | ||
4229 | case 256: | |
4230 | ||
4231 | { ; ;} | |
4232 | break; | |
4233 | ||
4234 | case 257: | |
4235 | ||
4236 | { (yyval.enumspec) = makeEnumSpecNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].ltokenList)); ;} | |
4237 | break; | |
4238 | ||
4239 | case 258: | |
4240 | ||
4241 | { (yyval.enumspec) = makeEnumSpecNode2 ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].ltok)); ;} | |
4242 | break; | |
4243 | ||
4244 | case 259: | |
4245 | ||
4246 | { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;} | |
4247 | break; | |
4248 | ||
4249 | case 260: | |
4250 | ||
4251 | { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;} | |
4252 | break; | |
4253 | ||
4254 | case 261: | |
4255 | ||
4256 | { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;} | |
4257 | break; | |
4258 | ||
4259 | case 262: | |
4260 | ||
4261 | { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;} | |
4262 | break; | |
4263 | ||
4264 | case 263: | |
4265 | ||
4266 | { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;} | |
4267 | break; | |
4268 | ||
4269 | case 264: | |
4270 | ||
4271 | { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;} | |
4272 | break; | |
4273 | ||
4274 | case 265: | |
4275 | ||
4276 | { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4277 | break; | |
4278 | ||
4279 | case 266: | |
4280 | ||
4281 | { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;} | |
4282 | break; | |
4283 | ||
4284 | case 267: | |
4285 | ||
4286 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;} | |
4287 | break; | |
4288 | ||
4289 | case 268: | |
4290 | ||
4291 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;} | |
4292 | break; | |
4293 | ||
4294 | case 269: | |
4295 | ||
4296 | { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;} | |
4297 | break; | |
4298 | ||
4299 | case 270: | |
4300 | ||
4301 | { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;} | |
4302 | break; | |
4303 | ||
4304 | case 271: | |
4305 | ||
4306 | { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4307 | break; | |
4308 | ||
4309 | case 272: | |
4310 | ||
4311 | { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;} | |
4312 | break; | |
4313 | ||
4314 | case 273: | |
4315 | ||
4316 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;} | |
4317 | break; | |
4318 | ||
4319 | case 274: | |
4320 | ||
4321 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;} | |
4322 | break; | |
4323 | ||
4324 | case 275: | |
4325 | ||
4326 | { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;} | |
4327 | break; | |
4328 | ||
4329 | case 276: | |
4330 | ||
4331 | { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4332 | break; | |
4333 | ||
4334 | case 277: | |
4335 | ||
4336 | { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;} | |
4337 | break; | |
4338 | ||
4339 | case 278: | |
4340 | ||
4341 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;} | |
4342 | break; | |
4343 | ||
4344 | case 279: | |
4345 | ||
4346 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;} | |
4347 | break; | |
4348 | ||
4349 | case 280: | |
4350 | ||
4351 | { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4352 | break; | |
4353 | ||
4354 | case 281: | |
4355 | ||
4356 | { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4357 | break; | |
4358 | ||
4359 | case 282: | |
4360 | ||
4361 | { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;} | |
4362 | break; | |
4363 | ||
4364 | case 283: | |
4365 | ||
4366 | { (yyval.typname) = makeTypeNameNode (FALSE, (yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;} | |
4367 | break; | |
4368 | ||
4369 | case 284: | |
4370 | ||
4371 | { (yyval.typname) = makeTypeNameNode (TRUE, (yyvsp[(2) - (3)].lcltypespec), (yyvsp[(3) - (3)].abstDecl)); ;} | |
4372 | break; | |
4373 | ||
4374 | case 285: | |
4375 | ||
4376 | { (yyval.typname) = makeTypeNameNodeOp ((yyvsp[(1) - (1)].opform)); ;} | |
4377 | break; | |
4378 | ||
4379 | case 286: | |
4380 | ||
4381 | { (yyval.abstDecl) = (abstDeclaratorNode)0; ;} | |
4382 | break; | |
4383 | ||
4384 | case 287: | |
4385 | ||
4386 | { (yyval.abstDecl) = (abstDeclaratorNode)(yyvsp[(1) - (1)].typeexpr); ;} | |
4387 | break; | |
4388 | ||
4389 | case 288: | |
4390 | ||
4391 | { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;} | |
4392 | break; | |
4393 | ||
4394 | case 289: | |
4395 | ||
4396 | { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;} | |
4397 | break; | |
4398 | ||
4399 | case 290: | |
4400 | ||
4401 | { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (1)].ltok), (typeExpr)0); ;} | |
4402 | break; | |
4403 | ||
4404 | case 291: | |
4405 | ||
4406 | { (yyval.typeexpr) = makeArrayNode ((typeExpr)0, (yyvsp[(1) - (1)].array)); ;} | |
4407 | break; | |
4408 | ||
4409 | case 292: | |
4410 | ||
4411 | { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;} | |
4412 | break; | |
4413 | ||
4414 | case 293: | |
4415 | ||
4416 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;} | |
4417 | break; | |
4418 | ||
4419 | case 294: | |
4420 | ||
4421 | { (yyval.typeexpr) = makeFunctionNode ((typeExpr)0, (yyvsp[(2) - (3)].paramlist)); ;} | |
4422 | break; | |
4423 | ||
4424 | case 295: | |
4425 | ||
4426 | { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;} | |
4427 | break; | |
4428 | ||
4429 | case 296: | |
4430 | ||
4431 | { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (2)].ltok), (termNode)0); ;} | |
4432 | break; | |
885824d3 | 4433 | |
08cf8642 | 4434 | case 297: |
e5081f8c | 4435 | |
08cf8642 | 4436 | { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].term)); ;} |
4437 | break; | |
e5081f8c | 4438 | |
08cf8642 | 4439 | case 298: |
e5081f8c | 4440 | |
08cf8642 | 4441 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (6)].ltok), OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;} |
4442 | break; | |
885824d3 | 4443 | |
08cf8642 | 4444 | case 299: |
885824d3 | 4445 | |
08cf8642 | 4446 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (1)].ltok), OPF_ANYOP, opFormUnion_createAnyOp ((yyvsp[(1) - (1)].ltok)), ltoken_undefined); ;} |
4447 | break; | |
8f58355a | 4448 | |
08cf8642 | 4449 | case 300: |
4450 | ||
4451 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MANYOP, opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;} | |
4452 | break; | |
4453 | ||
4454 | case 301: | |
4455 | ||
4456 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_ANYOPM, opFormUnion_createAnyOp ((yyvsp[(1) - (2)].ltok)), ltoken_undefined); ;} | |
4457 | break; | |
4458 | ||
4459 | case 302: | |
4460 | ||
4461 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MANYOPM, | |
4462 | opFormUnion_createAnyOp ((yyvsp[(2) - (3)].ltok)), ltoken_undefined); ;} | |
4463 | break; | |
4464 | ||
4465 | case 303: | |
4466 | ||
4467 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;} | |
4468 | break; | |
4469 | ||
4470 | case 304: | |
4471 | ||
4472 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;} | |
4473 | break; | |
4474 | ||
4475 | case 305: | |
4476 | ||
4477 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;} | |
4478 | break; | |
4479 | ||
4480 | case 306: | |
4481 | ||
4482 | { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_MMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;} | |
4483 | break; | |
4484 | ||
4485 | case 307: | |
4486 | ||
4487 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_BMIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;} | |
4488 | break; | |
4489 | ||
4490 | case 308: | |
4491 | ||
4492 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_BMIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;} | |
4493 | break; | |
4494 | ||
4495 | case 309: | |
4496 | ||
4497 | { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (4)].ltok), OPF_BMMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;} | |
4498 | break; | |
4499 | ||
4500 | case 310: | |
4501 | ||
4502 | { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_BMMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;} | |
4503 | break; | |
4504 | ||
4505 | case 311: | |
4506 | ||
4507 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_SELECT, | |
4508 | opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;} | |
4509 | break; | |
4510 | ||
4511 | case 312: | |
4512 | ||
4513 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MAP, | |
4514 | opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;} | |
4515 | break; | |
4516 | ||
4517 | case 313: | |
4518 | ||
4519 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MSELECT, | |
4520 | opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;} | |
4521 | break; | |
4522 | ||
4523 | case 314: | |
4524 | ||
4525 | { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MMAP, | |
4526 | opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;} | |
4527 | break; | |
4528 | ||
4529 | case 322: | |
4530 | ||
4531 | { (yyval.count) = 0; ;} | |
4532 | break; | |
4533 | ||
4534 | case 324: | |
4535 | ||
4536 | { (yyval.count) = 1; ;} | |
4537 | break; | |
4538 | ||
4539 | case 325: | |
4540 | ||
4541 | { (yyval.count) = (yyvsp[(1) - (3)].count) + 1; ;} | |
4542 | break; | |
4543 | ||
4544 | case 328: | |
4545 | ||
4546 | { (yyval.signature) = makesigNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList), (yyvsp[(4) - (4)].ltok)); ;} | |
4547 | break; | |
4548 | ||
4549 | case 329: | |
4550 | ||
4551 | { (yyval.ltokenList) = ltokenList_new (); ;} | |
4552 | break; | |
4553 | ||
4554 | case 331: | |
4555 | ||
4556 | { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;} | |
4557 | break; | |
4558 | ||
4559 | case 332: | |
4560 | ||
4561 | { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;} | |
4562 | break; | |
4563 | ||
4564 | case 333: | |
4565 | ||
4566 | { (yyval.lclpredicate) = makeLclPredicateNode (ltoken_undefined, (yyvsp[(1) - (1)].term), LPD_PLAIN);;} | |
4567 | break; | |
4568 | ||
4569 | case 334: | |
4570 | ||
4571 | { (yyval.term) = checkSort ((yyvsp[(1) - (1)].term)); ;} | |
4572 | break; | |
4573 | ||
4574 | case 335: | |
4575 | ||
4576 | { (yyval.term) = makeIfTermNode ((yyvsp[(1) - (6)].ltok),(yyvsp[(2) - (6)].term),(yyvsp[(3) - (6)].ltok),(yyvsp[(4) - (6)].term),(yyvsp[(5) - (6)].ltok),(yyvsp[(6) - (6)].term)); ;} | |
4577 | break; | |
4578 | ||
4579 | case 337: | |
4580 | ||
4581 | { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;} | |
4582 | break; | |
4583 | ||
4584 | case 339: | |
4585 | ||
4586 | { checkLclPredicate ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)); (yyval.term) = makeQuantifiedTermNode ((yyvsp[(1) - (4)].quantifiers), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)->predicate, (yyvsp[(4) - (4)].ltok)); | |
368f75ae | 4587 | symtable_exitScope (g_symtab); |
08cf8642 | 4588 | ;} |
4589 | break; | |
4590 | ||
4591 | case 340: | |
4592 | ||
4593 | { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;} | |
4594 | break; | |
4595 | ||
4596 | case 341: | |
4597 | ||
4598 | { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;} | |
4599 | break; | |
4600 | ||
4601 | case 343: | |
4602 | ||
4603 | { (yyval.term) = makePostfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltokenList)); ;} | |
4604 | break; | |
4605 | ||
4606 | case 344: | |
4607 | ||
4608 | { (yyval.term) = CollapseInfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].termlist)); ;} | |
4609 | break; | |
4610 | ||
4611 | case 348: | |
4612 | ||
4613 | { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;} | |
4614 | break; | |
4615 | ||
4616 | case 349: | |
4617 | ||
4618 | { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;} | |
4619 | break; | |
4620 | ||
4621 | case 350: | |
4622 | ||
4623 | { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (2)].ltokenList), (yyvsp[(2) - (2)].ltok)); ;} | |
4624 | break; | |
4625 | ||
4626 | case 351: | |
4627 | ||
4628 | { (yyval.termlist) = pushInfixOpPartNode (termNodeList_new (), (yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;} | |
4629 | break; | |
4630 | ||
4631 | case 352: | |
4632 | ||
4633 | { (yyval.termlist) = pushInfixOpPartNode ((yyvsp[(1) - (3)].termlist), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;} | |
4634 | break; | |
4635 | ||
4636 | case 354: | |
4637 | ||
4638 | { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;} | |
4639 | break; | |
4640 | ||
4641 | case 355: | |
4642 | ||
4643 | { (yyval.term) = updateMatchedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;} | |
4644 | break; | |
4645 | ||
4646 | case 356: | |
4647 | ||
4648 | { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term), (termNode)0); ;} | |
4649 | break; | |
4650 | ||
4651 | case 357: | |
4652 | ||
4653 | { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].term), (yyvsp[(3) - (3)].term)); ;} | |
4654 | break; | |
4655 | ||
4656 | case 358: | |
4657 | ||
4658 | { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;} | |
4659 | break; | |
4660 | ||
4661 | case 359: | |
4662 | ||
4663 | { (yyval.term) = updateSqBracketedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;} | |
4664 | break; | |
4665 | ||
4666 | case 360: | |
4667 | ||
4668 | { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->sort = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;} | |
4669 | break; | |
4670 | ||
4671 | case 362: | |
4672 | ||
4673 | { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(2) - (5)].termlist), (yyvsp[(3) - (5)].ltok)); | |
4674 | (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(5) - (5)].ltok))); ;} | |
4675 | break; | |
4676 | ||
4677 | case 363: | |
4678 | ||
4679 | { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;} | |
4680 | break; | |
4681 | ||
4682 | case 364: | |
4683 | ||
4684 | { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (4)].ltok), termNodeList_new (), (yyvsp[(2) - (4)].ltok)); | |
4685 | (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(4) - (4)].ltok))); | |
4686 | ;} | |
4687 | break; | |
4688 | ||
4689 | case 365: | |
4690 | ||
4691 | { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;} | |
4692 | break; | |
4693 | ||
4694 | case 366: | |
4695 | ||
4696 | { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;} | |
4697 | break; | |
4698 | ||
4699 | case 367: | |
4700 | ||
4701 | { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;} | |
4702 | break; | |
4703 | ||
4704 | case 368: | |
4705 | ||
4706 | { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;} | |
4707 | break; | |
4708 | ||
4709 | case 369: | |
4710 | ||
4711 | { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;} | |
4712 | break; | |
4713 | ||
4714 | case 370: | |
4715 | ||
4716 | { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;} | |
4717 | break; | |
4718 | ||
4719 | case 371: | |
4720 | ||
4721 | { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;} | |
4722 | break; | |
4723 | ||
4724 | case 372: | |
4725 | ||
4726 | { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;} | |
4727 | break; | |
4728 | ||
4729 | case 374: | |
4730 | ||
4731 | { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;} | |
4732 | break; | |
4733 | ||
4734 | case 375: | |
4735 | ||
4736 | { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeSelectTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;} | |
4737 | break; | |
4738 | ||
4739 | case 376: | |
4740 | ||
4741 | { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeMapTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;} | |
4742 | break; | |
4743 | ||
4744 | case 377: | |
4745 | ||
4746 | { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (3)].term), makeSqBracketedNode ((yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)), | |
4747 | (termNode)0); ;} | |
4748 | break; | |
4749 | ||
4750 | case 378: | |
4751 | ||
4752 | { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (4)].term), makeSqBracketedNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)), (termNode)0); ;} | |
4753 | break; | |
4754 | ||
4755 | case 379: | |
4756 | ||
4757 | { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;} | |
4758 | break; | |
4759 | ||
4760 | case 380: | |
4761 | ||
4762 | { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;} | |
4763 | break; | |
4764 | ||
4765 | case 381: | |
4766 | ||
4767 | { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;} | |
4768 | break; | |
4769 | ||
4770 | case 387: | |
4771 | ||
4772 | { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;} | |
4773 | break; | |
4774 | ||
4775 | case 388: | |
4776 | ||
4777 | { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;} | |
4778 | break; | |
4779 | ||
4780 | case 389: | |
4781 | ||
4782 | { (yyval.term) = makeUnchangedTermNode1 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].ltok)); ;} | |
4783 | break; | |
4784 | ||
4785 | case 390: | |
4786 | ||
4787 | { (yyval.term) = makeUnchangedTermNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].storereflist)); ;} | |
4788 | break; | |
4789 | ||
4790 | case 391: | |
4791 | ||
4792 | { termNodeList x = termNodeList_new (); | |
4793 | termNodeList_addh (x, (yyvsp[(3) - (4)].term)); | |
4794 | (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), x, (yyvsp[(4) - (4)].ltok)); | |
4795 | ;} | |
4796 | break; | |
4797 | ||
4798 | case 392: | |
4799 | ||
4800 | { termNodeList x = termNodeList_new (); | |
4801 | termNodeList_addh (x, (yyvsp[(3) - (6)].term)); | |
4802 | termNodeList_addh (x, (yyvsp[(5) - (6)].term)); | |
4803 | (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), x, (yyvsp[(6) - (6)].ltok)); | |
4804 | ;} | |
4805 | break; | |
4806 | ||
4807 | case 393: | |
4808 | ||
4809 | { (yyval.term) = makeSizeofTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].lcltypespec)); ;} | |
4810 | break; | |
4811 | ||
4812 | case 394: | |
4813 | ||
4814 | { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortInt); ;} | |
4815 | break; | |
4816 | ||
4817 | case 395: | |
4818 | ||
4819 | { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortCstring); ;} | |
4820 | break; | |
4821 | ||
4822 | case 396: | |
4823 | ||
4824 | { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortChar); ;} | |
4825 | break; | |
4826 | ||
4827 | case 397: | |
4828 | ||
4829 | { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortDouble); ;} | |
4830 | break; | |
4831 | ||
4832 | case 398: | |
4833 | ||
4834 | { (yyval.quantifiers) = quantifierNodeList_add (quantifierNodeList_new (), (yyvsp[(1) - (1)].quantifier)); ;} | |
4835 | break; | |
4836 | ||
4837 | case 399: | |
4838 | ||
4839 | { (yyval.quantifiers) = quantifierNodeList_add ((yyvsp[(1) - (2)].quantifiers), (yyvsp[(2) - (2)].quantifier)); ;} | |
4840 | break; | |
4841 | ||
4842 | case 400: | |
4843 | ||
4844 | { scopeInfo si = (scopeInfo) dmalloc (sizeof (*si)); | |
885824d3 | 4845 | si->kind = SPE_QUANT; |
08cf8642 | 4846 | symtable_enterScope (g_symtab, si); ;} |
4847 | break; | |
8f58355a | 4848 | |
08cf8642 | 4849 | case 401: |
3e3ec469 | 4850 | |
08cf8642 | 4851 | { (yyval.quantifier) = makeQuantifierNode ((yyvsp[(3) - (3)].vars), (yyvsp[(1) - (3)].ltok)); ;} |
4852 | break; | |
885824d3 | 4853 | |
08cf8642 | 4854 | case 402: |
4855 | ||
4856 | { (yyval.vars) = varNodeList_add (varNodeList_new (), (yyvsp[(1) - (1)].var)); ;} | |
4857 | break; | |
4858 | ||
4859 | case 403: | |
4860 | ||
4861 | { (yyval.vars) = varNodeList_add ((yyvsp[(1) - (3)].vars), (yyvsp[(3) - (3)].var)); ;} | |
4862 | break; | |
4863 | ||
4864 | case 404: | |
4865 | ||
4866 | { (yyval.var) = makeVarNode ((yyvsp[(1) - (3)].ltok), FALSE, (yyvsp[(3) - (3)].lcltypespec)); ;} | |
4867 | break; | |
4868 | ||
4869 | case 405: | |
4870 | ||
4871 | { (yyval.var) = makeVarNode ((yyvsp[(1) - (4)].ltok), TRUE, (yyvsp[(4) - (4)].lcltypespec)); ;} | |
4872 | break; | |
4873 | ||
4874 | ||
4875 | /* Line 1267 of yacc.c. */ | |
4876 | ||
4877 | default: break; | |
368f75ae | 4878 | } |
08cf8642 | 4879 | YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
4880 | ||
4881 | YYPOPSTACK (yylen); | |
4882 | yylen = 0; | |
4883 | YY_STACK_PRINT (yyss, yyssp); | |
885824d3 | 4884 | |
4885 | *++yyvsp = yyval; | |
08cf8642 | 4886 | |
885824d3 | 4887 | |
e5081f8c | 4888 | /* Now `shift' the result of the reduction. Determine what state |
4889 | that goes to, based on the state we popped back to and the rule | |
4890 | number reduced by. */ | |
885824d3 | 4891 | |
4892 | yyn = yyr1[yyn]; | |
4893 | ||
08cf8642 | 4894 | yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; |
4895 | if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) | |
885824d3 | 4896 | yystate = yytable[yystate]; |
4897 | else | |
08cf8642 | 4898 | yystate = yydefgoto[yyn - YYNTOKENS]; |
885824d3 | 4899 | |
4900 | goto yynewstate; | |
4901 | ||
885824d3 | 4902 | |
e5081f8c | 4903 | /*------------------------------------. |
4904 | | yyerrlab -- here on detecting error | | |
4905 | `------------------------------------*/ | |
4906 | yyerrlab: | |
4907 | /* If not already recovering from an error, report this error. */ | |
4908 | if (!yyerrstatus) | |
885824d3 | 4909 | { |
4910 | ++yynerrs; | |
08cf8642 | 4911 | #if ! YYERROR_VERBOSE |
4912 | yyerror (YY_("syntax error")); | |
4913 | #else | |
4914 | { | |
4915 | YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); | |
4916 | if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) | |
4917 | { | |
4918 | YYSIZE_T yyalloc = 2 * yysize; | |
4919 | if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) | |
4920 | yyalloc = YYSTACK_ALLOC_MAXIMUM; | |
4921 | if (yymsg != yymsgbuf) | |
e5081f8c | 4922 | YYSTACK_FREE (yymsg); |
08cf8642 | 4923 | yymsg = (char *) YYSTACK_ALLOC (yyalloc); |
4924 | if (yymsg) | |
4925 | yymsg_alloc = yyalloc; | |
4926 | else | |
4927 | { | |
4928 | yymsg = yymsgbuf; | |
4929 | yymsg_alloc = sizeof yymsgbuf; | |
4930 | } | |
4931 | } | |
4932 | ||
4933 | if (0 < yysize && yysize <= yymsg_alloc) | |
4934 | { | |
4935 | (void) yysyntax_error (yymsg, yystate, yychar); | |
4936 | yyerror (yymsg); | |
4937 | } | |
4938 | else | |
4939 | { | |
4940 | yyerror (YY_("syntax error")); | |
4941 | if (yysize != 0) | |
4942 | goto yyexhaustedlab; | |
4943 | } | |
4944 | } | |
4945 | #endif | |
885824d3 | 4946 | } |
d0b80d80 | 4947 | |
e5081f8c | 4948 | |
08cf8642 | 4949 | |
885824d3 | 4950 | if (yyerrstatus == 3) |
4951 | { | |
08cf8642 | 4952 | /* If just tried and failed to reuse look-ahead token after an |
e5081f8c | 4953 | error, discard it. */ |
885824d3 | 4954 | |
08cf8642 | 4955 | if (yychar <= YYEOF) |
4956 | { | |
4957 | /* Return failure if at end of input. */ | |
4958 | if (yychar == YYEOF) | |
4959 | YYABORT; | |
4960 | } | |
4961 | else | |
4962 | { | |
4963 | yydestruct ("Error: discarding", | |
4964 | yytoken, &yylval); | |
4965 | yychar = YYEMPTY; | |
4966 | } | |
885824d3 | 4967 | } |
4968 | ||
08cf8642 | 4969 | /* Else will try to reuse look-ahead token after shifting the error |
e5081f8c | 4970 | token. */ |
08cf8642 | 4971 | goto yyerrlab1; |
885824d3 | 4972 | |
368f75ae | 4973 | |
08cf8642 | 4974 | /*---------------------------------------------------. |
4975 | | yyerrorlab -- error raised explicitly by YYERROR. | | |
4976 | `---------------------------------------------------*/ | |
4977 | yyerrorlab: | |
368f75ae | 4978 | |
08cf8642 | 4979 | /* Pacify compilers like GCC when the user code never invokes |
4980 | YYERROR and the label yyerrorlab therefore never appears in user | |
4981 | code. */ | |
4982 | if (/*CONSTCOND*/ 0) | |
4983 | goto yyerrorlab; | |
368f75ae | 4984 | |
08cf8642 | 4985 | /* Do not reclaim the symbols of the rule which action triggered |
4986 | this YYERROR. */ | |
4987 | YYPOPSTACK (yylen); | |
4988 | yylen = 0; | |
4989 | YY_STACK_PRINT (yyss, yyssp); | |
4990 | yystate = *yyssp; | |
4991 | goto yyerrlab1; | |
885824d3 | 4992 | |
885824d3 | 4993 | |
08cf8642 | 4994 | /*-------------------------------------------------------------. |
4995 | | yyerrlab1 -- common code for both syntax error and YYERROR. | | |
4996 | `-------------------------------------------------------------*/ | |
4997 | yyerrlab1: | |
4998 | yyerrstatus = 3; /* Each real token shifted decrements this. */ | |
368f75ae | 4999 | |
08cf8642 | 5000 | for (;;) |
885824d3 | 5001 | { |
08cf8642 | 5002 | yyn = yypact[yystate]; |
5003 | if (yyn != YYPACT_NINF) | |
5004 | { | |
5005 | yyn += YYTERROR; | |
5006 | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) | |
5007 | { | |
5008 | yyn = yytable[yyn]; | |
5009 | if (0 < yyn) | |
5010 | break; | |
5011 | } | |
5012 | } | |
885824d3 | 5013 | |
08cf8642 | 5014 | /* Pop the current state because it cannot handle the error token. */ |
5015 | if (yyssp == yyss) | |
5016 | YYABORT; | |
885824d3 | 5017 | |
885824d3 | 5018 | |
08cf8642 | 5019 | yydestruct ("Error: popping", |
5020 | yystos[yystate], yyvsp); | |
5021 | YYPOPSTACK (1); | |
5022 | yystate = *yyssp; | |
5023 | YY_STACK_PRINT (yyss, yyssp); | |
885824d3 | 5024 | } |
885824d3 | 5025 | |
5026 | if (yyn == YYFINAL) | |
5027 | YYACCEPT; | |
5028 | ||
885824d3 | 5029 | *++yyvsp = yylval; |
08cf8642 | 5030 | |
5031 | ||
5032 | /* Shift the error token. */ | |
5033 | YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); | |
885824d3 | 5034 | |
5035 | yystate = yyn; | |
5036 | goto yynewstate; | |
c05aefaa | 5037 | |
c05aefaa | 5038 | |
e5081f8c | 5039 | /*-------------------------------------. |
5040 | | yyacceptlab -- YYACCEPT comes here. | | |
5041 | `-------------------------------------*/ | |
5042 | yyacceptlab: | |
5043 | yyresult = 0; | |
5044 | goto yyreturn; | |
5045 | ||
5046 | /*-----------------------------------. | |
5047 | | yyabortlab -- YYABORT comes here. | | |
5048 | `-----------------------------------*/ | |
5049 | yyabortlab: | |
5050 | yyresult = 1; | |
5051 | goto yyreturn; | |
5052 | ||
08cf8642 | 5053 | #ifndef yyoverflow |
5054 | /*-------------------------------------------------. | |
5055 | | yyexhaustedlab -- memory exhaustion comes here. | | |
5056 | `-------------------------------------------------*/ | |
5057 | yyexhaustedlab: | |
5058 | yyerror (YY_("memory exhausted")); | |
e5081f8c | 5059 | yyresult = 2; |
5060 | /* Fall through. */ | |
08cf8642 | 5061 | #endif |
e5081f8c | 5062 | |
5063 | yyreturn: | |
08cf8642 | 5064 | if (yychar != YYEOF && yychar != YYEMPTY) |
5065 | yydestruct ("Cleanup: discarding lookahead", | |
5066 | yytoken, &yylval); | |
5067 | /* Do not reclaim the symbols of the rule which action triggered | |
5068 | this YYABORT or YYACCEPT. */ | |
5069 | YYPOPSTACK (yylen); | |
5070 | YY_STACK_PRINT (yyss, yyssp); | |
5071 | while (yyssp != yyss) | |
5072 | { | |
5073 | yydestruct ("Cleanup: popping", | |
5074 | yystos[*yyssp], yyvsp); | |
5075 | YYPOPSTACK (1); | |
5076 | } | |
e5081f8c | 5077 | #ifndef yyoverflow |
5078 | if (yyss != yyssa) | |
5079 | YYSTACK_FREE (yyss); | |
c05aefaa | 5080 | #endif |
08cf8642 | 5081 | #if YYERROR_VERBOSE |
5082 | if (yymsg != yymsgbuf) | |
5083 | YYSTACK_FREE (yymsg); | |
5084 | #endif | |
5085 | /* Make sure YYID is used. */ | |
5086 | return YYID (yyresult); | |
885824d3 | 5087 | } |
885824d3 | 5088 | |
5089 | ||
08cf8642 | 5090 | |
5091 | ||
5092 | ||
885824d3 | 5093 | # include "bison.reset" |
5094 | ||
5095 | /* | |
5096 | ** yytext is set in lex scanner | |
5097 | ** extern YYSTYPE yylval; | |
5098 | ** yylval is defined by code generated by bison | |
5099 | */ | |
5100 | ||
5101 | void ylerror (char *s) | |
5102 | { | |
5103 | /* | |
5104 | ** This resetting of the left context is very important when multiple | |
5105 | ** files are to be parsed. We do not want failures to propagate. | |
5106 | ** Lex/Yacc does not reset the flags when the parsing goes bad. | |
5107 | ** BEGIN 0; | |
5108 | **/ | |
5109 | ||
5110 | /*@-mustfree@*/ | |
5111 | lclfatalerror (yllval.ltok, | |
5112 | message ("%s: Token code: %s, Token String: %s", | |
5113 | cstring_fromChars (s), | |
5114 | ltoken_unparseCodeName (yllval.ltok), | |
5115 | ltoken_getRawString (yllval.ltok))); | |
5116 | /*@=mustfree@*/ | |
5117 | } | |
5118 | ||
5119 | static void yyprint (FILE *f, int t, YYSTYPE value) | |
5120 | { | |
5121 | fprintf (f, " type: %d (%s)", t, | |
5122 | cstring_toCharsSafe (ltoken_getRawString (value.ltok))); | |
5123 | } | |
5124 | ||
5125 | ||
5126 | ||
5127 | ||
5128 | ||
5129 | ||
5130 | ||
08cf8642 | 5131 | |
885824d3 | 5132 | /* |
5133 | ** Resets all flags in bison.head | |
5134 | */ | |
5135 | ||
5136 | ||
5137 | /*@=allmacros@*/ | |
5138 | /*@=boolint@*/ | |
5139 | /*@=charint@*/ | |
5140 | /*@=macroparams@*/ | |
5141 | /*@=macroundef@*/ | |
5142 | /*@=unreachable@*/ | |
5143 | /*@=macrospec@*/ | |
5144 | /*@=varuse@*/ | |
5145 | /*@=ignorequals@*/ | |
5146 | /*@=macrostmt@*/ | |
5147 | /*@=noeffect@*/ | |
5148 | /*@=shadow@*/ | |
5149 | /*@=exitarg@*/ | |
5150 | /*@=macroredef@*/ | |
5151 | /*@=uniondef@*/ | |
5152 | /*@=compdef@*/ | |
5153 | /*@=matchfields@*/ | |
5154 | /*@=exportlocal@*/ | |
5155 | /*@=evalorderuncon@*/ | |
5156 | /*@=exportheader@*/ | |
5157 | /*@=typeuse@*/ | |
5158 | /*@=redecl@*/ | |
5159 | /*@=redef@*/ | |
5160 | /*@=noparams@*/ | |
5161 | /*@=ansireserved@*/ | |
5162 | /*@=fielduse@*/ | |
5163 | /*@=ifblock@*/ | |
5164 | /*@=elseifcomplete@*/ | |
5165 | /*@=whileblock@*/ | |
5166 | /*@=forblock@*/ | |
5167 | /*@=branchstate@*/ | |
5168 | /*@=readonlytrans@*/ | |
5169 | /*@=namechecks@*/ | |
5170 | /*@=usedef@*/ | |
5171 | /*@=systemunrecog@*/ | |
5172 | /*@=dependenttrans@*/ | |
5173 | /*@=unqualifiedtrans@*/ | |
c05aefaa | 5174 | /*@=declundef@*/ |
5175 | ||
5176 | ||
5177 | /*drl added 11/27/2001*/ | |
bb7c2085 | 5178 | /*@=bounds@*/ |
e015e087 | 5179 | |
5180 | /*drl added 12/11/2002*/ | |
5181 | /*@=type@*/ | |
a9ec3280 | 5182 | |
5183 | /*@=enummemuse@*/ |