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 
KDE Home | KDE Accessibility Home | Description of Access Keys