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