dt_grammar.h revision 17e0c71f57a604d26908610a59288adf383506bb
783393527e6a36415efb92e94a148c96b539e582vboxsync/* A Bison parser, made by GNU Bison 2.3. */
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync/* Skeleton interface for Bison's Yacc-like parsers in C
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
783393527e6a36415efb92e94a148c96b539e582vboxsync Free Software Foundation, Inc.
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync This program is free software; you can redistribute it and/or modify
783393527e6a36415efb92e94a148c96b539e582vboxsync it under the terms of the GNU General Public License as published by
783393527e6a36415efb92e94a148c96b539e582vboxsync the Free Software Foundation; either version 2, or (at your option)
783393527e6a36415efb92e94a148c96b539e582vboxsync any later version.
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync This program is distributed in the hope that it will be useful,
783393527e6a36415efb92e94a148c96b539e582vboxsync but WITHOUT ANY WARRANTY; without even the implied warranty of
783393527e6a36415efb92e94a148c96b539e582vboxsync MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
783393527e6a36415efb92e94a148c96b539e582vboxsync GNU General Public License for more details.
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync You should have received a copy of the GNU General Public License
783393527e6a36415efb92e94a148c96b539e582vboxsync along with this program; if not, write to the Free Software
783393527e6a36415efb92e94a148c96b539e582vboxsync Foundation, Inc., 51 Franklin Street, Fifth Floor,
783393527e6a36415efb92e94a148c96b539e582vboxsync Boston, MA 02110-1301, USA. */
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync/* As a special exception, you may create a larger work that contains
783393527e6a36415efb92e94a148c96b539e582vboxsync part or all of the Bison parser skeleton and distribute that work
783393527e6a36415efb92e94a148c96b539e582vboxsync under terms of your choice, so long as that work isn't itself a
783393527e6a36415efb92e94a148c96b539e582vboxsync parser generator using the skeleton or a modified version thereof
783393527e6a36415efb92e94a148c96b539e582vboxsync as a parser skeleton. Alternatively, if you modify or redistribute
783393527e6a36415efb92e94a148c96b539e582vboxsync the parser skeleton itself, you may (at your option) remove this
783393527e6a36415efb92e94a148c96b539e582vboxsync special exception, which will cause the skeleton and the resulting
783393527e6a36415efb92e94a148c96b539e582vboxsync Bison output files to be licensed under the GNU General Public
783393527e6a36415efb92e94a148c96b539e582vboxsync License without this special exception.
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync This special exception was added by the Free Software Foundation in
783393527e6a36415efb92e94a148c96b539e582vboxsync version 2.2 of Bison. */
783393527e6a36415efb92e94a148c96b539e582vboxsync
783393527e6a36415efb92e94a148c96b539e582vboxsync/* Tokens. */
783393527e6a36415efb92e94a148c96b539e582vboxsync#ifndef YYTOKENTYPE
783393527e6a36415efb92e94a148c96b539e582vboxsync# define YYTOKENTYPE
783393527e6a36415efb92e94a148c96b539e582vboxsync /* Put the tokens into the symbol table, so that GDB and other debuggers
783393527e6a36415efb92e94a148c96b539e582vboxsync know about them. */
783393527e6a36415efb92e94a148c96b539e582vboxsync enum yytokentype {
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_EOF = 0,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_COMMA = 258,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_ELLIPSIS = 259,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_ASGN = 260,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_ADD_EQ = 261,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_SUB_EQ = 262,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_MUL_EQ = 263,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_DIV_EQ = 264,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_MOD_EQ = 265,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_AND_EQ = 266,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_XOR_EQ = 267,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_OR_EQ = 268,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LSH_EQ = 269,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_RSH_EQ = 270,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_QUESTION = 271,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_COLON = 272,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LOR = 273,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LXOR = 274,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LAND = 275,
084aea1ea1f8edd87f7de48d2efde8e35f003f95vboxsync DT_TOK_BOR = 276,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_XOR = 277,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_BAND = 278,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_EQU = 279,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_NEQ = 280,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LT = 281,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_LE = 282,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_GT = 283,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_GE = 284,
d9ac262affbfb44157c6e6af0d32e357954a3115vboxsync DT_TOK_LSH = 285,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_RSH = 286,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_ADD = 287,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_SUB = 288,
783393527e6a36415efb92e94a148c96b539e582vboxsync DT_TOK_MUL = 289,
DT_TOK_DIV = 290,
DT_TOK_MOD = 291,
DT_TOK_LNEG = 292,
DT_TOK_BNEG = 293,
DT_TOK_ADDADD = 294,
DT_TOK_SUBSUB = 295,
DT_TOK_PREINC = 296,
DT_TOK_POSTINC = 297,
DT_TOK_PREDEC = 298,
DT_TOK_POSTDEC = 299,
DT_TOK_IPOS = 300,
DT_TOK_INEG = 301,
DT_TOK_DEREF = 302,
DT_TOK_ADDROF = 303,
DT_TOK_OFFSETOF = 304,
DT_TOK_SIZEOF = 305,
DT_TOK_STRINGOF = 306,
DT_TOK_XLATE = 307,
DT_TOK_LPAR = 308,
DT_TOK_RPAR = 309,
DT_TOK_LBRAC = 310,
DT_TOK_RBRAC = 311,
DT_TOK_PTR = 312,
DT_TOK_DOT = 313,
DT_TOK_STRING = 314,
DT_TOK_IDENT = 315,
DT_TOK_PSPEC = 316,
DT_TOK_AGG = 317,
DT_TOK_TNAME = 318,
DT_TOK_INT = 319,
DT_KEY_AUTO = 320,
DT_KEY_BREAK = 321,
DT_KEY_CASE = 322,
DT_KEY_CHAR = 323,
DT_KEY_CONST = 324,
DT_KEY_CONTINUE = 325,
DT_KEY_COUNTER = 326,
DT_KEY_DEFAULT = 327,
DT_KEY_DO = 328,
DT_KEY_DOUBLE = 329,
DT_KEY_ELSE = 330,
DT_KEY_ENUM = 331,
DT_KEY_EXTERN = 332,
DT_KEY_FLOAT = 333,
DT_KEY_FOR = 334,
DT_KEY_GOTO = 335,
DT_KEY_IF = 336,
DT_KEY_IMPORT = 337,
DT_KEY_INLINE = 338,
DT_KEY_INT = 339,
DT_KEY_LONG = 340,
DT_KEY_PROBE = 341,
DT_KEY_PROVIDER = 342,
DT_KEY_REGISTER = 343,
DT_KEY_RESTRICT = 344,
DT_KEY_RETURN = 345,
DT_KEY_SELF = 346,
DT_KEY_SHORT = 347,
DT_KEY_SIGNED = 348,
DT_KEY_STATIC = 349,
DT_KEY_STRING = 350,
DT_KEY_STRUCT = 351,
DT_KEY_SWITCH = 352,
DT_KEY_THIS = 353,
DT_KEY_TYPEDEF = 354,
DT_KEY_UNION = 355,
DT_KEY_UNSIGNED = 356,
DT_KEY_VOID = 357,
DT_KEY_VOLATILE = 358,
DT_KEY_WHILE = 359,
DT_KEY_XLATOR = 360,
DT_TOK_EPRED = 361,
DT_CTX_DEXPR = 362,
DT_CTX_DPROG = 363,
DT_CTX_DTYPE = 364
};
#endif
/* Tokens. */
#define DT_TOK_EOF 0
#define DT_TOK_COMMA 258
#define DT_TOK_ELLIPSIS 259
#define DT_TOK_ASGN 260
#define DT_TOK_ADD_EQ 261
#define DT_TOK_SUB_EQ 262
#define DT_TOK_MUL_EQ 263
#define DT_TOK_DIV_EQ 264
#define DT_TOK_MOD_EQ 265
#define DT_TOK_AND_EQ 266
#define DT_TOK_XOR_EQ 267
#define DT_TOK_OR_EQ 268
#define DT_TOK_LSH_EQ 269
#define DT_TOK_RSH_EQ 270
#define DT_TOK_QUESTION 271
#define DT_TOK_COLON 272
#define DT_TOK_LOR 273
#define DT_TOK_LXOR 274
#define DT_TOK_LAND 275
#define DT_TOK_BOR 276
#define DT_TOK_XOR 277
#define DT_TOK_BAND 278
#define DT_TOK_EQU 279
#define DT_TOK_NEQ 280
#define DT_TOK_LT 281
#define DT_TOK_LE 282
#define DT_TOK_GT 283
#define DT_TOK_GE 284
#define DT_TOK_LSH 285
#define DT_TOK_RSH 286
#define DT_TOK_ADD 287
#define DT_TOK_SUB 288
#define DT_TOK_MUL 289
#define DT_TOK_DIV 290
#define DT_TOK_MOD 291
#define DT_TOK_LNEG 292
#define DT_TOK_BNEG 293
#define DT_TOK_ADDADD 294
#define DT_TOK_SUBSUB 295
#define DT_TOK_PREINC 296
#define DT_TOK_POSTINC 297
#define DT_TOK_PREDEC 298
#define DT_TOK_POSTDEC 299
#define DT_TOK_IPOS 300
#define DT_TOK_INEG 301
#define DT_TOK_DEREF 302
#define DT_TOK_ADDROF 303
#define DT_TOK_OFFSETOF 304
#define DT_TOK_SIZEOF 305
#define DT_TOK_STRINGOF 306
#define DT_TOK_XLATE 307
#define DT_TOK_LPAR 308
#define DT_TOK_RPAR 309
#define DT_TOK_LBRAC 310
#define DT_TOK_RBRAC 311
#define DT_TOK_PTR 312
#define DT_TOK_DOT 313
#define DT_TOK_STRING 314
#define DT_TOK_IDENT 315
#define DT_TOK_PSPEC 316
#define DT_TOK_AGG 317
#define DT_TOK_TNAME 318
#define DT_TOK_INT 319
#define DT_KEY_AUTO 320
#define DT_KEY_BREAK 321
#define DT_KEY_CASE 322
#define DT_KEY_CHAR 323
#define DT_KEY_CONST 324
#define DT_KEY_CONTINUE 325
#define DT_KEY_COUNTER 326
#define DT_KEY_DEFAULT 327
#define DT_KEY_DO 328
#define DT_KEY_DOUBLE 329
#define DT_KEY_ELSE 330
#define DT_KEY_ENUM 331
#define DT_KEY_EXTERN 332
#define DT_KEY_FLOAT 333
#define DT_KEY_FOR 334
#define DT_KEY_GOTO 335
#define DT_KEY_IF 336
#define DT_KEY_IMPORT 337
#define DT_KEY_INLINE 338
#define DT_KEY_INT 339
#define DT_KEY_LONG 340
#define DT_KEY_PROBE 341
#define DT_KEY_PROVIDER 342
#define DT_KEY_REGISTER 343
#define DT_KEY_RESTRICT 344
#define DT_KEY_RETURN 345
#define DT_KEY_SELF 346
#define DT_KEY_SHORT 347
#define DT_KEY_SIGNED 348
#define DT_KEY_STATIC 349
#define DT_KEY_STRING 350
#define DT_KEY_STRUCT 351
#define DT_KEY_SWITCH 352
#define DT_KEY_THIS 353
#define DT_KEY_TYPEDEF 354
#define DT_KEY_UNION 355
#define DT_KEY_UNSIGNED 356
#define DT_KEY_VOID 357
#define DT_KEY_VOLATILE 358
#define DT_KEY_WHILE 359
#define DT_KEY_XLATOR 360
#define DT_TOK_EPRED 361
#define DT_CTX_DEXPR 362
#define DT_CTX_DPROG 363
#define DT_CTX_DTYPE 364
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 47 "dt_grammar.y"
{
dt_node_t *l_node;
dt_decl_t *l_decl;
char *l_str;
uintmax_t l_int;
int l_tok;
}
/* Line 1529 of yacc.c. */
#line 277 "dt_grammar.h"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;