Ruby  2.7.1p83(2020-03-31revisiona0c7c23c9cec0d0ffcba012279cd652d28ad5bf3)
eventids2.c
Go to the documentation of this file.
1 enum {
10 };
11 
12 typedef struct {
54 
66 
67 static ripper_scanner_ids_t ripper_scanner_ids;
68 
69 #include "eventids2table.c"
70 
71 static void
72 ripper_init_eventids2(void)
73 {
74 #define set_id2(name) ripper_scanner_ids.ripper_id_##name = rb_intern_const("on_"#name)
75  set_id2(backref);
76  set_id2(backtick);
77  set_id2(comma);
78  set_id2(const);
79  set_id2(cvar);
80  set_id2(embexpr_beg);
81  set_id2(embexpr_end);
82  set_id2(embvar);
83  set_id2(float);
84  set_id2(gvar);
85  set_id2(ident);
86  set_id2(imaginary);
87  set_id2(int);
88  set_id2(ivar);
89  set_id2(kw);
90  set_id2(lbrace);
91  set_id2(lbracket);
92  set_id2(lparen);
93  set_id2(nl);
94  set_id2(op);
95  set_id2(period);
96  set_id2(rbrace);
97  set_id2(rbracket);
98  set_id2(rparen);
99  set_id2(semicolon);
100  set_id2(symbeg);
101  set_id2(tstring_beg);
102  set_id2(tstring_content);
103  set_id2(tstring_end);
104  set_id2(words_beg);
105  set_id2(qwords_beg);
106  set_id2(qsymbols_beg);
107  set_id2(symbols_beg);
108  set_id2(words_sep);
109  set_id2(rational);
110  set_id2(regexp_beg);
111  set_id2(regexp_end);
112  set_id2(label);
113  set_id2(label_end);
114  set_id2(tlambda);
115  set_id2(tlambeg);
116 
117  set_id2(ignored_nl);
118  set_id2(comment);
119  set_id2(embdoc_beg);
120  set_id2(embdoc);
121  set_id2(embdoc_end);
122  set_id2(sp);
123  set_id2(heredoc_beg);
124  set_id2(heredoc_end);
125  set_id2(__end__);
126  set_id2(CHAR);
127 }
128 
129 STATIC_ASSERT(k__END___range, k__END__ < SHRT_MAX);
130 STATIC_ASSERT(ripper_scanner_ids_size, sizeof(ripper_scanner_ids) < SHRT_MAX);
131 
132 static ID
133 ripper_token2eventid(enum yytokentype tok)
134 {
135 #define O(member) (int)offsetof(ripper_scanner_ids_t, ripper_id_##member)+1
136  static const unsigned short offsets[] = {
137  [' '] = O(words_sep),
138  ['!'] = O(op),
139  ['%'] = O(op),
140  ['&'] = O(op),
141  ['*'] = O(op),
142  ['+'] = O(op),
143  ['-'] = O(op),
144  ['/'] = O(op),
145  ['<'] = O(op),
146  ['='] = O(op),
147  ['>'] = O(op),
148  ['?'] = O(op),
149  ['^'] = O(op),
150  ['|'] = O(op),
151  ['~'] = O(op),
152  [':'] = O(op),
153  [','] = O(comma),
154  ['.'] = O(period),
155  [';'] = O(semicolon),
156  ['`'] = O(backtick),
157  ['\n'] = O(nl),
158  [keyword_alias] = O(kw),
159  [keyword_and] = O(kw),
160  [keyword_begin] = O(kw),
161  [keyword_break] = O(kw),
162  [keyword_case] = O(kw),
163  [keyword_class] = O(kw),
164  [keyword_def] = O(kw),
165  [keyword_defined] = O(kw),
166  [keyword_do] = O(kw),
167  [keyword_do_block] = O(kw),
168  [keyword_do_cond] = O(kw),
169  [keyword_else] = O(kw),
170  [keyword_elsif] = O(kw),
171  [keyword_end] = O(kw),
172  [keyword_ensure] = O(kw),
173  [keyword_false] = O(kw),
174  [keyword_for] = O(kw),
175  [keyword_if] = O(kw),
176  [modifier_if] = O(kw),
177  [keyword_in] = O(kw),
178  [keyword_module] = O(kw),
179  [keyword_next] = O(kw),
180  [keyword_nil] = O(kw),
181  [keyword_not] = O(kw),
182  [keyword_or] = O(kw),
183  [keyword_redo] = O(kw),
184  [keyword_rescue] = O(kw),
185  [modifier_rescue] = O(kw),
186  [keyword_retry] = O(kw),
187  [keyword_return] = O(kw),
188  [keyword_self] = O(kw),
189  [keyword_super] = O(kw),
190  [keyword_then] = O(kw),
191  [keyword_true] = O(kw),
192  [keyword_undef] = O(kw),
193  [keyword_unless] = O(kw),
194  [modifier_unless] = O(kw),
195  [keyword_until] = O(kw),
196  [modifier_until] = O(kw),
197  [keyword_when] = O(kw),
198  [keyword_while] = O(kw),
199  [modifier_while] = O(kw),
200  [keyword_yield] = O(kw),
201  [keyword__FILE__] = O(kw),
202  [keyword__LINE__] = O(kw),
203  [keyword__ENCODING__] = O(kw),
204  [keyword_BEGIN] = O(kw),
205  [keyword_END] = O(kw),
206  [keyword_do_LAMBDA] = O(kw),
207  [tAMPER] = O(op),
208  [tANDOP] = O(op),
209  [tAREF] = O(op),
210  [tASET] = O(op),
211  [tASSOC] = O(op),
212  [tBACK_REF] = O(backref),
213  [tCHAR] = O(CHAR),
214  [tCMP] = O(op),
215  [tCOLON2] = O(op),
216  [tCOLON3] = O(op),
217  [tCONSTANT] = O(const),
218  [tCVAR] = O(cvar),
219  [tDOT2] = O(op),
220  [tDOT3] = O(op),
221  [tBDOT2] = O(op),
222  [tBDOT3] = O(op),
223  [tEQ] = O(op),
224  [tEQQ] = O(op),
225  [tFID] = O(ident),
226  [tFLOAT] = O(float),
227  [tGEQ] = O(op),
228  [tGVAR] = O(gvar),
229  [tIDENTIFIER] = O(ident),
230  [tIMAGINARY] = O(imaginary),
231  [tINTEGER] = O(int),
232  [tIVAR] = O(ivar),
233  [tLBRACE] = O(lbrace),
234  [tLBRACE_ARG] = O(lbrace),
235  ['{'] = O(lbrace),
236  ['}'] = O(rbrace),
237  [tLBRACK] = O(lbracket),
238  ['['] = O(lbracket),
239  [']'] = O(rbracket),
240  [tLEQ] = O(op),
241  [tLPAREN] = O(lparen),
242  [tLPAREN_ARG] = O(lparen),
243  ['('] = O(lparen),
244  [')'] = O(rparen),
245  [tLSHFT] = O(op),
246  [tMATCH] = O(op),
247  [tNEQ] = O(op),
248  [tNMATCH] = O(op),
249  [tNTH_REF] = O(backref),
250  [tOP_ASGN] = O(op),
251  [tOROP] = O(op),
252  [tPOW] = O(op),
253  [tQWORDS_BEG] = O(qwords_beg),
254  [tQSYMBOLS_BEG] = O(qsymbols_beg),
255  [tSYMBOLS_BEG] = O(symbols_beg),
256  [tRATIONAL] = O(rational),
257  [tREGEXP_BEG] = O(regexp_beg),
258  [tREGEXP_END] = O(regexp_end),
259  [tRPAREN] = O(rparen),
260  [tRSHFT] = O(op),
261  [tSTAR] = O(op),
262  [tDSTAR] = O(op),
263  [tANDDOT] = O(op),
264  [tSTRING_BEG] = O(tstring_beg),
265  [tSTRING_CONTENT] = O(tstring_content),
266  [tSTRING_DBEG] = O(embexpr_beg),
267  [tSTRING_DEND] = O(embexpr_end),
268  [tSTRING_DVAR] = O(embvar),
269  [tSTRING_END] = O(tstring_end),
270  [tSYMBEG] = O(symbeg),
271  [tUMINUS] = O(op),
272  [tUMINUS_NUM] = O(op),
273  [tUPLUS] = O(op),
274  [tWORDS_BEG] = O(words_beg),
275  [tXSTRING_BEG] = O(backtick),
276  [tLABEL] = O(label),
277  [tLABEL_END] = O(label_end),
278  [tLAMBDA] = O(tlambda),
279  [tLAMBEG] = O(tlambeg),
280 
281  /* ripper specific tokens */
282  [tIGNORED_NL] = O(ignored_nl),
283  [tCOMMENT] = O(comment),
284  [tEMBDOC_BEG] = O(embdoc_beg),
285  [tEMBDOC] = O(embdoc),
286  [tEMBDOC_END] = O(embdoc_end),
287  [tSP] = O(sp),
288  [tHEREDOC_BEG] = O(heredoc_beg),
289  [tHEREDOC_END] = O(heredoc_end),
290  [k__END__] = O(__end__),
291  };
292 #undef O
293 
294  int i = (int)tok;
295  if (i >= 0 && i < numberof(offsets) && (i = offsets[i]) > 0) {
296  return *(const ID *)((const char *)&ripper_scanner_ids-1+i);
297  }
298  /* 128..256 are used as operator tokens */
299  if (tok < 128) {
300  return ripper_scanner_ids.ripper_id_CHAR;
301  }
302  rb_raise(rb_eRuntimeError, "[Ripper FATAL] unknown token %d", tok);
303 
305 }
ripper_scanner_ids_t::ripper_id_int
ID ripper_id_int
Definition: eventids2.c:25
tCOMMENT
@ tCOMMENT
Definition: eventids2.c:3
tUPLUS
@ tUPLUS
Definition: parse.h:115
ripper_scanner_ids_t::ripper_id_lbrace
ID ripper_id_lbrace
Definition: eventids2.c:28
i
uint32_t i
Definition: rb_mjit_min_header-2.7.1.h:5425
ID
unsigned long ID
Definition: ruby.h:103
keyword_defined
@ keyword_defined
Definition: parse.h:92
ripper_scanner_ids_t::ripper_id_embexpr_beg
ID ripper_id_embexpr_beg
Definition: eventids2.c:18
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
ripper_scanner_ids_t::ripper_id_float
ID ripper_id_float
Definition: eventids2.c:21
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
ripper_scanner_ids_t::ripper_id_lbracket
ID ripper_id_lbracket
Definition: eventids2.c:29
tLAMBEG
@ tLAMBEG
Definition: parse.h:163
keyword_next
@ keyword_next
Definition: parse.h:68
keyword_if
@ keyword_if
Definition: parse.h:57
ripper_scanner_ids_t::ripper_id_semicolon
ID ripper_id_semicolon
Definition: eventids2.c:37
tEMBDOC
@ tEMBDOC
Definition: eventids2.c:5
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
ripper_scanner_ids_t::ripper_id_words_beg
ID ripper_id_words_beg
Definition: eventids2.c:42
tLPAREN
@ tLPAREN
Definition: parse.h:141
ripper_scanner_ids_t::ripper_id_sp
ID ripper_id_sp
Definition: eventids2.c:60
ripper_scanner_ids_t::ripper_id_label_end
ID ripper_id_label_end
Definition: eventids2.c:51
keyword_false
@ keyword_false
Definition: parse.h:82
ripper_scanner_ids_t::ripper_id_op
ID ripper_id_op
Definition: eventids2.c:32
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
ripper_scanner_ids_t::ripper_id_rbrace
ID ripper_id_rbrace
Definition: eventids2.c:34
ripper_scanner_ids_t::ripper_id_tstring_beg
ID ripper_id_tstring_beg
Definition: eventids2.c:39
ripper_scanner_ids_t::ripper_id_period
ID ripper_id_period
Definition: eventids2.c:33
tAMPER
@ tAMPER
Definition: parse.h:149
tSTRING_END
@ tSTRING_END
Definition: parse.h:159
tEMBDOC_END
@ tEMBDOC_END
Definition: eventids2.c:6
ripper_scanner_ids_t::ripper_id_embexpr_end
ID ripper_id_embexpr_end
Definition: eventids2.c:19
ripper_scanner_ids_t::ripper_id_tlambeg
ID ripper_id_tlambeg
Definition: eventids2.c:53
modifier_rescue
@ modifier_rescue
Definition: parse.h:90
tLABEL_END
@ tLABEL_END
Definition: parse.h:164
ripper_scanner_ids_t::ripper_id_rparen
ID ripper_id_rparen
Definition: eventids2.c:36
tASSOC
@ tASSOC
Definition: parse.h:140
keyword_begin
@ keyword_begin
Definition: parse.h:53
SHRT_MAX
#define SHRT_MAX
Definition: rb_mjit_min_header-2.7.1.h:4014
tCOLON2
@ tCOLON2
Definition: parse.h:137
tIVAR
@ tIVAR
Definition: parse.h:101
tASET
@ tASET
Definition: parse.h:133
yytokentype
yytokentype
Definition: parse.h:46
ripper_scanner_ids_t::ripper_id_gvar
ID ripper_id_gvar
Definition: eventids2.c:22
keyword_do_block
@ keyword_do_block
Definition: parse.h:74
modifier_while
@ modifier_while
Definition: parse.h:88
ripper_scanner_ids_t::ripper_id_qwords_beg
ID ripper_id_qwords_beg
Definition: eventids2.c:43
tGEQ
@ tGEQ
Definition: parse.h:122
keyword_when
@ keyword_when
Definition: parse.h:63
tSYMBEG
@ tSYMBEG
Definition: parse.h:151
tSYMBOLS_BEG
@ tSYMBOLS_BEG
Definition: parse.h:157
tXSTRING_BEG
@ tXSTRING_BEG
Definition: parse.h:153
ripper_scanner_ids_t::ripper_id_tlambda
ID ripper_id_tlambda
Definition: eventids2.c:52
eventids2table.c
ripper_scanner_ids_t::ripper_id_CHAR
ID ripper_id_CHAR
Definition: eventids2.c:64
tRSHFT
@ tRSHFT
Definition: parse.h:135
ripper_scanner_ids_t::ripper_id_tstring_end
ID ripper_id_tstring_end
Definition: eventids2.c:41
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
ripper_scanner_ids_t::ripper_id_backref
ID ripper_id_backref
Definition: eventids2.c:13
ripper_scanner_ids_t::ripper_id_ident
ID ripper_id_ident
Definition: eventids2.c:23
keyword_ensure
@ keyword_ensure
Definition: parse.h:55
keyword_rescue
@ keyword_rescue
Definition: parse.h:54
keyword_redo
@ keyword_redo
Definition: parse.h:69
rb_raise
void rb_raise(VALUE exc, const char *fmt,...)
Definition: error.c:2669
tGVAR
@ tGVAR
Definition: parse.h:100
tCOLON3
@ tCOLON3
Definition: parse.h:138
ripper_scanner_ids_t::ripper_id_rational
ID ripper_id_rational
Definition: eventids2.c:47
keyword__LINE__
@ keyword__LINE__
Definition: parse.h:95
keyword_unless
@ keyword_unless
Definition: parse.h:58
tEMBDOC_BEG
@ tEMBDOC_BEG
Definition: eventids2.c:4
tFID
@ tFID
Definition: parse.h:99
tIGNORED_NL
@ tIGNORED_NL
Definition: eventids2.c:2
tLABEL
@ tLABEL
Definition: parse.h:104
tFLOAT
@ tFLOAT
Definition: parse.h:106
ripper_scanner_ids_t::ripper_id_heredoc_end
ID ripper_id_heredoc_end
Definition: eventids2.c:62
keyword_true
@ keyword_true
Definition: parse.h:81
ripper_scanner_ids_t::ripper_id_rbracket
ID ripper_id_rbracket
Definition: eventids2.c:35
ripper_scanner_ids_t::ripper_id_symbeg
ID ripper_id_symbeg
Definition: eventids2.c:38
tHEREDOC_BEG
@ tHEREDOC_BEG
Definition: eventids2.c:7
tREGEXP_BEG
@ tREGEXP_BEG
Definition: parse.h:154
tQSYMBOLS_BEG
@ tQSYMBOLS_BEG
Definition: parse.h:158
ripper_scanner_ids_t::ripper_id_const
ID ripper_id_const
Definition: eventids2.c:16
tIMAGINARY
@ tIMAGINARY
Definition: parse.h:108
ripper_scanner_ids_t
Definition: eventids2.c:12
keyword_END
@ keyword_END
Definition: parse.h:94
ripper_scanner_ids_t::ripper_id_embdoc_end
ID ripper_id_embdoc_end
Definition: eventids2.c:59
tREGEXP_END
@ tREGEXP_END
Definition: parse.h:113
ripper_scanner_ids_t::ripper_id_comma
ID ripper_id_comma
Definition: eventids2.c:15
ripper_scanner_ids_t::ripper_id_qsymbols_beg
ID ripper_id_qsymbols_beg
Definition: eventids2.c:44
tSTRING_DEND
@ tSTRING_DEND
Definition: parse.h:160
tLBRACE_ARG
@ tLBRACE_ARG
Definition: parse.h:146
keyword_else
@ keyword_else
Definition: parse.h:61
keyword_retry
@ keyword_retry
Definition: parse.h:70
keyword__FILE__
@ keyword__FILE__
Definition: parse.h:96
tCHAR
@ tCHAR
Definition: parse.h:109
ripper_scanner_ids_t::ripper_id_ignored_nl
ID ripper_id_ignored_nl
Definition: eventids2.c:55
tPOW
@ tPOW
Definition: parse.h:117
tANDOP
@ tANDOP
Definition: parse.h:124
keyword_then
@ keyword_then
Definition: parse.h:59
tLSHFT
@ tLSHFT
Definition: parse.h:134
tOP_ASGN
@ tOP_ASGN
Definition: parse.h:139
rb_eRuntimeError
VALUE rb_eRuntimeError
Definition: error.c:920
keyword_end
@ keyword_end
Definition: parse.h:56
ripper_scanner_ids_t::ripper_id_words_sep
ID ripper_id_words_sep
Definition: eventids2.c:46
ripper_scanner_ids_t::ripper_id_heredoc_beg
ID ripper_id_heredoc_beg
Definition: eventids2.c:61
ripper_scanner_ids_t::ripper_id_embdoc_beg
ID ripper_id_embdoc_beg
Definition: eventids2.c:57
tRATIONAL
@ tRATIONAL
Definition: parse.h:107
tok
#define tok(p)
Definition: ripper.c:13089
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
ripper_scanner_ids_t::ripper_id_embvar
ID ripper_id_embvar
Definition: eventids2.c:20
ripper_scanner_ids_t::ripper_id_kw
ID ripper_id_kw
Definition: eventids2.c:27
ripper_scanner_ids_t::ripper_id_ivar
ID ripper_id_ivar
Definition: eventids2.c:26
keyword_super
@ keyword_super
Definition: parse.h:78
keyword_BEGIN
@ keyword_BEGIN
Definition: parse.h:93
ripper_scanner_ids_t::ripper_id_regexp_end
ID ripper_id_regexp_end
Definition: eventids2.c:49
tSTRING_DBEG
@ tSTRING_DBEG
Definition: parse.h:161
k__END__
@ k__END__
Definition: eventids2.c:9
ripper_scanner_ids_t::ripper_id_regexp_beg
ID ripper_id_regexp_beg
Definition: eventids2.c:48
keyword_and
@ keyword_and
Definition: parse.h:83
keyword_return
@ keyword_return
Definition: parse.h:76
tSP
@ tSP
Definition: parse.h:114
ripper_scanner_ids_t::ripper_id_lparen
ID ripper_id_lparen
Definition: eventids2.c:30
keyword_do
@ keyword_do
Definition: parse.h:72
tEQQ
@ tEQQ
Definition: parse.h:120
keyword_undef
@ keyword_undef
Definition: parse.h:52
ripper_scanner_ids_t::ripper_id_label
ID ripper_id_label
Definition: eventids2.c:50
ripper_scanner_ids_t::ripper_id_symbols_beg
ID ripper_id_symbols_beg
Definition: eventids2.c:45
keyword_until
@ keyword_until
Definition: parse.h:65
keyword_for
@ keyword_for
Definition: parse.h:66
int
__inline__ int
Definition: rb_mjit_min_header-2.7.1.h:2807
ripper_scanner_ids_t::ripper_id_tstring_content
ID ripper_id_tstring_content
Definition: eventids2.c:40
keyword_or
@ keyword_or
Definition: parse.h:84
keyword_in
@ keyword_in
Definition: parse.h:71
tBACK_REF
@ tBACK_REF
Definition: parse.h:111
tSTRING_DVAR
@ tSTRING_DVAR
Definition: parse.h:162
tUMINUS_NUM
@ tUMINUS_NUM
Definition: parse.h:166
tNEQ
@ tNEQ
Definition: parse.h:121
tDOT2
@ tDOT2
Definition: parse.h:128
ripper_scanner_ids_t::ripper_id_backtick
ID ripper_id_backtick
Definition: eventids2.c:14
tDOT3
@ tDOT3
Definition: parse.h:129
tLBRACE
@ tLBRACE
Definition: parse.h:145
modifier_until
@ modifier_until
Definition: parse.h:89
ripper_scanner_ids_t::ripper_id___end__
ID ripper_id___end__
Definition: eventids2.c:63
tBDOT3
@ tBDOT3
Definition: parse.h:131
tCVAR
@ tCVAR
Definition: parse.h:103
tSTAR
@ tSTAR
Definition: parse.h:147
keyword_case
@ keyword_case
Definition: parse.h:62
keyword_break
@ keyword_break
Definition: parse.h:67
set_id2
#define set_id2(name)
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
STATIC_ASSERT
STATIC_ASSERT(k__END___range, k__END__< SHRT_MAX)
ripper_scanner_ids_t::ripper_id_imaginary
ID ripper_id_imaginary
Definition: eventids2.c:24
tIDENTIFIER
@ tIDENTIFIER
Definition: parse.h:98
O
#define O(member)
numberof
#define numberof(array)
Definition: etc.c:618
UNREACHABLE_RETURN
#define UNREACHABLE_RETURN(val)
Definition: ruby.h:59
tAREF
@ tAREF
Definition: parse.h:132
modifier_if
@ modifier_if
Definition: parse.h:86
tHEREDOC_END
@ tHEREDOC_END
Definition: eventids2.c:8
ripper_scanner_ids_t::ripper_id_nl
ID ripper_id_nl
Definition: eventids2.c:31
tRPAREN
@ tRPAREN
Definition: parse.h:143
tINTEGER
@ tINTEGER
Definition: parse.h:105
ripper_scanner_ids_t::ripper_id_cvar
ID ripper_id_cvar
Definition: eventids2.c:17
keyword_elsif
@ keyword_elsif
Definition: parse.h:60
ripper_scanner_ids_t::ripper_id_comment
ID ripper_id_comment
Definition: eventids2.c:56
tUMINUS
@ tUMINUS
Definition: parse.h:116
ripper_scanner_ids_t::ripper_id_embdoc
ID ripper_id_embdoc
Definition: eventids2.c:58