Clan
0.8.0
|
00001 /* A Bison parser, made by GNU Bison 2.5. */ 00002 00003 /* Bison interface for Yacc-like parsers in C 00004 00005 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 00006 00007 This program is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00019 00020 /* As a special exception, you may create a larger work that contains 00021 part or all of the Bison parser skeleton and distribute that work 00022 under terms of your choice, so long as that work isn't itself a 00023 parser generator using the skeleton or a modified version thereof 00024 as a parser skeleton. Alternatively, if you modify or redistribute 00025 the parser skeleton itself, you may (at your option) remove this 00026 special exception, which will cause the skeleton and the resulting 00027 Bison output files to be licensed under the GNU General Public 00028 License without this special exception. 00029 00030 This special exception was added by the Free Software Foundation in 00031 version 2.2 of Bison. */ 00032 00033 00034 /* Tokens. */ 00035 #ifndef YYTOKENTYPE 00036 # define YYTOKENTYPE 00037 /* Put the tokens into the symbol table, so that GDB and other debuggers 00038 know about them. */ 00039 enum yytokentype { 00040 CONSTANT = 258, 00041 STRING_LITERAL = 259, 00042 SIZEOF = 260, 00043 PTR_OP = 261, 00044 INC_OP = 262, 00045 DEC_OP = 263, 00046 LEFT_OP = 264, 00047 RIGHT_OP = 265, 00048 LE_OP = 266, 00049 GE_OP = 267, 00050 EQ_OP = 268, 00051 NE_OP = 269, 00052 AND_OP = 270, 00053 OR_OP = 271, 00054 MUL_ASSIGN = 272, 00055 DIV_ASSIGN = 273, 00056 MOD_ASSIGN = 274, 00057 ADD_ASSIGN = 275, 00058 SUB_ASSIGN = 276, 00059 LEFT_ASSIGN = 277, 00060 RIGHT_ASSIGN = 278, 00061 AND_ASSIGN = 279, 00062 XOR_ASSIGN = 280, 00063 OR_ASSIGN = 281, 00064 TYPE_NAME = 282, 00065 TYPEDEF = 283, 00066 EXTERN = 284, 00067 STATIC = 285, 00068 AUTO = 286, 00069 REGISTER = 287, 00070 INLINE = 288, 00071 RESTRICT = 289, 00072 CHAR = 290, 00073 SHORT = 291, 00074 INT = 292, 00075 LONG = 293, 00076 SIGNED = 294, 00077 UNSIGNED = 295, 00078 FLOAT = 296, 00079 DOUBLE = 297, 00080 CONST = 298, 00081 VOLATILE = 299, 00082 VOID = 300, 00083 BOOL = 301, 00084 COMPLEX = 302, 00085 IMAGINARY = 303, 00086 STRUCT = 304, 00087 UNION = 305, 00088 ENUM = 306, 00089 ELLIPSIS = 307, 00090 CASE = 308, 00091 DEFAULT = 309, 00092 IF = 310, 00093 ELSE = 311, 00094 SWITCH = 312, 00095 WHILE = 313, 00096 DO = 314, 00097 FOR = 315, 00098 GOTO = 316, 00099 CONTINUE = 317, 00100 BREAK = 318, 00101 RETURN = 319, 00102 IGNORE = 320, 00103 PRAGMA = 321, 00104 MIN = 322, 00105 MAX = 323, 00106 CEILD = 324, 00107 FLOORD = 325, 00108 ID = 326, 00109 INTEGER = 327 00110 }; 00111 #endif 00112 /* Tokens. */ 00113 #define CONSTANT 258 00114 #define STRING_LITERAL 259 00115 #define SIZEOF 260 00116 #define PTR_OP 261 00117 #define INC_OP 262 00118 #define DEC_OP 263 00119 #define LEFT_OP 264 00120 #define RIGHT_OP 265 00121 #define LE_OP 266 00122 #define GE_OP 267 00123 #define EQ_OP 268 00124 #define NE_OP 269 00125 #define AND_OP 270 00126 #define OR_OP 271 00127 #define MUL_ASSIGN 272 00128 #define DIV_ASSIGN 273 00129 #define MOD_ASSIGN 274 00130 #define ADD_ASSIGN 275 00131 #define SUB_ASSIGN 276 00132 #define LEFT_ASSIGN 277 00133 #define RIGHT_ASSIGN 278 00134 #define AND_ASSIGN 279 00135 #define XOR_ASSIGN 280 00136 #define OR_ASSIGN 281 00137 #define TYPE_NAME 282 00138 #define TYPEDEF 283 00139 #define EXTERN 284 00140 #define STATIC 285 00141 #define AUTO 286 00142 #define REGISTER 287 00143 #define INLINE 288 00144 #define RESTRICT 289 00145 #define CHAR 290 00146 #define SHORT 291 00147 #define INT 292 00148 #define LONG 293 00149 #define SIGNED 294 00150 #define UNSIGNED 295 00151 #define FLOAT 296 00152 #define DOUBLE 297 00153 #define CONST 298 00154 #define VOLATILE 299 00155 #define VOID 300 00156 #define BOOL 301 00157 #define COMPLEX 302 00158 #define IMAGINARY 303 00159 #define STRUCT 304 00160 #define UNION 305 00161 #define ENUM 306 00162 #define ELLIPSIS 307 00163 #define CASE 308 00164 #define DEFAULT 309 00165 #define IF 310 00166 #define ELSE 311 00167 #define SWITCH 312 00168 #define WHILE 313 00169 #define DO 314 00170 #define FOR 315 00171 #define GOTO 316 00172 #define CONTINUE 317 00173 #define BREAK 318 00174 #define RETURN 319 00175 #define IGNORE 320 00176 #define PRAGMA 321 00177 #define MIN 322 00178 #define MAX 323 00179 #define CEILD 324 00180 #define FLOORD 325 00181 #define ID 326 00182 #define INTEGER 327 00183 00184 00185 00186 00187 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 00188 typedef union YYSTYPE 00189 { 00190 00191 /* Line 2068 of yacc.c */ 00192 #line 138 "parser.y" 00193 int value; 00194 char* symbol; 00195 osl_vector_p affex; 00196 osl_relation_p setex; 00197 osl_relation_list_p list; 00198 osl_statement_p stmt; 00202 /* Line 2068 of yacc.c */ 00203 #line 204 "source/parser.h" 00204 } YYSTYPE; 00205 # define YYSTYPE_IS_TRIVIAL 1 00206 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 00207 # define YYSTYPE_IS_DECLARED 1 00208 #endif 00209 00210 extern YYSTYPE yylval; 00211 00212