1 /* A Bison parser, made by GNU Bison 2.1. */ 2 3 /* Skeleton parser for Yacc-like parsing with Bison, 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 Boston, MA 02110-1301, USA. */ 20 21 /* As a special exception, when this file is copied by Bison into a 22 Bison output file, you may use that output file without restriction. 23 This special exception was added by the Free Software Foundation 24 in version 1.24 of Bison. */ 25 26 /* Tokens. */ 27 #ifndef YYTOKENTYPE 28 # define YYTOKENTYPE 29 /* Put the tokens into the symbol table, so that GDB and other debuggers 30 know about them. */ 31 enum yytokentype { 32 TOK_IDENT = 258, 33 TOK_STRING_LITERAL = 259, 34 TOK_INT_LITERAL = 260, 35 TOK_SECTION_NAME = 261, 36 TOK_SOURCE_NAME = 262, 37 TOK_BLOB = 263, 38 TOK_DOT_DOT = 264, 39 TOK_AND = 265, 40 TOK_OR = 266, 41 TOK_GEQ = 267, 42 TOK_LEQ = 268, 43 TOK_EQ = 269, 44 TOK_NEQ = 270, 45 TOK_POWER = 271, 46 TOK_LSHIFT = 272, 47 TOK_RSHIFT = 273, 48 TOK_INT_SIZE = 274, 49 TOK_OPTIONS = 275, 50 TOK_CONSTANTS = 276, 51 TOK_SOURCES = 277, 52 TOK_FILTERS = 278, 53 TOK_SECTION = 279, 54 TOK_EXTERN = 280, 55 TOK_FROM = 281, 56 TOK_RAW = 282, 57 TOK_LOAD = 283, 58 TOK_JUMP = 284, 59 TOK_CALL = 285, 60 TOK_MODE = 286, 61 TOK_IF = 287, 62 TOK_ELSE = 288, 63 TOK_DEFINED = 289, 64 TOK_INFO = 290, 65 TOK_WARNING = 291, 66 TOK_ERROR = 292, 67 TOK_SIZEOF = 293, 68 TOK_DCD = 294, 69 TOK_HAB = 295, 70 TOK_IVT = 296, 71 UNARY_OP = 297 72 }; 73 #endif 74 /* Tokens. */ 75 #define TOK_IDENT 258 76 #define TOK_STRING_LITERAL 259 77 #define TOK_INT_LITERAL 260 78 #define TOK_SECTION_NAME 261 79 #define TOK_SOURCE_NAME 262 80 #define TOK_BLOB 263 81 #define TOK_DOT_DOT 264 82 #define TOK_AND 265 83 #define TOK_OR 266 84 #define TOK_GEQ 267 85 #define TOK_LEQ 268 86 #define TOK_EQ 269 87 #define TOK_NEQ 270 88 #define TOK_POWER 271 89 #define TOK_LSHIFT 272 90 #define TOK_RSHIFT 273 91 #define TOK_INT_SIZE 274 92 #define TOK_OPTIONS 275 93 #define TOK_CONSTANTS 276 94 #define TOK_SOURCES 277 95 #define TOK_FILTERS 278 96 #define TOK_SECTION 279 97 #define TOK_EXTERN 280 98 #define TOK_FROM 281 99 #define TOK_RAW 282 100 #define TOK_LOAD 283 101 #define TOK_JUMP 284 102 #define TOK_CALL 285 103 #define TOK_MODE 286 104 #define TOK_IF 287 105 #define TOK_ELSE 288 106 #define TOK_DEFINED 289 107 #define TOK_INFO 290 108 #define TOK_WARNING 291 109 #define TOK_ERROR 292 110 #define TOK_SIZEOF 293 111 #define TOK_DCD 294 112 #define TOK_HAB 295 113 #define TOK_IVT 296 114 #define UNARY_OP 297 115 116 117 118 119 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 120 typedef union YYSTYPE { 121 int m_num; 122 elftosb::SizedIntegerValue * m_int; 123 Blob * m_blob; 124 std::string * m_str; 125 elftosb::ASTNode * m_ast; // must use full name here because this is put into *.tab.hpp 126 } YYSTYPE; 127 /* Line 1447 of yacc.c. */ 128 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 129 # define YYSTYPE_IS_DECLARED 1 130 # define YYSTYPE_IS_TRIVIAL 1 131 #endif 132 133 134 135 #if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) 136 typedef struct YYLTYPE 137 { 138 int first_line; 139 int first_column; 140 int last_line; 141 int last_column; 142 } YYLTYPE; 143 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ 144 # define YYLTYPE_IS_DECLARED 1 145 # define YYLTYPE_IS_TRIVIAL 1 146 #endif 147 148 149 150 151