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