1/* A Bison parser, made by GNU Bison 2.5.  */
2
3/* Bison interface for Yacc-like parsers in C
4
5      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6
7   This program is free software: you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20/* As a special exception, you may create a larger work that contains
21   part or all of the Bison parser skeleton and distribute that work
22   under terms of your choice, so long as that work isn't itself a
23   parser generator using the skeleton or a modified version thereof
24   as a parser skeleton.  Alternatively, if you modify or redistribute
25   the parser skeleton itself, you may (at your option) remove this
26   special exception, which will cause the skeleton and the resulting
27   Bison output files to be licensed under the GNU General Public
28   License without this special exception.
29
30   This special exception was added by the Free Software Foundation in
31   version 2.2 of Bison.  */
32
33/* Apple Note: For the avoidance of doubt, Apple elects to distribute this file under the terms of the BSD license. */
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     END_OF_INPUT = 0,
43     keyword_class = 258,
44     keyword_module = 259,
45     keyword_def = 260,
46     keyword_undef = 261,
47     keyword_begin = 262,
48     keyword_rescue = 263,
49     keyword_ensure = 264,
50     keyword_end = 265,
51     keyword_if = 266,
52     keyword_unless = 267,
53     keyword_then = 268,
54     keyword_elsif = 269,
55     keyword_else = 270,
56     keyword_case = 271,
57     keyword_when = 272,
58     keyword_while = 273,
59     keyword_until = 274,
60     keyword_for = 275,
61     keyword_break = 276,
62     keyword_next = 277,
63     keyword_redo = 278,
64     keyword_retry = 279,
65     keyword_in = 280,
66     keyword_do = 281,
67     keyword_do_cond = 282,
68     keyword_do_block = 283,
69     keyword_do_LAMBDA = 284,
70     keyword_return = 285,
71     keyword_yield = 286,
72     keyword_super = 287,
73     keyword_self = 288,
74     keyword_nil = 289,
75     keyword_true = 290,
76     keyword_false = 291,
77     keyword_and = 292,
78     keyword_or = 293,
79     keyword_not = 294,
80     modifier_if = 295,
81     modifier_unless = 296,
82     modifier_while = 297,
83     modifier_until = 298,
84     modifier_rescue = 299,
85     keyword_alias = 300,
86     keyword_defined = 301,
87     keyword_BEGIN = 302,
88     keyword_END = 303,
89     keyword__LINE__ = 304,
90     keyword__FILE__ = 305,
91     keyword__ENCODING__ = 306,
92     tIDENTIFIER = 307,
93     tFID = 308,
94     tGVAR = 309,
95     tIVAR = 310,
96     tCONSTANT = 311,
97     tCVAR = 312,
98     tLABEL = 313,
99     tINTEGER = 314,
100     tFLOAT = 315,
101     tSTRING_CONTENT = 316,
102     tCHAR = 317,
103     tNTH_REF = 318,
104     tBACK_REF = 319,
105     tREGEXP_END = 320,
106     tUPLUS = 130,
107     tUMINUS = 131,
108     tPOW = 132,
109     tCMP = 134,
110     tEQ = 139,
111     tEQQ = 140,
112     tNEQ = 141,
113     tGEQ = 138,
114     tLEQ = 137,
115     tANDOP = 321,
116     tOROP = 322,
117     tMATCH = 142,
118     tNMATCH = 143,
119     tDOT2 = 128,
120     tDOT3 = 129,
121     tAREF = 144,
122     tASET = 145,
123     tLSHFT = 135,
124     tRSHFT = 136,
125     tCOLON2 = 323,
126     tCOLON3 = 324,
127     tOP_ASGN = 325,
128     tASSOC = 326,
129     tLPAREN = 327,
130     tLPAREN_ARG = 328,
131     tRPAREN = 329,
132     tLBRACK = 330,
133     tLBRACE = 331,
134     tLBRACE_ARG = 332,
135     tSTAR = 333,
136     tDSTAR = 334,
137     tAMPER = 335,
138     tLAMBDA = 336,
139     tSYMBEG = 337,
140     tSTRING_BEG = 338,
141     tXSTRING_BEG = 339,
142     tREGEXP_BEG = 340,
143     tWORDS_BEG = 341,
144     tQWORDS_BEG = 342,
145     tSYMBOLS_BEG = 343,
146     tQSYMBOLS_BEG = 344,
147     tSTRING_DBEG = 345,
148     tSTRING_DEND = 346,
149     tSTRING_DVAR = 347,
150     tSTRING_END = 348,
151     tLAMBEG = 349,
152     tLOWEST = 350,
153     tUMINUS_NUM = 351,
154     tLAST_TOKEN = 352
155   };
156#endif
157
158
159
160#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
161typedef union YYSTYPE
162{
163
164/* Line 2068 of yacc.c  */
165
166    VALUE val;
167    NODE *node;
168    ID id;
169    int num;
170    const struct vtable *vars;
171
172
173
174/* Line 2068 of yacc.c  */
175} YYSTYPE;
176# define YYSTYPE_IS_TRIVIAL 1
177# define yystype YYSTYPE /* obsolescent; will be withdrawn */
178# define YYSTYPE_IS_DECLARED 1
179#endif
180
181
182
183
184