]> andersk Git - splint.git/blob - src/Headers/llgrammar_gen2.h
e2597534777395b9051e900ca0432b0f99ff1548
[splint.git] / src / Headers / llgrammar_gen2.h
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@*/
44 /*@-nullpass@*/
45 /*@-nullptrarith*/
46 /*@-usereleased@*/
47 /*@-declundef@*/
48
49 /*drl added 11/27/2001*/
50 /*@-bounds@*/
51
52 /*drl added 12/11/2002*/
53 /*@-type@*/
54
55 /* < end of bison.head > */
56
57 /* A Bison parser, made by GNU Bison 1.875a.  */
58
59 /* Skeleton parser for Yacc-like parsing with Bison,
60    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
61
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 /* Tokens.  */
83 #ifndef YYTOKENTYPE
84 # define YYTOKENTYPE
85    /* Put the tokens into the symbol table, so that GDB and other debuggers
86       know about them.  */
87    enum yytokentype {
88      simpleOp = 258,
89      PREFIX_OP = 259,
90      POSTFIX_OP = 260,
91      LLT_MULOP = 261,
92      LLT_SEMI = 262,
93      LLT_VERTICALBAR = 263,
94      ITERATION_OP = 264,
95      selectSym = 265,
96      LLT_LBRACKET = 266,
97      LLT_LPAR = 267,
98      LLT_IF_THEN_ELSE = 268,
99      logicalOp = 269,
100      eqSepSym = 270,
101      equationSym = 271,
102      commentSym = 272,
103      LLT_WHITESPACE = 273,
104      LLT_EOL = 274,
105      LLT_TYPEDEF_NAME = 275,
106      quantifierSym = 276,
107      openSym = 277,
108      closeSym = 278,
109      sepSym = 279,
110      simpleId = 280,
111      mapSym = 281,
112      markerSym = 282,
113      preSym = 283,
114      postSym = 284,
115      anySym = 285,
116      LLT_COLON = 286,
117      LLT_COMMA = 287,
118      LLT_EQUALS = 288,
119      LLT_LBRACE = 289,
120      LLT_RBRACE = 290,
121      LLT_RBRACKET = 291,
122      LLT_RPAR = 292,
123      LLT_QUOTE = 293,
124      eqOp = 294,
125      LLT_CCHAR = 295,
126      LLT_CFLOAT = 296,
127      LLT_CINTEGER = 297,
128      LLT_LCSTRING = 298,
129      LLT_ALL = 299,
130      LLT_ANYTHING = 300,
131      LLT_BE = 301,
132      LLT_BODY = 302,
133      LLT_CLAIMS = 303,
134      LLT_CHECKS = 304,
135      LLT_CONSTANT = 305,
136      LLT_ELSE = 306,
137      LLT_ENSURES = 307,
138      LLT_FOR = 308,
139      LLT_FRESH = 309,
140      LLT_IF = 310,
141      LLT_IMMUTABLE = 311,
142      LLT_IMPORTS = 312,
143      LLT_CONSTRAINT = 313,
144      LLT_ISSUB = 314,
145      LLT_LET = 315,
146      LLT_MODIFIES = 316,
147      LLT_MUTABLE = 317,
148      LLT_NOTHING = 318,
149      LLT_INTERNAL = 319,
150      LLT_FILESYS = 320,
151      LLT_OBJ = 321,
152      LLT_OUT = 322,
153      LLT_SEF = 323,
154      LLT_ONLY = 324,
155      LLT_PARTIAL = 325,
156      LLT_OWNED = 326,
157      LLT_DEPENDENT = 327,
158      LLT_KEEP = 328,
159      LLT_KEPT = 329,
160      LLT_TEMP = 330,
161      LLT_SHARED = 331,
162      LLT_UNIQUE = 332,
163      LLT_UNUSED = 333,
164      LLT_EXITS = 334,
165      LLT_MAYEXIT = 335,
166      LLT_NEVEREXIT = 336,
167      LLT_TRUEEXIT = 337,
168      LLT_FALSEEXIT = 338,
169      LLT_UNDEF = 339,
170      LLT_KILLED = 340,
171      LLT_CHECKMOD = 341,
172      LLT_CHECKED = 342,
173      LLT_UNCHECKED = 343,
174      LLT_CHECKEDSTRICT = 344,
175      LLT_TRUENULL = 345,
176      LLT_FALSENULL = 346,
177      LLT_LNULL = 347,
178      LLT_LNOTNULL = 348,
179      LLT_RETURNED = 349,
180      LLT_OBSERVER = 350,
181      LLT_EXPOSED = 351,
182      LLT_REFCOUNTED = 352,
183      LLT_REFS = 353,
184      LLT_RELNULL = 354,
185      LLT_RELDEF = 355,
186      LLT_KILLREF = 356,
187      LLT_NULLTERMINATED = 357,
188      LLT_TEMPREF = 358,
189      LLT_NEWREF = 359,
190      LLT_PRIVATE = 360,
191      LLT_REQUIRES = 361,
192      LLT_RESULT = 362,
193      LLT_SIZEOF = 363,
194      LLT_SPEC = 364,
195      LLT_TAGGEDUNION = 365,
196      LLT_THEN = 366,
197      LLT_TYPE = 367,
198      LLT_TYPEDEF = 368,
199      LLT_UNCHANGED = 369,
200      LLT_USES = 370,
201      LLT_CHAR = 371,
202      LLT_CONST = 372,
203      LLT_DOUBLE = 373,
204      LLT_ENUM = 374,
205      LLT_FLOAT = 375,
206      LLT_INT = 376,
207      LLT_ITER = 377,
208      LLT_YIELD = 378,
209      LLT_LONG = 379,
210      LLT_SHORT = 380,
211      LLT_SIGNED = 381,
212      LLT_UNKNOWN = 382,
213      LLT_STRUCT = 383,
214      LLT_TELIPSIS = 384,
215      LLT_UNION = 385,
216      LLT_UNSIGNED = 386,
217      LLT_VOID = 387,
218      LLT_VOLATILE = 388,
219      LLT_PRINTFLIKE = 389,
220      LLT_SCANFLIKE = 390,
221      LLT_MESSAGELIKE = 391
222    };
223 #endif
224 #define simpleOp 258
225 #define PREFIX_OP 259
226 #define POSTFIX_OP 260
227 #define LLT_MULOP 261
228 #define LLT_SEMI 262
229 #define LLT_VERTICALBAR 263
230 #define ITERATION_OP 264
231 #define selectSym 265
232 #define LLT_LBRACKET 266
233 #define LLT_LPAR 267
234 #define LLT_IF_THEN_ELSE 268
235 #define logicalOp 269
236 #define eqSepSym 270
237 #define equationSym 271
238 #define commentSym 272
239 #define LLT_WHITESPACE 273
240 #define LLT_EOL 274
241 #define LLT_TYPEDEF_NAME 275
242 #define quantifierSym 276
243 #define openSym 277
244 #define closeSym 278
245 #define sepSym 279
246 #define simpleId 280
247 #define mapSym 281
248 #define markerSym 282
249 #define preSym 283
250 #define postSym 284
251 #define anySym 285
252 #define LLT_COLON 286
253 #define LLT_COMMA 287
254 #define LLT_EQUALS 288
255 #define LLT_LBRACE 289
256 #define LLT_RBRACE 290
257 #define LLT_RBRACKET 291
258 #define LLT_RPAR 292
259 #define LLT_QUOTE 293
260 #define eqOp 294
261 #define LLT_CCHAR 295
262 #define LLT_CFLOAT 296
263 #define LLT_CINTEGER 297
264 #define LLT_LCSTRING 298
265 #define LLT_ALL 299
266 #define LLT_ANYTHING 300
267 #define LLT_BE 301
268 #define LLT_BODY 302
269 #define LLT_CLAIMS 303
270 #define LLT_CHECKS 304
271 #define LLT_CONSTANT 305
272 #define LLT_ELSE 306
273 #define LLT_ENSURES 307
274 #define LLT_FOR 308
275 #define LLT_FRESH 309
276 #define LLT_IF 310
277 #define LLT_IMMUTABLE 311
278 #define LLT_IMPORTS 312
279 #define LLT_CONSTRAINT 313
280 #define LLT_ISSUB 314
281 #define LLT_LET 315
282 #define LLT_MODIFIES 316
283 #define LLT_MUTABLE 317
284 #define LLT_NOTHING 318
285 #define LLT_INTERNAL 319
286 #define LLT_FILESYS 320
287 #define LLT_OBJ 321
288 #define LLT_OUT 322
289 #define LLT_SEF 323
290 #define LLT_ONLY 324
291 #define LLT_PARTIAL 325
292 #define LLT_OWNED 326
293 #define LLT_DEPENDENT 327
294 #define LLT_KEEP 328
295 #define LLT_KEPT 329
296 #define LLT_TEMP 330
297 #define LLT_SHARED 331
298 #define LLT_UNIQUE 332
299 #define LLT_UNUSED 333
300 #define LLT_EXITS 334
301 #define LLT_MAYEXIT 335
302 #define LLT_NEVEREXIT 336
303 #define LLT_TRUEEXIT 337
304 #define LLT_FALSEEXIT 338
305 #define LLT_UNDEF 339
306 #define LLT_KILLED 340
307 #define LLT_CHECKMOD 341
308 #define LLT_CHECKED 342
309 #define LLT_UNCHECKED 343
310 #define LLT_CHECKEDSTRICT 344
311 #define LLT_TRUENULL 345
312 #define LLT_FALSENULL 346
313 #define LLT_LNULL 347
314 #define LLT_LNOTNULL 348
315 #define LLT_RETURNED 349
316 #define LLT_OBSERVER 350
317 #define LLT_EXPOSED 351
318 #define LLT_REFCOUNTED 352
319 #define LLT_REFS 353
320 #define LLT_RELNULL 354
321 #define LLT_RELDEF 355
322 #define LLT_KILLREF 356
323 #define LLT_NULLTERMINATED 357
324 #define LLT_TEMPREF 358
325 #define LLT_NEWREF 359
326 #define LLT_PRIVATE 360
327 #define LLT_REQUIRES 361
328 #define LLT_RESULT 362
329 #define LLT_SIZEOF 363
330 #define LLT_SPEC 364
331 #define LLT_TAGGEDUNION 365
332 #define LLT_THEN 366
333 #define LLT_TYPE 367
334 #define LLT_TYPEDEF 368
335 #define LLT_UNCHANGED 369
336 #define LLT_USES 370
337 #define LLT_CHAR 371
338 #define LLT_CONST 372
339 #define LLT_DOUBLE 373
340 #define LLT_ENUM 374
341 #define LLT_FLOAT 375
342 #define LLT_INT 376
343 #define LLT_ITER 377
344 #define LLT_YIELD 378
345 #define LLT_LONG 379
346 #define LLT_SHORT 380
347 #define LLT_SIGNED 381
348 #define LLT_UNKNOWN 382
349 #define LLT_STRUCT 383
350 #define LLT_TELIPSIS 384
351 #define LLT_UNION 385
352 #define LLT_UNSIGNED 386
353 #define LLT_VOID 387
354 #define LLT_VOLATILE 388
355 #define LLT_PRINTFLIKE 389
356 #define LLT_SCANFLIKE 390
357 #define LLT_MESSAGELIKE 391
358
359
360
361
362 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
363
364 typedef union YYSTYPE {
365   ltoken ltok;  /* a leaf is also an ltoken */
366   qual typequal;
367   unsigned int count;
368   /*@only@*/ ltokenList ltokenList;
369   /*@only@*/ abstDeclaratorNode abstDecl; 
370   /*@only@*/ declaratorNode declare;
371   /*@only@*/ declaratorNodeList declarelist;
372   /*@only@*/ typeExpr typeexpr;
373   /*@only@*/ arrayQualNode array;
374   /*@only@*/ quantifierNode quantifier;
375   /*@only@*/ quantifierNodeList quantifiers;
376   /*@only@*/ varNode var;
377   /*@only@*/ varNodeList vars;
378   /*@only@*/ storeRefNode storeref;
379   /*@only@*/ storeRefNodeList storereflist;
380   /*@only@*/ termNode term;
381   /*@only@*/ termNodeList termlist;
382   /*@only@*/ programNode program; 
383   /*@only@*/ stmtNode stmt;
384   /*@only@*/ claimNode claim;
385   /*@only@*/ typeNode type;
386   /*@only@*/ iterNode iter;
387   /*@only@*/ fcnNode fcn;
388   /*@only@*/ fcnNodeList fcns;
389   /*@only@*/ letDeclNode letdecl;
390   /*@only@*/ letDeclNodeList letdecls;
391   /*@only@*/ lclPredicateNode lclpredicate;
392   /*@only@*/ modifyNode modify;
393   /*@only@*/ paramNode param;
394   /*@only@*/ paramNodeList paramlist;
395   /*@only@*/ declaratorInvNodeList declaratorinvs;      
396   /*@only@*/ declaratorInvNode declaratorinv;   
397   /*@only@*/ abstBodyNode abstbody;
398   /*@only@*/ abstractNode abstract;
399   /*@only@*/ exposedNode exposed;
400   /*@only@*/ pointers pointers;
401   /*    taggedUnionNode taggedunion; */
402   /*@only@*/ globalList globals;
403   /*@only@*/ constDeclarationNode constdeclaration;
404   /*@only@*/ varDeclarationNode vardeclaration;
405   /*@only@*/ varDeclarationNodeList vardeclarationlist;
406   /*@only@*/ initDeclNodeList initdecls;
407   /*@only@*/ initDeclNode initdecl;
408   /*@only@*/ stDeclNodeList structdecls;
409   /*@only@*/ stDeclNode structdecl;
410   /*@only@*/ strOrUnionNode structorunion;
411   /*@only@*/ enumSpecNode enumspec; 
412   /*@only@*/ lclTypeSpecNode lcltypespec;
413   /*@only@*/ typeNameNode typname;
414   /*@only@*/ opFormNode opform;
415   /*@only@*/ sigNode signature;
416   /*@only@*/ nameNode name;
417   /*@only@*/ typeNameNodeList namelist;
418   /*@only@*/ replaceNode replace;       
419   /*@only@*/ replaceNodeList replacelist;
420   /*@only@*/ renamingNode renaming;
421   /*@only@*/ traitRefNode traitref;
422   /*@only@*/ traitRefNodeList traitreflist;
423   /*@only@*/ importNode import;
424   /*@only@*/ importNodeList importlist;
425   /*@only@*/ interfaceNode iface;
426   /*@only@*/ interfaceNodeList interfacelist; 
427   /*@only@*/ CTypesNode ctypes;
428   /*@-redef@*/
429 } YYSTYPE;
430 /* Line 1240 of yacc.c.  */
431
432 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
433 # define YYSTYPE_IS_DECLARED 1
434 # define YYSTYPE_IS_TRIVIAL 1
435 #endif
436
437 extern YYSTYPE yllval;
438
439
440
441 /*
442 ** Resets all flags in bison.head
443 */
444
445
446 /*@=allmacros@*/
447 /*@=boolint@*/
448 /*@=charint@*/
449 /*@=macroparams@*/
450 /*@=macroundef@*/
451 /*@=unreachable@*/
452 /*@=macrospec@*/
453 /*@=varuse@*/
454 /*@=ignorequals@*/
455 /*@=macrostmt@*/
456 /*@=noeffect@*/
457 /*@=shadow@*/
458 /*@=exitarg@*/
459 /*@=macroredef@*/
460 /*@=uniondef@*/
461 /*@=compdef@*/
462 /*@=matchfields@*/
463 /*@=exportlocal@*/
464 /*@=evalorderuncon@*/
465 /*@=exportheader@*/
466 /*@=typeuse@*/
467 /*@=redecl@*/
468 /*@=redef@*/
469 /*@=noparams@*/
470 /*@=ansireserved@*/
471 /*@=fielduse@*/
472 /*@=ifblock@*/
473 /*@=elseifcomplete@*/
474 /*@=whileblock@*/
475 /*@=forblock@*/
476 /*@=branchstate@*/
477 /*@=readonlytrans@*/
478 /*@=namechecks@*/
479 /*@=usedef@*/
480 /*@=systemunrecog@*/
481 /*@=dependenttrans@*/
482 /*@=unqualifiedtrans@*/
483 /*@=declundef@*/
484
485
486 /*drl added 11/27/2001*/
487 /*@=bounds@*/
488
489 /*drl added 12/11/2002*/
490 /*@=type@*/
This page took 0.06285 seconds and 3 git commands to generate.