c_lexer 2.6.0.0.0 → 2.6.2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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