You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
5.0 KiB
216 lines
5.0 KiB
15 years ago
|
/* A Bison parser, made by GNU Bison 2.1. */
|
||
|
|
||
|
/* Skeleton parser for Yacc-like parsing with Bison,
|
||
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||
|
|
||
|
This program is free software; you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation; either version 2, or (at your option)
|
||
|
any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||
|
Boston, MA 02110-1301, USA. */
|
||
|
|
||
|
/* As a special exception, when this file is copied by Bison into a
|
||
|
Bison output file, you may use that output file without restriction.
|
||
|
This special exception was added by the Free Software Foundation
|
||
|
in version 1.24 of Bison. */
|
||
|
|
||
|
/* Tokens. */
|
||
|
#ifndef YYTOKENTYPE
|
||
|
# define YYTOKENTYPE
|
||
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
||
|
know about them. */
|
||
|
enum yytokentype {
|
||
|
NULLTOKEN = 258,
|
||
|
TRUETOKEN = 259,
|
||
|
FALSETOKEN = 260,
|
||
|
STRING = 261,
|
||
|
NUMBER = 262,
|
||
|
BREAK = 263,
|
||
|
CASE = 264,
|
||
|
DEFAULT = 265,
|
||
|
FOR = 266,
|
||
|
NEW = 267,
|
||
|
VAR = 268,
|
||
|
CONST = 269,
|
||
|
CONTINUE = 270,
|
||
|
FUNCTION = 271,
|
||
|
RETURN = 272,
|
||
|
VOID = 273,
|
||
|
DELETE = 274,
|
||
|
IF = 275,
|
||
|
THIS = 276,
|
||
|
DO = 277,
|
||
|
WHILE = 278,
|
||
|
ELSE = 279,
|
||
|
IN = 280,
|
||
|
INSTANCEOF = 281,
|
||
|
TYPEOF = 282,
|
||
|
SWITCH = 283,
|
||
|
WITH = 284,
|
||
|
RESERVED = 285,
|
||
|
THROW = 286,
|
||
|
TRY = 287,
|
||
|
CATCH = 288,
|
||
|
FINALLY = 289,
|
||
|
DEBUGGER = 290,
|
||
|
EQEQ = 291,
|
||
|
NE = 292,
|
||
|
STREQ = 293,
|
||
|
STRNEQ = 294,
|
||
|
LE = 295,
|
||
|
GE = 296,
|
||
|
OR = 297,
|
||
|
AND = 298,
|
||
|
PLUSPLUS = 299,
|
||
|
MINUSMINUS = 300,
|
||
|
LSHIFT = 301,
|
||
|
RSHIFT = 302,
|
||
|
URSHIFT = 303,
|
||
|
PLUSEQUAL = 304,
|
||
|
MINUSEQUAL = 305,
|
||
|
MULTEQUAL = 306,
|
||
|
DIVEQUAL = 307,
|
||
|
LSHIFTEQUAL = 308,
|
||
|
RSHIFTEQUAL = 309,
|
||
|
URSHIFTEQUAL = 310,
|
||
|
ANDEQUAL = 311,
|
||
|
MODEQUAL = 312,
|
||
|
XOREQUAL = 313,
|
||
|
OREQUAL = 314,
|
||
|
IDENT = 315,
|
||
|
FUNCEXPRIDENT = 316,
|
||
|
AUTOPLUSPLUS = 317,
|
||
|
AUTOMINUSMINUS = 318
|
||
|
};
|
||
|
#endif
|
||
|
/* Tokens. */
|
||
|
#define NULLTOKEN 258
|
||
|
#define TRUETOKEN 259
|
||
|
#define FALSETOKEN 260
|
||
|
#define STRING 261
|
||
|
#define NUMBER 262
|
||
|
#define BREAK 263
|
||
|
#define CASE 264
|
||
|
#define DEFAULT 265
|
||
|
#define FOR 266
|
||
|
#define NEW 267
|
||
|
#define VAR 268
|
||
|
#define CONST 269
|
||
|
#define CONTINUE 270
|
||
|
#define FUNCTION 271
|
||
|
#define RETURN 272
|
||
|
#define VOID 273
|
||
|
#define DELETE 274
|
||
|
#define IF 275
|
||
|
#define THIS 276
|
||
|
#define DO 277
|
||
|
#define WHILE 278
|
||
|
#define ELSE 279
|
||
|
#define IN 280
|
||
|
#define INSTANCEOF 281
|
||
|
#define TYPEOF 282
|
||
|
#define SWITCH 283
|
||
|
#define WITH 284
|
||
|
#define RESERVED 285
|
||
|
#define THROW 286
|
||
|
#define TRY 287
|
||
|
#define CATCH 288
|
||
|
#define FINALLY 289
|
||
|
#define DEBUGGER 290
|
||
|
#define EQEQ 291
|
||
|
#define NE 292
|
||
|
#define STREQ 293
|
||
|
#define STRNEQ 294
|
||
|
#define LE 295
|
||
|
#define GE 296
|
||
|
#define OR 297
|
||
|
#define AND 298
|
||
|
#define PLUSPLUS 299
|
||
|
#define MINUSMINUS 300
|
||
|
#define LSHIFT 301
|
||
|
#define RSHIFT 302
|
||
|
#define URSHIFT 303
|
||
|
#define PLUSEQUAL 304
|
||
|
#define MINUSEQUAL 305
|
||
|
#define MULTEQUAL 306
|
||
|
#define DIVEQUAL 307
|
||
|
#define LSHIFTEQUAL 308
|
||
|
#define RSHIFTEQUAL 309
|
||
|
#define URSHIFTEQUAL 310
|
||
|
#define ANDEQUAL 311
|
||
|
#define MODEQUAL 312
|
||
|
#define XOREQUAL 313
|
||
|
#define OREQUAL 314
|
||
|
#define IDENT 315
|
||
|
#define FUNCEXPRIDENT 316
|
||
|
#define AUTOPLUSPLUS 317
|
||
|
#define AUTOMINUSMINUS 318
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||
|
#line 52 "grammar.y"
|
||
|
typedef union YYSTYPE {
|
||
|
int ival;
|
||
|
double dval;
|
||
|
UString *ustr;
|
||
|
Identifier *ident;
|
||
|
Node *node;
|
||
|
StatementNode *stat;
|
||
|
ParameterNode *param;
|
||
|
FunctionBodyNode *body;
|
||
|
FuncDeclNode *func;
|
||
|
FunctionBodyNode *prog;
|
||
|
AssignExprNode *init;
|
||
|
SourceElementsNode *srcs;
|
||
|
StatListNode *slist;
|
||
|
ArgumentsNode *args;
|
||
|
ArgumentListNode *alist;
|
||
|
VarDeclNode *decl;
|
||
|
VarDeclListNode *vlist;
|
||
|
CaseBlockNode *cblk;
|
||
|
ClauseListNode *clist;
|
||
|
CaseClauseNode *ccl;
|
||
|
ElementNode *elm;
|
||
|
Operator op;
|
||
|
PropertyValueNode *plist;
|
||
|
PropertyNode *pnode;
|
||
|
CatchNode *cnode;
|
||
|
FinallyNode *fnode;
|
||
|
} YYSTYPE;
|
||
|
/* Line 1447 of yacc.c. */
|
||
|
#line 193 "grammar.tab.h"
|
||
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||
|
# define YYSTYPE_IS_DECLARED 1
|
||
|
# define YYSTYPE_IS_TRIVIAL 1
|
||
|
#endif
|
||
|
|
||
|
extern YYSTYPE kjsyylval;
|
||
|
|
||
|
#if ! defined (YYLTYPE) && ! defined (YYLTYPE_IS_DECLARED)
|
||
|
typedef struct YYLTYPE
|
||
|
{
|
||
|
int first_line;
|
||
|
int first_column;
|
||
|
int last_line;
|
||
|
int last_column;
|
||
|
} YYLTYPE;
|
||
|
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
|
||
|
# define YYLTYPE_IS_DECLARED 1
|
||
|
# define YYLTYPE_IS_TRIVIAL 1
|
||
|
#endif
|
||
|
|
||
|
extern YYLTYPE kjsyylloc;
|
||
|
|
||
|
|