File indexing completed on 2024-05-12 15:43:22

0001 /* A Bison parser, made by GNU Bison 2.7.  */
0002 
0003 /* Bison interface for Yacc-like parsers in C
0004 
0005       Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
0006 
0007    This program is free software: you can redistribute it and/or modify
0008    it under the terms of the GNU General Public License as published by
0009    the Free Software Foundation, either version 3 of the License, or
0010    (at your option) any later version.
0011 
0012    This program is distributed in the hope that it will be useful,
0013    but WITHOUT ANY WARRANTY; without even the implied warranty of
0014    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0015    GNU General Public License for more details.
0016 
0017    You should have received a copy of the GNU General Public License
0018    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
0019 
0020 /* As a special exception, you may create a larger work that contains
0021    part or all of the Bison parser skeleton and distribute that work
0022    under terms of your choice, so long as that work isn't itself a
0023    parser generator using the skeleton or a modified version thereof
0024    as a parser skeleton.  Alternatively, if you modify or redistribute
0025    the parser skeleton itself, you may (at your option) remove this
0026    special exception, which will cause the skeleton and the resulting
0027    Bison output files to be licensed under the GNU General Public
0028    License without this special exception.
0029 
0030    This special exception was added by the Free Software Foundation in
0031    version 2.2 of Bison.  */
0032 
0033 #ifndef YY_KJSYY_GRAMMAR_H_INCLUDED
0034 # define YY_KJSYY_GRAMMAR_H_INCLUDED
0035 /* Enabling traces.  */
0036 #ifndef YYDEBUG
0037 # define YYDEBUG 0
0038 #endif
0039 #if YYDEBUG
0040 extern int kjsyydebug;
0041 #endif
0042 
0043 /* Tokens.  */
0044 #ifndef YYTOKENTYPE
0045 # define YYTOKENTYPE
0046 /* Put the tokens into the symbol table, so that GDB and other debuggers
0047    know about them.  */
0048 enum yytokentype {
0049     NULLTOKEN = 258,
0050     TRUETOKEN = 259,
0051     FALSETOKEN = 260,
0052     BREAK = 261,
0053     CASE = 262,
0054     DEFAULT = 263,
0055     FOR = 264,
0056     NEW = 265,
0057     VAR = 266,
0058     CONSTTOKEN = 267,
0059     CONTINUE = 268,
0060     FUNCTION = 269,
0061     RETURN = 270,
0062     VOIDTOKEN = 271,
0063     DELETETOKEN = 272,
0064     IF = 273,
0065     THISTOKEN = 274,
0066     DO = 275,
0067     WHILE = 276,
0068     INTOKEN = 277,
0069     INSTANCEOF = 278,
0070     TYPEOF = 279,
0071     SWITCH = 280,
0072     WITH = 281,
0073     RESERVED = 282,
0074     THROW = 283,
0075     TRY = 284,
0076     CATCH = 285,
0077     FINALLY = 286,
0078     DEBUGGER = 287,
0079     IMPORT = 288,
0080     IF_WITHOUT_ELSE = 289,
0081     ELSE = 290,
0082     EQEQ = 291,
0083     NE = 292,
0084     STREQ = 293,
0085     STRNEQ = 294,
0086     LE = 295,
0087     GE = 296,
0088     OR = 297,
0089     AND = 298,
0090     PLUSPLUS = 299,
0091     MINUSMINUS = 300,
0092     LSHIFT = 301,
0093     RSHIFT = 302,
0094     URSHIFT = 303,
0095     T_EXP = 304,
0096     PLUSEQUAL = 305,
0097     MINUSEQUAL = 306,
0098     MULTEQUAL = 307,
0099     DIVEQUAL = 308,
0100     EXPEQUAL = 309,
0101     LSHIFTEQUAL = 310,
0102     RSHIFTEQUAL = 311,
0103     URSHIFTEQUAL = 312,
0104     ANDEQUAL = 313,
0105     MODEQUAL = 314,
0106     XOREQUAL = 315,
0107     OREQUAL = 316,
0108     NUMBER = 317,
0109     STRING = 318,
0110     IDENT = 319,
0111     AUTOPLUSPLUS = 320,
0112     AUTOMINUSMINUS = 321
0113 };
0114 #endif
0115 
0116 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
0117 typedef union YYSTYPE {
0118     /* Line 2058 of yacc.c  */
0119 #line 63 "grammar.y"
0120 
0121     int                 ival;
0122     double              dval;
0123     UString             *ustr;
0124     Identifier          *ident;
0125     Node                *node;
0126     StatementNode       *stat;
0127     ParameterNode       *param;
0128     FunctionBodyNode    *body;
0129     FuncDeclNode        *func;
0130     FuncExprNode        *funcExpr;
0131     ProgramNode         *prog;
0132     AssignExprNode      *init;
0133     SourceElementsNode  *srcs;
0134     ArgumentsNode       *args;
0135     ArgumentListNode    *alist;
0136     VarDeclNode         *decl;
0137     VarDeclListNode     *vlist;
0138     CaseBlockNode       *cblk;
0139     ClauseListNode      *clist;
0140     CaseClauseNode      *ccl;
0141     ElementNode         *elm;
0142     Operator            op;
0143     PropertyListNode   *plist;
0144     PropertyNode       *pnode;
0145     PropertyNameNode   *pname;
0146     PackageNameNode     *pkgn;
0147 
0148     /* Line 2058 of yacc.c  */
0149 #line 153 "grammar.h"
0150 } YYSTYPE;
0151 # define YYSTYPE_IS_TRIVIAL 1
0152 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
0153 # define YYSTYPE_IS_DECLARED 1
0154 #endif
0155 
0156 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
0157 typedef struct YYLTYPE {
0158     int first_line;
0159     int first_column;
0160     int last_line;
0161     int last_column;
0162 } YYLTYPE;
0163 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
0164 # define YYLTYPE_IS_DECLARED 1
0165 # define YYLTYPE_IS_TRIVIAL 1
0166 #endif
0167 
0168 extern YYSTYPE kjsyylval;
0169 extern YYLTYPE kjsyylloc;
0170 #ifdef YYPARSE_PARAM
0171 #if defined __STDC__ || defined __cplusplus
0172 int kjsyyparse(void *YYPARSE_PARAM);
0173 #else
0174 int kjsyyparse();
0175 #endif
0176 #else /* ! YYPARSE_PARAM */
0177 #if defined __STDC__ || defined __cplusplus
0178 int kjsyyparse(void);
0179 #else
0180 int kjsyyparse();
0181 #endif
0182 #endif /* ! YYPARSE_PARAM */
0183 
0184 #endif /* !YY_KJSYY_GRAMMAR_H_INCLUDED  */