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