Ruby 2.7.0p0(2019-12-25revision647ee6f091eafcce70ffb75ddf7e121e192ab217)

parse.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015 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 #ifndef YY_YY_Y_TAB_H_INCLUDED
34 # define YY_YY_Y_TAB_H_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int yydebug;
41 #endif
42
43 /* Token type. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46 enum yytokentype
47 {
48 END_OF_INPUT = 0,
49 keyword_class = 258,
50 keyword_module = 259,
51 keyword_def = 260,
52 keyword_undef = 261,
53 keyword_begin = 262,
54 keyword_rescue = 263,
55 keyword_ensure = 264,
56 keyword_end = 265,
57 keyword_if = 266,
58 keyword_unless = 267,
59 keyword_then = 268,
60 keyword_elsif = 269,
61 keyword_else = 270,
62 keyword_case = 271,
63 keyword_when = 272,
64 keyword_while = 273,
65 keyword_until = 274,
66 keyword_for = 275,
67 keyword_break = 276,
68 keyword_next = 277,
69 keyword_redo = 278,
70 keyword_retry = 279,
71 keyword_in = 280,
72 keyword_do = 281,
73 keyword_do_cond = 282,
74 keyword_do_block = 283,
75 keyword_do_LAMBDA = 284,
76 keyword_return = 285,
77 keyword_yield = 286,
78 keyword_super = 287,
79 keyword_self = 288,
80 keyword_nil = 289,
81 keyword_true = 290,
82 keyword_false = 291,
83 keyword_and = 292,
84 keyword_or = 293,
85 keyword_not = 294,
86 modifier_if = 295,
87 modifier_unless = 296,
88 modifier_while = 297,
89 modifier_until = 298,
90 modifier_rescue = 299,
91 keyword_alias = 300,
92 keyword_defined = 301,
93 keyword_BEGIN = 302,
94 keyword_END = 303,
95 keyword__LINE__ = 304,
96 keyword__FILE__ = 305,
97 keyword__ENCODING__ = 306,
98 tIDENTIFIER = 307,
99 tFID = 308,
100 tGVAR = 309,
101 tIVAR = 310,
102 tCONSTANT = 311,
103 tCVAR = 312,
104 tLABEL = 313,
105 tINTEGER = 314,
106 tFLOAT = 315,
107 tRATIONAL = 316,
108 tIMAGINARY = 317,
109 tCHAR = 318,
110 tNTH_REF = 319,
111 tBACK_REF = 320,
112 tSTRING_CONTENT = 321,
113 tREGEXP_END = 322,
114 tSP = 323,
115 tUPLUS = 132,
116 tUMINUS = 133,
117 tPOW = 134,
118 tCMP = 135,
119 tEQ = 140,
120 tEQQ = 141,
121 tNEQ = 142,
122 tGEQ = 139,
123 tLEQ = 138,
124 tANDOP = 148,
125 tOROP = 149,
126 tMATCH = 143,
127 tNMATCH = 144,
128 tDOT2 = 128,
129 tDOT3 = 129,
130 tBDOT2 = 130,
131 tBDOT3 = 131,
132 tAREF = 145,
133 tASET = 146,
134 tLSHFT = 136,
135 tRSHFT = 137,
136 tANDDOT = 150,
137 tCOLON2 = 147,
138 tCOLON3 = 324,
139 tOP_ASGN = 325,
140 tASSOC = 326,
141 tLPAREN = 327,
142 tLPAREN_ARG = 328,
143 tRPAREN = 329,
144 tLBRACK = 330,
145 tLBRACE = 331,
146 tLBRACE_ARG = 332,
147 tSTAR = 333,
148 tDSTAR = 334,
149 tAMPER = 335,
150 tLAMBDA = 336,
151 tSYMBEG = 337,
152 tSTRING_BEG = 338,
153 tXSTRING_BEG = 339,
154 tREGEXP_BEG = 340,
155 tWORDS_BEG = 341,
156 tQWORDS_BEG = 342,
157 tSYMBOLS_BEG = 343,
158 tQSYMBOLS_BEG = 344,
159 tSTRING_END = 345,
160 tSTRING_DEND = 346,
161 tSTRING_DBEG = 347,
162 tSTRING_DVAR = 348,
163 tLAMBEG = 349,
164 tLABEL_END = 350,
165 tLOWEST = 351,
166 tUMINUS_NUM = 352,
167 tLAST_TOKEN = 353
168 };
169 #endif
170
171 /* Value type. */
172 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
173
174 union YYSTYPE
175 {
176
177 VALUE val;
178 NODE *node;
179 ID id;
180 int num;
181 st_table *tbl;
182 const struct vtable *vars;
183 struct rb_strterm_struct *strterm;
184
185 };
186
187 typedef union YYSTYPE YYSTYPE;
188 # define YYSTYPE_IS_TRIVIAL 1
189 # define YYSTYPE_IS_DECLARED 1
190 #endif
191
192 /* Location type. */
193 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
194 typedef struct YYLTYPE YYLTYPE;
195 struct YYLTYPE
196 {
197 int first_line;
198 int first_column;
199 int last_line;
200 int last_column;
201 };
202 # define YYLTYPE_IS_DECLARED 1
203 # define YYLTYPE_IS_TRIVIAL 1
204 #endif
205
206
207
208 int yyparse (struct parser_params *p);
209
210 #endif /* !YY_YY_Y_TAB_H_INCLUDED */
tUPLUS
@ tUPLUS
Definition: parse.h:115
ID
unsigned long ID
Definition: ruby.h:103
keyword_defined
@ keyword_defined
Definition: parse.h:92
tSTRING_CONTENT
@ tSTRING_CONTENT
Definition: parse.h:112
tEQ
@ tEQ
Definition: parse.h:119
tCONSTANT
@ tCONSTANT
Definition: parse.h:102
keyword_class
@ keyword_class
Definition: parse.h:49
YYSTYPE::tbl
st_table * tbl
Definition: parse.h:181
tNMATCH
@ tNMATCH
Definition: parse.h:127
keyword_self
@ keyword_self
Definition: parse.h:79
tLAMBDA
@ tLAMBDA
Definition: parse.h:150
tSTRING_BEG
@ tSTRING_BEG
Definition: parse.h:152
tLAMBEG
@ tLAMBEG
Definition: parse.h:163
keyword_next
@ keyword_next
Definition: parse.h:68
keyword_if
@ keyword_if
Definition: parse.h:57
tLBRACK
@ tLBRACK
Definition: parse.h:144
keyword_do_cond
@ keyword_do_cond
Definition: parse.h:73
tLAST_TOKEN
@ tLAST_TOKEN
Definition: parse.h:167
keyword_module
@ keyword_module
Definition: parse.h:50
tLPAREN
@ tLPAREN
Definition: parse.h:141
keyword_false
@ keyword_false
Definition: parse.h:82
keyword_not
@ keyword_not
Definition: parse.h:85
keyword_alias
@ keyword_alias
Definition: parse.h:91
tNTH_REF
@ tNTH_REF
Definition: parse.h:110
tANDDOT
@ tANDDOT
Definition: parse.h:136
VALUE
unsigned long VALUE
Definition: ruby.h:102
tAMPER
@ tAMPER
Definition: parse.h:149
tSTRING_END
@ tSTRING_END
Definition: parse.h:159
modifier_rescue
@ modifier_rescue
Definition: parse.h:90
tLABEL_END
@ tLABEL_END
Definition: parse.h:164
tASSOC
@ tASSOC
Definition: parse.h:140
keyword_begin
@ keyword_begin
Definition: parse.h:53
tCOLON2
@ tCOLON2
Definition: parse.h:137
YYSTYPE::vars
const struct vtable * vars
Definition: parse.h:182
tIVAR
@ tIVAR
Definition: parse.h:101
tASET
@ tASET
Definition: parse.h:133
yyparse
int yyparse(struct parser_params *p)
Definition: ripper.c:5636
yytokentype
yytokentype
Definition: parse.h:46
keyword_do_block
@ keyword_do_block
Definition: parse.h:74
modifier_while
@ modifier_while
Definition: parse.h:88
tGEQ
@ tGEQ
Definition: parse.h:122
keyword_when
@ keyword_when
Definition: parse.h:63
tSYMBOLS_BEG
@ tSYMBOLS_BEG
Definition: parse.h:157
tSYMBEG
@ tSYMBEG
Definition: parse.h:151
tXSTRING_BEG
@ tXSTRING_BEG
Definition: parse.h:153
tRSHFT
@ tRSHFT
Definition: parse.h:135
tLEQ
@ tLEQ
Definition: parse.h:123
tOROP
@ tOROP
Definition: parse.h:125
tWORDS_BEG
@ tWORDS_BEG
Definition: parse.h:155
tBDOT2
@ tBDOT2
Definition: parse.h:130
tCMP
@ tCMP
Definition: parse.h:118
keyword_do_LAMBDA
@ keyword_do_LAMBDA
Definition: parse.h:75
keyword_def
@ keyword_def
Definition: parse.h:51
YYSTYPE
Definition: parse.h:174
keyword_ensure
@ keyword_ensure
Definition: parse.h:55
keyword_rescue
@ keyword_rescue
Definition: parse.h:54
keyword_redo
@ keyword_redo
Definition: parse.h:69
tGVAR
@ tGVAR
Definition: parse.h:100
tCOLON3
@ tCOLON3
Definition: parse.h:138
YYSTYPE::val
VALUE val
Definition: parse.h:177
keyword__LINE__
@ keyword__LINE__
Definition: parse.h:95
keyword_unless
@ keyword_unless
Definition: parse.h:58
tFID
@ tFID
Definition: parse.h:99
YYSTYPE::strterm
struct rb_strterm_struct * strterm
Definition: parse.h:183
tLABEL
@ tLABEL
Definition: parse.h:104
tFLOAT
@ tFLOAT
Definition: parse.h:106
keyword_true
@ keyword_true
Definition: parse.h:81
tREGEXP_BEG
@ tREGEXP_BEG
Definition: parse.h:154
tQSYMBOLS_BEG
@ tQSYMBOLS_BEG
Definition: parse.h:158
tIMAGINARY
@ tIMAGINARY
Definition: parse.h:108
keyword_END
@ keyword_END
Definition: parse.h:94
tREGEXP_END
@ tREGEXP_END
Definition: parse.h:113
tSTRING_DEND
@ tSTRING_DEND
Definition: parse.h:160
tLBRACE_ARG
@ tLBRACE_ARG
Definition: parse.h:146
keyword_else
@ keyword_else
Definition: parse.h:61
vtable
Definition: ripper.c:207
keyword_retry
@ keyword_retry
Definition: parse.h:70
keyword__FILE__
@ keyword__FILE__
Definition: parse.h:96
tCHAR
@ tCHAR
Definition: parse.h:109
tPOW
@ tPOW
Definition: parse.h:117
tANDOP
@ tANDOP
Definition: parse.h:124
YYLTYPE
Definition: parse.h:195
keyword_then
@ keyword_then
Definition: parse.h:59
tLSHFT
@ tLSHFT
Definition: parse.h:134
tOP_ASGN
@ tOP_ASGN
Definition: parse.h:139
END_OF_INPUT
@ END_OF_INPUT
Definition: parse.h:48
YYSTYPE::num
int num
Definition: parse.h:180
keyword_end
@ keyword_end
Definition: parse.h:56
tRATIONAL
@ tRATIONAL
Definition: parse.h:107
YYLTYPE::last_column
int last_column
Definition: parse.h:200
YYLTYPE::last_line
int last_line
Definition: parse.h:199
modifier_unless
@ modifier_unless
Definition: parse.h:87
keyword_while
@ keyword_while
Definition: parse.h:64
tLPAREN_ARG
@ tLPAREN_ARG
Definition: parse.h:142
tDSTAR
@ tDSTAR
Definition: parse.h:148
keyword_super
@ keyword_super
Definition: parse.h:78
keyword_BEGIN
@ keyword_BEGIN
Definition: parse.h:93
tSTRING_DBEG
@ tSTRING_DBEG
Definition: parse.h:161
keyword_and
@ keyword_and
Definition: parse.h:83
yydebug
#define yydebug
Definition: ripper.c:96
keyword_return
@ keyword_return
Definition: parse.h:76
tSP
@ tSP
Definition: parse.h:114
keyword_do
@ keyword_do
Definition: parse.h:72
tEQQ
@ tEQQ
Definition: parse.h:120
keyword_undef
@ keyword_undef
Definition: parse.h:52
keyword_until
@ keyword_until
Definition: parse.h:65
keyword_for
@ keyword_for
Definition: parse.h:66
keyword_or
@ keyword_or
Definition: parse.h:84
rb_strterm_struct
Definition: ripper.c:755
keyword_in
@ keyword_in
Definition: parse.h:71
tBACK_REF
@ tBACK_REF
Definition: parse.h:111
tSTRING_DVAR
@ tSTRING_DVAR
Definition: parse.h:162
YYSTYPE::id
ID id
Definition: parse.h:179
tUMINUS_NUM
@ tUMINUS_NUM
Definition: parse.h:166
tNEQ
@ tNEQ
Definition: parse.h:121
tDOT2
@ tDOT2
Definition: parse.h:128
YYLTYPE::first_column
int first_column
Definition: parse.h:198
tDOT3
@ tDOT3
Definition: parse.h:129
tLBRACE
@ tLBRACE
Definition: parse.h:145
YYLTYPE::first_line
int first_line
Definition: parse.h:197
modifier_until
@ modifier_until
Definition: parse.h:89
tBDOT3
@ tBDOT3
Definition: parse.h:131
tCVAR
@ tCVAR
Definition: parse.h:103
parser_params
Definition: ripper.c:270
tSTAR
@ tSTAR
Definition: parse.h:147
keyword_case
@ keyword_case
Definition: parse.h:62
YYSTYPE::node
NODE * node
Definition: parse.h:178
keyword_break
@ keyword_break
Definition: parse.h:67
tQWORDS_BEG
@ tQWORDS_BEG
Definition: parse.h:156
keyword__ENCODING__
@ keyword__ENCODING__
Definition: parse.h:97
keyword_yield
@ keyword_yield
Definition: parse.h:77
keyword_nil
@ keyword_nil
Definition: parse.h:80
tMATCH
@ tMATCH
Definition: parse.h:126
tIDENTIFIER
@ tIDENTIFIER
Definition: parse.h:98
tAREF
@ tAREF
Definition: parse.h:132
modifier_if
@ modifier_if
Definition: parse.h:86
st_table
Definition: st.h:79
tRPAREN
@ tRPAREN
Definition: parse.h:143
tINTEGER
@ tINTEGER
Definition: parse.h:105
keyword_elsif
@ keyword_elsif
Definition: parse.h:60
RNode
Definition: node.h:149
tUMINUS
@ tUMINUS
Definition: parse.h:116
tLOWEST
@ tLOWEST
Definition: parse.h:165