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