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 1.875a. */
59 /* Skeleton parser for Yacc-like parsing with Bison,
60 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
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)
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.
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. */
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. */
85 /* Put the tokens into the symbol table, so that GDB and other debuggers
93 LLT_VERTICALBAR = 263,
98 LLT_IF_THEN_ELSE = 268,
103 LLT_WHITESPACE = 273,
105 LLT_TYPEDEF_NAME = 275,
143 LLT_CONSTRAINT = 313,
174 LLT_CHECKEDSTRICT = 344,
182 LLT_REFCOUNTED = 352,
187 LLT_NULLTERMINATED = 357,
195 LLT_TAGGEDUNION = 365,
219 LLT_PRINTFLIKE = 389,
221 LLT_MESSAGELIKE = 391
225 #define PREFIX_OP 259
226 #define POSTFIX_OP 260
227 #define LLT_MULOP 261
229 #define LLT_VERTICALBAR 263
230 #define ITERATION_OP 264
231 #define selectSym 265
232 #define LLT_LBRACKET 266
234 #define LLT_IF_THEN_ELSE 268
235 #define logicalOp 269
237 #define equationSym 271
238 #define commentSym 272
239 #define LLT_WHITESPACE 273
241 #define LLT_TYPEDEF_NAME 275
242 #define quantifierSym 276
248 #define markerSym 282
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
259 #define LLT_QUOTE 293
261 #define LLT_CCHAR 295
262 #define LLT_CFLOAT 296
263 #define LLT_CINTEGER 297
264 #define LLT_LCSTRING 298
266 #define LLT_ANYTHING 300
269 #define LLT_CLAIMS 303
270 #define LLT_CHECKS 304
271 #define LLT_CONSTANT 305
273 #define LLT_ENSURES 307
275 #define LLT_FRESH 309
277 #define LLT_IMMUTABLE 311
278 #define LLT_IMPORTS 312
279 #define LLT_CONSTRAINT 313
280 #define LLT_ISSUB 314
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
291 #define LLT_PARTIAL 325
292 #define LLT_OWNED 326
293 #define LLT_DEPENDENT 327
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
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
331 #define LLT_TAGGEDUNION 365
334 #define LLT_TYPEDEF 368
335 #define LLT_UNCHANGED 369
338 #define LLT_CONST 372
339 #define LLT_DOUBLE 373
341 #define LLT_FLOAT 375
344 #define LLT_YIELD 378
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
354 #define LLT_VOLATILE 388
355 #define LLT_PRINTFLIKE 389
356 #define LLT_SCANFLIKE 390
357 #define LLT_MESSAGELIKE 391
362 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
364 typedef union YYSTYPE {
365 ltoken ltok; /* a leaf is also an ltoken */
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;
430 /* Line 1240 of yacc.c. */
432 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
433 # define YYSTYPE_IS_DECLARED 1
434 # define YYSTYPE_IS_TRIVIAL 1
437 extern YYSTYPE yllval;
442 ** Resets all flags in bison.head
464 /*@=evalorderuncon@*/
473 /*@=elseifcomplete@*/
481 /*@=dependenttrans@*/
482 /*@=unqualifiedtrans@*/
486 /*drl added 11/27/2001*/
489 /*drl added 12/11/2002*/