1 


2  /* A Bison parser, made by GNU Bison 2.4.1. */


3 


4  /* Skeleton interface for Bison's Yacclike parsers in C


5 


6  Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006


7  Free Software Foundation, Inc.


8 


9  This program is free software: you can redistribute it and/or modify


10  it under the terms of the GNU General Public License as published by


11  the Free Software Foundation, either version 3 of the License, or


12  (at your option) any later version.


13 


14  This program is distributed in the hope that it will be useful,


15  but WITHOUT ANY WARRANTY; without even the implied warranty of


16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the


17  GNU General Public License for more details.


18 


19  You should have received a copy of the GNU General Public License


20  along with this program. If not, see <http://www.gnu.org/licenses/>. */


21 


22  /* As a special exception, you may create a larger work that contains


23  part or all of the Bison parser skeleton and distribute that work


24  under terms of your choice, so long as that work isn't itself a


25  parser generator using the skeleton or a modified version thereof


26  as a parser skeleton. Alternatively, if you modify or redistribute


27  the parser skeleton itself, you may (at your option) remove this


28  special exception, which will cause the skeleton and the resulting


29  Bison output files to be licensed under the GNU General Public


30  License without this special exception.


31 


32  This special exception was added by the Free Software Foundation in


33  version 2.2 of Bison. */


34 


35 


36  /* Tokens. */


37  #ifndef YYTOKENTYPE


38  # define YYTOKENTYPE


39  /* Put the tokens into the symbol table, so that GDB and other debuggers


40  know about them. */


41  enum yytokentype {


42  DT_TOK_EOF = 0,


43  DT_TOK_COMMA = 258,


44  DT_TOK_ELLIPSIS = 259,


45  DT_TOK_ASGN = 260,


46  DT_TOK_ADD_EQ = 261,


47  DT_TOK_SUB_EQ = 262,


48  DT_TOK_MUL_EQ = 263,


49  DT_TOK_DIV_EQ = 264,


50  DT_TOK_MOD_EQ = 265,


51  DT_TOK_AND_EQ = 266,


52  DT_TOK_XOR_EQ = 267,


53  DT_TOK_OR_EQ = 268,


54  DT_TOK_LSH_EQ = 269,


55  DT_TOK_RSH_EQ = 270,


56  DT_TOK_QUESTION = 271,


57  DT_TOK_COLON = 272,


58  DT_TOK_LOR = 273,


59  DT_TOK_LXOR = 274,


60  DT_TOK_LAND = 275,


61  DT_TOK_BOR = 276,


62  DT_TOK_XOR = 277,


63  DT_TOK_BAND = 278,


64  DT_TOK_EQU = 279,


65  DT_TOK_NEQ = 280,


66  DT_TOK_LT = 281,


67  DT_TOK_LE = 282,


68  DT_TOK_GT = 283,


69  DT_TOK_GE = 284,


70  DT_TOK_LSH = 285,


71  DT_TOK_RSH = 286,


72  DT_TOK_ADD = 287,


73  DT_TOK_SUB = 288,


74  DT_TOK_MUL = 289,


75  DT_TOK_DIV = 290,


76  DT_TOK_MOD = 291,


77  DT_TOK_LNEG = 292,


78  DT_TOK_BNEG = 293,


79  DT_TOK_ADDADD = 294,


80  DT_TOK_SUBSUB = 295,


81  DT_TOK_PREINC = 296,


82  DT_TOK_POSTINC = 297,


83  DT_TOK_PREDEC = 298,


84  DT_TOK_POSTDEC = 299,


85  DT_TOK_IPOS = 300,


86  DT_TOK_INEG = 301,


87  DT_TOK_DEREF = 302,


88  DT_TOK_ADDROF = 303,


89  DT_TOK_OFFSETOF = 304,


90  DT_TOK_SIZEOF = 305,


91  DT_TOK_STRINGOF = 306,


92  DT_TOK_XLATE = 307,


93  DT_TOK_LPAR = 308,


94  DT_TOK_RPAR = 309,


95  DT_TOK_LBRAC = 310,


96  DT_TOK_RBRAC = 311,


97  DT_TOK_PTR = 312,


98  DT_TOK_DOT = 313,


99  DT_TOK_STRING = 314,


100  DT_TOK_IDENT = 315,


101  DT_TOK_PSPEC = 316,


102  DT_TOK_AGG = 317,


103  DT_TOK_TNAME = 318,


104  DT_TOK_INT = 319,


105  DT_KEY_AUTO = 320,


106  DT_KEY_BREAK = 321,


107  DT_KEY_CASE = 322,


108  DT_KEY_CHAR = 323,


109  DT_KEY_CONST = 324,


110  DT_KEY_CONTINUE = 325,


111  DT_KEY_COUNTER = 326,


112  DT_KEY_DEFAULT = 327,


113  DT_KEY_DO = 328,


114  DT_KEY_DOUBLE = 329,


115  DT_KEY_ELSE = 330,


116  DT_KEY_ENUM = 331,


117  DT_KEY_EXTERN = 332,


118  DT_KEY_FLOAT = 333,


119  DT_KEY_FOR = 334,


120  DT_KEY_GOTO = 335,


121  DT_KEY_IF = 336,


122  DT_KEY_IMPORT = 337,


123  DT_KEY_INLINE = 338,


124  DT_KEY_INT = 339,


125  DT_KEY_LONG = 340,


126  DT_KEY_PROBE = 341,


127  DT_KEY_PROVIDER = 342,


128  DT_KEY_REGISTER = 343,


129  DT_KEY_RESTRICT = 344,


130  DT_KEY_RETURN = 345,


131  DT_KEY_SELF = 346,


132  DT_KEY_SHORT = 347,


133  DT_KEY_SIGNED = 348,


134  DT_KEY_STATIC = 349,


135  DT_KEY_STRING = 350,


136  DT_KEY_STRUCT = 351,


137  DT_KEY_SWITCH = 352,


138  DT_KEY_THIS = 353,


139  DT_KEY_TYPEDEF = 354,


140  DT_KEY_UNION = 355,


141  DT_KEY_UNSIGNED = 356,


142  DT_KEY_VOID = 357,


143  DT_KEY_VOLATILE = 358,


144  DT_KEY_WHILE = 359,


145  DT_KEY_XLATOR = 360,


146  DT_TOK_EPRED = 361,


147  DT_CTX_DEXPR = 362,


148  DT_CTX_DPROG = 363,


149  DT_CTX_DTYPE = 364


150  };


151  #endif


152  /* Tokens. */


153  #define DT_TOK_EOF 0


154  #define DT_TOK_COMMA 258


155  #define DT_TOK_ELLIPSIS 259


156  #define DT_TOK_ASGN 260


157  #define DT_TOK_ADD_EQ 261


158  #define DT_TOK_SUB_EQ 262


159  #define DT_TOK_MUL_EQ 263


160  #define DT_TOK_DIV_EQ 264


161  #define DT_TOK_MOD_EQ 265


162  #define DT_TOK_AND_EQ 266


163  #define DT_TOK_XOR_EQ 267


164  #define DT_TOK_OR_EQ 268


165  #define DT_TOK_LSH_EQ 269


166  #define DT_TOK_RSH_EQ 270


167  #define DT_TOK_QUESTION 271


168  #define DT_TOK_COLON 272


169  #define DT_TOK_LOR 273


170  #define DT_TOK_LXOR 274


171  #define DT_TOK_LAND 275


172  #define DT_TOK_BOR 276


173  #define DT_TOK_XOR 277


174  #define DT_TOK_BAND 278


175  #define DT_TOK_EQU 279


176  #define DT_TOK_NEQ 280


177  #define DT_TOK_LT 281


178  #define DT_TOK_LE 282


179  #define DT_TOK_GT 283


180  #define DT_TOK_GE 284


181  #define DT_TOK_LSH 285


182  #define DT_TOK_RSH 286


183  #define DT_TOK_ADD 287


184  #define DT_TOK_SUB 288


185  #define DT_TOK_MUL 289


186  #define DT_TOK_DIV 290


187  #define DT_TOK_MOD 291


188  #define DT_TOK_LNEG 292


189  #define DT_TOK_BNEG 293


190  #define DT_TOK_ADDADD 294


191  #define DT_TOK_SUBSUB 295


192  #define DT_TOK_PREINC 296


193  #define DT_TOK_POSTINC 297


194  #define DT_TOK_PREDEC 298


195  #define DT_TOK_POSTDEC 299


196  #define DT_TOK_IPOS 300


197  #define DT_TOK_INEG 301


198  #define DT_TOK_DEREF 302


199  #define DT_TOK_ADDROF 303


200  #define DT_TOK_OFFSETOF 304


201  #define DT_TOK_SIZEOF 305


202  #define DT_TOK_STRINGOF 306


203  #define DT_TOK_XLATE 307


204  #define DT_TOK_LPAR 308


205  #define DT_TOK_RPAR 309


206  #define DT_TOK_LBRAC 310


207  #define DT_TOK_RBRAC 311


208  #define DT_TOK_PTR 312


209  #define DT_TOK_DOT 313


210  #define DT_TOK_STRING 314


211  #define DT_TOK_IDENT 315


212  #define DT_TOK_PSPEC 316


213  #define DT_TOK_AGG 317


214  #define DT_TOK_TNAME 318


215  #define DT_TOK_INT 319


216  #define DT_KEY_AUTO 320


217  #define DT_KEY_BREAK 321


218  #define DT_KEY_CASE 322


219  #define DT_KEY_CHAR 323


220  #define DT_KEY_CONST 324


221  #define DT_KEY_CONTINUE 325


222  #define DT_KEY_COUNTER 326


223  #define DT_KEY_DEFAULT 327


224  #define DT_KEY_DO 328


225  #define DT_KEY_DOUBLE 329


226  #define DT_KEY_ELSE 330


227  #define DT_KEY_ENUM 331


228  #define DT_KEY_EXTERN 332


229  #define DT_KEY_FLOAT 333


230  #define DT_KEY_FOR 334


231  #define DT_KEY_GOTO 335


232  #define DT_KEY_IF 336


233  #define DT_KEY_IMPORT 337


234  #define DT_KEY_INLINE 338


235  #define DT_KEY_INT 339


236  #define DT_KEY_LONG 340


237  #define DT_KEY_PROBE 341


238  #define DT_KEY_PROVIDER 342


239  #define DT_KEY_REGISTER 343


240  #define DT_KEY_RESTRICT 344


241  #define DT_KEY_RETURN 345


242  #define DT_KEY_SELF 346


243  #define DT_KEY_SHORT 347


244  #define DT_KEY_SIGNED 348


245  #define DT_KEY_STATIC 349


246  #define DT_KEY_STRING 350


247  #define DT_KEY_STRUCT 351


248  #define DT_KEY_SWITCH 352


249  #define DT_KEY_THIS 353


250  #define DT_KEY_TYPEDEF 354


251  #define DT_KEY_UNION 355


252  #define DT_KEY_UNSIGNED 356


253  #define DT_KEY_VOID 357


254  #define DT_KEY_VOLATILE 358


255  #define DT_KEY_WHILE 359


256  #define DT_KEY_XLATOR 360


257  #define DT_TOK_EPRED 361


258  #define DT_CTX_DEXPR 362


259  #define DT_CTX_DPROG 363


260  #define DT_CTX_DTYPE 364


261 


262 


263 


264 


265  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED


266  typedef union YYSTYPE


267  {


268 


269  /* Line 1676 of yacc.c */


270  #line 51 "dt_grammar.y"


271 


272  dt_node_t *l_node;


273  dt_decl_t *l_decl;


274  char *l_str;


275  uintmax_t l_int;


276  int l_tok;


277 


278 


279 


280  /* Line 1676 of yacc.c */


281  #line 282 "dt_grammar.h"


282  } YYSTYPE;


283  # define YYSTYPE_IS_TRIVIAL 1


284  # define yystype YYSTYPE /* obsolescent; will be withdrawn */


285  # define YYSTYPE_IS_DECLARED 1


286  #endif


287 


288  extern YYSTYPE yylval;


289 


290 

