1 2 /* A Bison parser, made by GNU Bison 2.4.1. */ 3 4 /* Skeleton interface for Bison's Yacc-like parsers in C 5 6 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 7 Free Software Foundation, Inc. 8 9 This program is free software: you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation, either version 3 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21 22 /* As a special exception, you may create a larger work that contains 23 part or all of the Bison parser skeleton and distribute that work 24 under terms of your choice, so long as that work isn't itself a 25 parser generator using the skeleton or a modified version thereof 26 as a parser skeleton. Alternatively, if you modify or redistribute 27 the parser skeleton itself, you may (at your option) remove this 28 special exception, which will cause the skeleton and the resulting 29 Bison output files to be licensed under the GNU General Public 30 License without this special exception. 31 32 This special exception was added by the Free Software Foundation in 33 version 2.2 of Bison. */ 34 35 36 /* Tokens. */ 37 #ifndef YYTOKENTYPE 38 # define YYTOKENTYPE 39 /* Put the tokens into the symbol table, so that GDB and other debuggers 40 know about them. */ 41 enum yytokentype { 42 NULLTOKEN = 258, 43 TRUETOKEN = 259, 44 FALSETOKEN = 260, 45 BREAK = 261, 46 CASE = 262, 47 DEFAULT = 263, 48 FOR = 264, 49 NEW = 265, 50 VAR = 266, 51 CONSTTOKEN = 267, 52 CONTINUE = 268, 53 FUNCTION = 269, 54 RETURN = 270, 55 VOIDTOKEN = 271, 56 DELETETOKEN = 272, 57 IF = 273, 58 THISTOKEN = 274, 59 DO = 275, 60 WHILE = 276, 61 INTOKEN = 277, 62 INSTANCEOF = 278, 63 TYPEOF = 279, 64 SWITCH = 280, 65 WITH = 281, 66 RESERVED = 282, 67 THROW = 283, 68 TRY = 284, 69 CATCH = 285, 70 FINALLY = 286, 71 DEBUGGER = 287, 72 IF_WITHOUT_ELSE = 288, 73 ELSE = 289, 74 EQEQ = 290, 75 NE = 291, 76 STREQ = 292, 77 STRNEQ = 293, 78 LE = 294, 79 GE = 295, 80 OR = 296, 81 AND = 297, 82 PLUSPLUS = 298, 83 MINUSMINUS = 299, 84 LSHIFT = 300, 85 RSHIFT = 301, 86 URSHIFT = 302, 87 PLUSEQUAL = 303, 88 MINUSEQUAL = 304, 89 MULTEQUAL = 305, 90 DIVEQUAL = 306, 91 LSHIFTEQUAL = 307, 92 RSHIFTEQUAL = 308, 93 URSHIFTEQUAL = 309, 94 ANDEQUAL = 310, 95 MODEQUAL = 311, 96 XOREQUAL = 312, 97 OREQUAL = 313, 98 OPENBRACE = 314, 99 CLOSEBRACE = 315, 100 NUMBER = 316, 101 IDENT = 317, 102 STRING = 318, 103 AUTOPLUSPLUS = 319, 104 AUTOMINUSMINUS = 320 105 }; 106 #endif 107 108 109 110 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 111 typedef union YYSTYPE 112 { 113 114 /* Line 1676 of yacc.c */ 115 #line 146 "parser/Grammar.y" 116 117 int intValue; 118 double doubleValue; 119 const Identifier* ident; 120 121 // expression subtrees 122 ExpressionNodeInfo expressionNode; 123 FuncDeclNodeInfo funcDeclNode; 124 PropertyNodeInfo propertyNode; 125 ArgumentsNodeInfo argumentsNode; 126 ConstDeclNodeInfo constDeclNode; 127 CaseBlockNodeInfo caseBlockNode; 128 CaseClauseNodeInfo caseClauseNode; 129 FuncExprNodeInfo funcExprNode; 130 131 // statement nodes 132 StatementNodeInfo statementNode; 133 FunctionBodyNode* functionBodyNode; 134 ProgramNode* programNode; 135 136 SourceElementsInfo sourceElements; 137 PropertyListInfo propertyList; 138 ArgumentListInfo argumentList; 139 VarDeclListInfo varDeclList; 140 ConstDeclListInfo constDeclList; 141 ClauseListInfo clauseList; 142 ElementListInfo elementList; 143 ParameterListInfo parameterList; 144 145 Operator op; 146 147 148 149 /* Line 1676 of yacc.c */ 150 #line 151 "generated/Grammar.tab.h" 151 } YYSTYPE; 152 # define YYSTYPE_IS_TRIVIAL 1 153 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 154 # define YYSTYPE_IS_DECLARED 1 155 #endif 156 157 158 159 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 160 typedef struct YYLTYPE 161 { 162 int first_line; 163 int first_column; 164 int last_line; 165 int last_column; 166 } YYLTYPE; 167 # define yyltype YYLTYPE /* obsolescent; will be withdrawn */ 168 # define YYLTYPE_IS_DECLARED 1 169 # define YYLTYPE_IS_TRIVIAL 1 170 #endif 171 172 173 174