grammar.h
00001 /* A Bison parser, made by GNU Bison 2.1. */ 00002 00003 /* Skeleton parser for Yacc-like parsing with Bison, 00004 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2, or (at your option) 00009 any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 Boston, MA 02110-1301, USA. */ 00020 00021 /* As a special exception, when this file is copied by Bison into a 00022 Bison output file, you may use that output file without restriction. 00023 This special exception was added by the Free Software Foundation 00024 in version 1.24 of Bison. */ 00025 00026 /* Tokens. */ 00027 #ifndef YYTOKENTYPE 00028 # define YYTOKENTYPE 00029 /* Put the tokens into the symbol table, so that GDB and other debuggers 00030 know about them. */ 00031 enum yytokentype { 00032 NULLTOKEN = 258, 00033 TRUETOKEN = 259, 00034 FALSETOKEN = 260, 00035 STRING = 261, 00036 NUMBER = 262, 00037 BREAK = 263, 00038 CASE = 264, 00039 DEFAULT = 265, 00040 FOR = 266, 00041 NEW = 267, 00042 VAR = 268, 00043 CONST = 269, 00044 CONTINUE = 270, 00045 FUNCTION = 271, 00046 RETURN = 272, 00047 VOID = 273, 00048 DELETE = 274, 00049 IF = 275, 00050 THIS = 276, 00051 DO = 277, 00052 WHILE = 278, 00053 ELSE = 279, 00054 IN = 280, 00055 INSTANCEOF = 281, 00056 TYPEOF = 282, 00057 SWITCH = 283, 00058 WITH = 284, 00059 RESERVED = 285, 00060 THROW = 286, 00061 TRY = 287, 00062 CATCH = 288, 00063 FINALLY = 289, 00064 DEBUGGER = 290, 00065 EQEQ = 291, 00066 NE = 292, 00067 STREQ = 293, 00068 STRNEQ = 294, 00069 LE = 295, 00070 GE = 296, 00071 OR = 297, 00072 AND = 298, 00073 PLUSPLUS = 299, 00074 MINUSMINUS = 300, 00075 LSHIFT = 301, 00076 RSHIFT = 302, 00077 URSHIFT = 303, 00078 PLUSEQUAL = 304, 00079 MINUSEQUAL = 305, 00080 MULTEQUAL = 306, 00081 DIVEQUAL = 307, 00082 LSHIFTEQUAL = 308, 00083 RSHIFTEQUAL = 309, 00084 URSHIFTEQUAL = 310, 00085 ANDEQUAL = 311, 00086 MODEQUAL = 312, 00087 XOREQUAL = 313, 00088 OREQUAL = 314, 00089 IDENT = 315, 00090 FUNCEXPRIDENT = 316, 00091 AUTOPLUSPLUS = 317, 00092 AUTOMINUSMINUS = 318 00093 }; 00094 #endif 00095 /* Tokens. */ 00096 #define NULLTOKEN 258 00097 #define TRUETOKEN 259 00098 #define FALSETOKEN 260 00099 #define STRING 261 00100 #define NUMBER 262 00101 #define BREAK 263 00102 #define CASE 264 00103 #define DEFAULT 265 00104 #define FOR 266 00105 #define NEW 267 00106 #define VAR 268 00107 #define CONST 269 00108 #define CONTINUE 270 00109 #define FUNCTION 271 00110 #define RETURN 272 00111 #define VOID 273 00112 #define DELETE 274 00113 #define IF 275 00114 #define THIS 276 00115 #define DO 277 00116 #define WHILE 278 00117 #define ELSE 279 00118 #define IN 280 00119 #define INSTANCEOF 281 00120 #define TYPEOF 282 00121 #define SWITCH 283 00122 #define WITH 284 00123 #define RESERVED 285 00124 #define THROW 286 00125 #define TRY 287 00126 #define CATCH 288 00127 #define FINALLY 289 00128 #define DEBUGGER 290 00129 #define EQEQ 291 00130 #define NE 292 00131 #define STREQ 293 00132 #define STRNEQ 294 00133 #define LE 295 00134 #define GE 296 00135 #define OR 297 00136 #define AND 298 00137 #define PLUSPLUS 299 00138 #define MINUSMINUS 300 00139 #define LSHIFT 301 00140 #define RSHIFT 302 00141 #define URSHIFT 303 00142 #define PLUSEQUAL 304 00143 #define MINUSEQUAL 305 00144 #define MULTEQUAL 306 00145 #define DIVEQUAL 307 00146 #define LSHIFTEQUAL 308 00147 #define RSHIFTEQUAL 309 00148 #define URSHIFTEQUAL 310 00149 #define ANDEQUAL 311 00150 #define MODEQUAL 312 00151 #define XOREQUAL 313 00152 #define OREQUAL 314 00153 #define IDENT 315 00154 #define FUNCEXPRIDENT 316 00155 #define AUTOPLUSPLUS 317 00156 #define AUTOMINUSMINUS 318 00157 00158 00159 00160 00161 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 00162 #line 52 "grammar.y" 00163 typedef union YYSTYPE { 00164 int ival; 00165 double dval; 00166 UString *ustr; 00167 Identifier *ident; 00168 Node *node; 00169 StatementNode *stat; 00170 ParameterNode *param; 00171 FunctionBodyNode *body; 00172 FuncDeclNode *func; 00173 FunctionBodyNode *prog; 00174 AssignExprNode *init; 00175 SourceElementsNode *srcs; 00176 StatListNode *slist; 00177 ArgumentsNode *args; 00178 ArgumentListNode *alist; 00179 VarDeclNode *decl; 00180 VarDeclListNode *vlist; 00181 CaseBlockNode *cblk; 00182 ClauseListNode *clist; 00183 CaseClauseNode *ccl; 00184 ElementNode *elm; 00185 Operator op; 00186 PropertyValueNode *plist; 00187 PropertyNode *pnode; 00188 CatchNode *cnode; 00189 FinallyNode *fnode; 00190 } YYSTYPE; 00191 /* Line 1447 of yacc.c. */ 00192 #line 193 "grammar.tab.h" 00193 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 00194 # define YYSTYPE_IS_DECLARED 1 00195 # define YYSTYPE_IS_TRIVIAL 1 00196 #endif 00197 00198 extern YYSTYPE kjsyylval; 00199 00200 #if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED) 00201 typedef struct YYLTYPE 00202 { 00203 int first_line; 00204 int first_column; 00205 int last_line; 00206 int last_column; 00207 } YYLTYPE; 00208 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ 00209 # define YYLTYPE_IS_DECLARED 1 00210 # define YYLTYPE_IS_TRIVIAL 1 00211 #endif 00212 00213 extern YYLTYPE kjsyylloc; 00214 00215