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 */