c_lexer 2.6.0.0.0 → 2.6.2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/ext/lexer/lexer.h CHANGED
@@ -167,30 +167,30 @@ VALUE kWHILE;
167
167
  VALUE kWHILE_MOD;
168
168
  VALUE kYIELD;
169
169
 
170
- VALUE tAMPER;
171
170
  VALUE tAMPER2;
171
+ VALUE tAMPER;
172
172
  VALUE tANDDOT;
173
173
  VALUE tANDOP;
174
174
  VALUE tAREF;
175
175
  VALUE tASET;
176
176
  VALUE tASSOC;
177
- VALUE tBACK_REF;
178
177
  VALUE tBACK_REF2;
178
+ VALUE tBACK_REF;
179
179
  VALUE tBANG;
180
180
  VALUE tCARET;
181
181
  VALUE tCHARACTER;
182
182
  VALUE tCMP;
183
- VALUE tCOLON;
184
183
  VALUE tCOLON2;
185
184
  VALUE tCOLON3;
185
+ VALUE tCOLON;
186
186
  VALUE tCOMMA;
187
187
  VALUE tCOMMENT;
188
188
  VALUE tCONSTANT;
189
189
  VALUE tCVAR;
190
190
  VALUE tDIVIDE;
191
- VALUE tDOT;
192
191
  VALUE tDOT2;
193
192
  VALUE tDOT3;
193
+ VALUE tDOT;
194
194
  VALUE tDSTAR;
195
195
  VALUE tEH;
196
196
  VALUE tEQ;
@@ -211,16 +211,17 @@ VALUE tLAMBDA;
211
211
  VALUE tLAMBEG;
212
212
  VALUE tLBRACE;
213
213
  VALUE tLBRACE_ARG;
214
- VALUE tLBRACK;
215
214
  VALUE tLBRACK2;
215
+ VALUE tLBRACK;
216
216
  VALUE tLCURLY;
217
217
  VALUE tLEQ;
218
+ VALUE tLPAREN2;
218
219
  VALUE tLPAREN;
219
220
  VALUE tLPAREN_ARG;
220
- VALUE tLPAREN2;
221
221
  VALUE tLSHFT;
222
222
  VALUE tLT;
223
223
  VALUE tMATCH;
224
+ VALUE tMETHREF;
224
225
  VALUE tMINUS;
225
226
  VALUE tNEQ;
226
227
  VALUE tNL;
@@ -232,8 +233,8 @@ VALUE tPERCENT;
232
233
  VALUE tPIPE;
233
234
  VALUE tPLUS;
234
235
  VALUE tPOW;
235
- VALUE tQWORDS_BEG;
236
236
  VALUE tQSYMBOLS_BEG;
237
+ VALUE tQWORDS_BEG;
237
238
  VALUE tRATIONAL;
238
239
  VALUE tRBRACK;
239
240
  VALUE tRCURLY;
@@ -243,8 +244,8 @@ VALUE tRPAREN;
243
244
  VALUE tRSHFT;
244
245
  VALUE tSEMI;
245
246
  VALUE tSPACE;
246
- VALUE tSTAR;
247
247
  VALUE tSTAR2;
248
+ VALUE tSTAR;
248
249
  VALUE tSTRING;
249
250
  VALUE tSTRING_BEG;
250
251
  VALUE tSTRING_CONTENT;
data/ext/lexer/lexer.rl CHANGED
@@ -827,11 +827,12 @@ void Init_lexer()
827
827
  init_symbol(tLCURLY);
828
828
  init_symbol(tLEQ);
829
829
  init_symbol(tLPAREN);
830
- init_symbol(tLPAREN_ARG);
831
830
  init_symbol(tLPAREN2);
831
+ init_symbol(tLPAREN_ARG);
832
832
  init_symbol(tLSHFT);
833
833
  init_symbol(tLT);
834
834
  init_symbol(tMATCH);
835
+ init_symbol(tMETHREF);
835
836
  init_symbol(tMINUS);
836
837
  init_symbol(tNEQ);
837
838
  init_symbol(tNL);
@@ -843,8 +844,8 @@ void Init_lexer()
843
844
  init_symbol(tPIPE);
844
845
  init_symbol(tPLUS);
845
846
  init_symbol(tPOW);
846
- init_symbol(tQWORDS_BEG);
847
847
  init_symbol(tQSYMBOLS_BEG);
848
+ init_symbol(tQWORDS_BEG);
848
849
  init_symbol(tRATIONAL);
849
850
  init_symbol(tRBRACK);
850
851
  init_symbol(tRCURLY);
@@ -1412,13 +1413,8 @@ void Init_lexer()
1412
1413
  if (literal_end_interp_brace_and_try_closing(current_literal)) {
1413
1414
  if (lexer->version == 18 || lexer->version == 19) {
1414
1415
  emit_token(lexer, tRCURLY, rb_str_new2("}"), p - 1, p);
1415
- if (lexer->version < 24) {
1416
- stack_state_lexpop(&lexer->cond);
1417
- stack_state_lexpop(&lexer->cmdarg);
1418
- } else {
1419
- stack_state_pop(&lexer->cond);
1420
- stack_state_pop(&lexer->cmdarg);
1421
- }
1416
+ stack_state_pop(&lexer->cond);
1417
+ stack_state_pop(&lexer->cmdarg);
1422
1418
  } else {
1423
1419
  emit_token(lexer, tSTRING_DEND, rb_str_new2("}"), p - 1, p);
1424
1420
  }
@@ -2364,7 +2360,13 @@ void Init_lexer()
2364
2360
  global_var | class_var_v | instance_var_v
2365
2361
  => { p = ts - 1; fcall expr_variable; };
2366
2362
 
2367
- '.' | '&.' | '::'
2363
+ '.:' w_space+
2364
+ => { emit_token(lexer, tDOT, tok(lexer, ts, ts + 1), ts, ts + 1);
2365
+ emit_token(lexer, tCOLON, tok(lexer, ts + 1, ts + 2), ts + 1, ts + 2);
2366
+ p = p - (te - ts) + 2;
2367
+ fnext expr_dot; fbreak; };
2368
+
2369
+ '.:' | '.' | '&.' | '::'
2368
2370
  => { emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
2369
2371
  fnext expr_dot; fbreak; };
2370
2372
 
@@ -1,3 +1,3 @@
1
1
  module CLexer
2
- VERSION = '2.6.0.0.0'
2
+ VERSION = '2.6.2.0.0'
3
3
  end
data/lib/c_lexer.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'c_lexer/version'
2
2
  require 'parser/ruby25'
3
3
  require 'parser/ruby26'
4
+ require 'parser/ruby27'
4
5
 
5
6
  require_relative 'lexer'
6
7
 
@@ -84,6 +85,15 @@ module Parser
84
85
  @lexer.static_env = @static_env
85
86
  end
86
87
  end
88
+
89
+ class Ruby27WithCLexer < Ruby27
90
+ def initialize(builder=Parser::Builders::Default.new)
91
+ super(builder)
92
+ @lexer = ::Parser::CLexer.new(version)
93
+ @lexer.diagnostics = @diagnostics
94
+ @lexer.static_env = @static_env
95
+ end
96
+ end
87
97
  end
88
98
 
89
99
  module CLexer
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c_lexer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0.0.0
4
+ version: 2.6.2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Bylich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-16 00:00:00.000000000 Z
11
+ date: 2019-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ast