Clan  0.8.0
parser.h
Go to the documentation of this file.
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