2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
55 /* < end of bison.head > */
57 /* A Bison parser, made by GNU Bison 2.3. */
59 /* Skeleton interface for Bison's Yacc-like parsers in C
61 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
62 Free Software Foundation, Inc.
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)
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.
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. */
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.
89 This special exception was added by the Free Software Foundation in
90 version 2.2 of Bison. */
95 /* Put the tokens into the symbol table, so that GDB and other debuggers
103 LLT_VERTICALBAR = 263,
108 LLT_IF_THEN_ELSE = 268,
113 LLT_WHITESPACE = 273,
115 LLT_TYPEDEF_NAME = 275,
153 LLT_CONSTRAINT = 313,
184 LLT_CHECKEDSTRICT = 344,
192 LLT_REFCOUNTED = 352,
197 LLT_NULLTERMINATED = 357,
205 LLT_TAGGEDUNION = 365,
229 LLT_PRINTFLIKE = 389,
231 LLT_MESSAGELIKE = 391
236 #define PREFIX_OP 259
237 #define POSTFIX_OP 260
238 #define LLT_MULOP 261
240 #define LLT_VERTICALBAR 263
241 #define ITERATION_OP 264
242 #define selectSym 265
243 #define LLT_LBRACKET 266
245 #define LLT_IF_THEN_ELSE 268
246 #define logicalOp 269
248 #define equationSym 271
249 #define commentSym 272
250 #define LLT_WHITESPACE 273
252 #define LLT_TYPEDEF_NAME 275
253 #define quantifierSym 276
259 #define markerSym 282
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
270 #define LLT_QUOTE 293
272 #define LLT_CCHAR 295
273 #define LLT_CFLOAT 296
274 #define LLT_CINTEGER 297
275 #define LLT_LCSTRING 298
277 #define LLT_ANYTHING 300
280 #define LLT_CLAIMS 303
281 #define LLT_CHECKS 304
282 #define LLT_CONSTANT 305
284 #define LLT_ENSURES 307
286 #define LLT_FRESH 309
288 #define LLT_IMMUTABLE 311
289 #define LLT_IMPORTS 312
290 #define LLT_CONSTRAINT 313
291 #define LLT_ISSUB 314
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
302 #define LLT_PARTIAL 325
303 #define LLT_OWNED 326
304 #define LLT_DEPENDENT 327
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
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
342 #define LLT_TAGGEDUNION 365
345 #define LLT_TYPEDEF 368
346 #define LLT_UNCHANGED 369
349 #define LLT_CONST 372
350 #define LLT_DOUBLE 373
352 #define LLT_FLOAT 375
355 #define LLT_YIELD 378
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
365 #define LLT_VOLATILE 388
366 #define LLT_PRINTFLIKE 389
367 #define LLT_SCANFLIKE 390
368 #define LLT_MESSAGELIKE 391
373 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
374 typedef union YYSTYPE
377 ltoken ltok; /* a leaf is also an ltoken */
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;
442 /* Line 1529 of yacc.c. */
445 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
446 # define YYSTYPE_IS_DECLARED 1
447 # define YYSTYPE_IS_TRIVIAL 1
450 extern YYSTYPE yllval;
453 ** Resets all flags in bison.head
475 /*@=evalorderuncon@*/
484 /*@=elseifcomplete@*/
492 /*@=dependenttrans@*/
493 /*@=unqualifiedtrans@*/
497 /*drl added 11/27/2001*/
500 /*drl added 12/11/2002*/