c_lexer 2.6.2.0.1 → 2.6.2.1.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.
- checksums.yaml +4 -4
- data/c_lexer.gemspec +1 -1
- data/ext/lexer/lexer.c +785 -782
- data/ext/lexer/lexer.rl +3 -0
- data/lib/c_lexer/version.rb +1 -1
- metadata +3 -3
data/ext/lexer/lexer.c
CHANGED
@@ -10314,6 +10314,7 @@ static VALUE lexer_initialize(VALUE self, VALUE version)
|
|
10314
10314
|
Lexer* lexer = GET_LEXER(self);
|
10315
10315
|
|
10316
10316
|
lexer->version = NUM2INT(version);
|
10317
|
+
rb_iv_set(self, "@context", Qnil);
|
10317
10318
|
|
10318
10319
|
return lexer_reset(0, NULL, self);
|
10319
10320
|
}
|
@@ -10571,7 +10572,7 @@ static VALUE lexer_advance(VALUE self)
|
|
10571
10572
|
command_state = (cs == lex_en_expr_value || cs == lex_en_line_begin);
|
10572
10573
|
|
10573
10574
|
|
10574
|
-
#line
|
10575
|
+
#line 10576 "ext/lexer/lexer.c"
|
10575
10576
|
{
|
10576
10577
|
int _slen;
|
10577
10578
|
int _trans;
|
@@ -10587,7 +10588,7 @@ _resume:
|
|
10587
10588
|
#line 1 "NONE"
|
10588
10589
|
{ts = p;}
|
10589
10590
|
break;
|
10590
|
-
#line
|
10591
|
+
#line 10592 "ext/lexer/lexer.c"
|
10591
10592
|
}
|
10592
10593
|
|
10593
10594
|
_keys = _lex_trans_keys + (cs<<1);
|
@@ -10606,18 +10607,18 @@ _eof_trans:
|
|
10606
10607
|
|
10607
10608
|
switch ( _lex_trans_actions[_trans] ) {
|
10608
10609
|
case 28:
|
10609
|
-
#line
|
10610
|
+
#line 1006 "ext/lexer/lexer.rl"
|
10610
10611
|
{ lexer->newline_s = p; }
|
10611
10612
|
break;
|
10612
10613
|
case 109:
|
10613
|
-
#line
|
10614
|
+
#line 1271 "ext/lexer/lexer.rl"
|
10614
10615
|
{
|
10615
10616
|
lexer->escape_s = p;
|
10616
10617
|
lexer->escape = Qnil;
|
10617
10618
|
}
|
10618
10619
|
break;
|
10619
10620
|
case 29:
|
10620
|
-
#line
|
10621
|
+
#line 1276 "ext/lexer/lexer.rl"
|
10621
10622
|
{
|
10622
10623
|
if (lexer->herebody_s) {
|
10623
10624
|
p = lexer->herebody_s;
|
@@ -10626,83 +10627,83 @@ _eof_trans:
|
|
10626
10627
|
}
|
10627
10628
|
break;
|
10628
10629
|
case 59:
|
10629
|
-
#line
|
10630
|
+
#line 1541 "ext/lexer/lexer.rl"
|
10630
10631
|
{ sharp_s = p - 1; }
|
10631
10632
|
break;
|
10632
10633
|
case 63:
|
10633
|
-
#line
|
10634
|
+
#line 1542 "ext/lexer/lexer.rl"
|
10634
10635
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
10635
10636
|
break;
|
10636
10637
|
case 293:
|
10637
|
-
#line
|
10638
|
+
#line 1560 "ext/lexer/lexer.rl"
|
10638
10639
|
{ tm = p; }
|
10639
10640
|
break;
|
10640
10641
|
case 36:
|
10641
|
-
#line
|
10642
|
+
#line 1763 "ext/lexer/lexer.rl"
|
10642
10643
|
{ tm = p; }
|
10643
10644
|
break;
|
10644
10645
|
case 38:
|
10645
|
-
#line
|
10646
|
+
#line 1774 "ext/lexer/lexer.rl"
|
10646
10647
|
{ tm = p; }
|
10647
10648
|
break;
|
10648
10649
|
case 40:
|
10649
|
-
#line
|
10650
|
+
#line 1791 "ext/lexer/lexer.rl"
|
10650
10651
|
{ tm = p; }
|
10651
10652
|
break;
|
10652
10653
|
case 69:
|
10653
|
-
#line
|
10654
|
+
#line 1922 "ext/lexer/lexer.rl"
|
10654
10655
|
{ heredoc_e = p; }
|
10655
10656
|
break;
|
10656
10657
|
case 335:
|
10657
|
-
#line
|
10658
|
+
#line 2017 "ext/lexer/lexer.rl"
|
10658
10659
|
{ lexer->escape = Qnil; }
|
10659
10660
|
break;
|
10660
10661
|
case 364:
|
10661
|
-
#line
|
10662
|
+
#line 2074 "ext/lexer/lexer.rl"
|
10662
10663
|
{ tm = p; }
|
10663
10664
|
break;
|
10664
10665
|
case 291:
|
10665
|
-
#line
|
10666
|
+
#line 2113 "ext/lexer/lexer.rl"
|
10666
10667
|
{ ident_tok = tok(lexer, ts, te); ident_ts = ts; ident_te = te; }
|
10667
10668
|
break;
|
10668
10669
|
case 458:
|
10669
|
-
#line
|
10670
|
+
#line 2260 "ext/lexer/lexer.rl"
|
10670
10671
|
{ num_base = 16; num_digits_s = p; }
|
10671
10672
|
break;
|
10672
10673
|
case 450:
|
10673
|
-
#line
|
10674
|
+
#line 2261 "ext/lexer/lexer.rl"
|
10674
10675
|
{ num_base = 10; num_digits_s = p; }
|
10675
10676
|
break;
|
10676
10677
|
case 454:
|
10677
|
-
#line
|
10678
|
+
#line 2262 "ext/lexer/lexer.rl"
|
10678
10679
|
{ num_base = 8; num_digits_s = p; }
|
10679
10680
|
break;
|
10680
10681
|
case 446:
|
10681
|
-
#line
|
10682
|
+
#line 2263 "ext/lexer/lexer.rl"
|
10682
10683
|
{ num_base = 2; num_digits_s = p; }
|
10683
10684
|
break;
|
10684
10685
|
case 465:
|
10685
|
-
#line
|
10686
|
+
#line 2264 "ext/lexer/lexer.rl"
|
10686
10687
|
{ num_base = 10; num_digits_s = ts; }
|
10687
10688
|
break;
|
10688
10689
|
case 422:
|
10689
|
-
#line
|
10690
|
+
#line 2265 "ext/lexer/lexer.rl"
|
10690
10691
|
{ num_base = 8; num_digits_s = ts; }
|
10691
10692
|
break;
|
10692
10693
|
case 438:
|
10693
|
-
#line
|
10694
|
+
#line 2266 "ext/lexer/lexer.rl"
|
10694
10695
|
{ num_suffix_s = p; }
|
10695
10696
|
break;
|
10696
10697
|
case 431:
|
10697
|
-
#line
|
10698
|
+
#line 2333 "ext/lexer/lexer.rl"
|
10698
10699
|
{ num_suffix_s = p; }
|
10699
10700
|
break;
|
10700
10701
|
case 428:
|
10701
|
-
#line
|
10702
|
+
#line 2334 "ext/lexer/lexer.rl"
|
10702
10703
|
{ num_suffix_s = p; }
|
10703
10704
|
break;
|
10704
10705
|
case 86:
|
10705
|
-
#line
|
10706
|
+
#line 2493 "ext/lexer/lexer.rl"
|
10706
10707
|
{ tm = p; }
|
10707
10708
|
break;
|
10708
10709
|
case 7:
|
@@ -10710,7 +10711,7 @@ _eof_trans:
|
|
10710
10711
|
{te = p+1;}
|
10711
10712
|
break;
|
10712
10713
|
case 106:
|
10713
|
-
#line
|
10714
|
+
#line 1436 "ext/lexer/lexer.rl"
|
10714
10715
|
{te = p+1;{
|
10715
10716
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10716
10717
|
literal_flush_string(current_literal);
|
@@ -10729,7 +10730,7 @@ _eof_trans:
|
|
10729
10730
|
}}
|
10730
10731
|
break;
|
10731
10732
|
case 5:
|
10732
|
-
#line
|
10733
|
+
#line 1390 "ext/lexer/lexer.rl"
|
10733
10734
|
{te = p+1;{
|
10734
10735
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10735
10736
|
literal_flush_string(current_literal);
|
@@ -10751,7 +10752,7 @@ _eof_trans:
|
|
10751
10752
|
}}
|
10752
10753
|
break;
|
10753
10754
|
case 102:
|
10754
|
-
#line
|
10755
|
+
#line 1339 "ext/lexer/lexer.rl"
|
10755
10756
|
{te = p+1;{
|
10756
10757
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10757
10758
|
long str_s = current_literal->str_s;
|
@@ -10797,7 +10798,7 @@ _eof_trans:
|
|
10797
10798
|
}}
|
10798
10799
|
break;
|
10799
10800
|
case 101:
|
10800
|
-
#line
|
10801
|
+
#line 1283 "ext/lexer/lexer.rl"
|
10801
10802
|
{te = p+1;{
|
10802
10803
|
VALUE string = tok(lexer, ts, te);
|
10803
10804
|
VALUE lookahead = Qnil;
|
@@ -10826,7 +10827,7 @@ _eof_trans:
|
|
10826
10827
|
}}
|
10827
10828
|
break;
|
10828
10829
|
case 107:
|
10829
|
-
#line
|
10830
|
+
#line 1390 "ext/lexer/lexer.rl"
|
10830
10831
|
{te = p;p--;{
|
10831
10832
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10832
10833
|
literal_flush_string(current_literal);
|
@@ -10848,14 +10849,14 @@ _eof_trans:
|
|
10848
10849
|
}}
|
10849
10850
|
break;
|
10850
10851
|
case 104:
|
10851
|
-
#line
|
10852
|
+
#line 1383 "ext/lexer/lexer.rl"
|
10852
10853
|
{te = p;p--;{
|
10853
10854
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10854
10855
|
literal_extend_space(current_literal, ts, te);
|
10855
10856
|
}}
|
10856
10857
|
break;
|
10857
10858
|
case 105:
|
10858
|
-
#line
|
10859
|
+
#line 1283 "ext/lexer/lexer.rl"
|
10859
10860
|
{te = p;p--;{
|
10860
10861
|
VALUE string = tok(lexer, ts, te);
|
10861
10862
|
VALUE lookahead = Qnil;
|
@@ -10884,7 +10885,7 @@ _eof_trans:
|
|
10884
10885
|
}}
|
10885
10886
|
break;
|
10886
10887
|
case 6:
|
10887
|
-
#line
|
10888
|
+
#line 1310 "ext/lexer/lexer.rl"
|
10888
10889
|
{{p = ((te))-1;}{
|
10889
10890
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10890
10891
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -10915,7 +10916,7 @@ _eof_trans:
|
|
10915
10916
|
}}
|
10916
10917
|
break;
|
10917
10918
|
case 4:
|
10918
|
-
#line
|
10919
|
+
#line 1283 "ext/lexer/lexer.rl"
|
10919
10920
|
{{p = ((te))-1;}{
|
10920
10921
|
VALUE string = tok(lexer, ts, te);
|
10921
10922
|
VALUE lookahead = Qnil;
|
@@ -10944,7 +10945,7 @@ _eof_trans:
|
|
10944
10945
|
}}
|
10945
10946
|
break;
|
10946
10947
|
case 134:
|
10947
|
-
#line
|
10948
|
+
#line 1436 "ext/lexer/lexer.rl"
|
10948
10949
|
{te = p+1;{
|
10949
10950
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10950
10951
|
literal_flush_string(current_literal);
|
@@ -10963,7 +10964,7 @@ _eof_trans:
|
|
10963
10964
|
}}
|
10964
10965
|
break;
|
10965
10966
|
case 10:
|
10966
|
-
#line
|
10967
|
+
#line 1390 "ext/lexer/lexer.rl"
|
10967
10968
|
{te = p+1;{
|
10968
10969
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10969
10970
|
literal_flush_string(current_literal);
|
@@ -10985,7 +10986,7 @@ _eof_trans:
|
|
10985
10986
|
}}
|
10986
10987
|
break;
|
10987
10988
|
case 131:
|
10988
|
-
#line
|
10989
|
+
#line 1339 "ext/lexer/lexer.rl"
|
10989
10990
|
{te = p+1;{
|
10990
10991
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
10991
10992
|
long str_s = current_literal->str_s;
|
@@ -11031,7 +11032,7 @@ _eof_trans:
|
|
11031
11032
|
}}
|
11032
11033
|
break;
|
11033
11034
|
case 130:
|
11034
|
-
#line
|
11035
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11035
11036
|
{te = p+1;{
|
11036
11037
|
VALUE string = tok(lexer, ts, te);
|
11037
11038
|
VALUE lookahead = Qnil;
|
@@ -11060,7 +11061,7 @@ _eof_trans:
|
|
11060
11061
|
}}
|
11061
11062
|
break;
|
11062
11063
|
case 135:
|
11063
|
-
#line
|
11064
|
+
#line 1390 "ext/lexer/lexer.rl"
|
11064
11065
|
{te = p;p--;{
|
11065
11066
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11066
11067
|
literal_flush_string(current_literal);
|
@@ -11082,7 +11083,7 @@ _eof_trans:
|
|
11082
11083
|
}}
|
11083
11084
|
break;
|
11084
11085
|
case 133:
|
11085
|
-
#line
|
11086
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11086
11087
|
{te = p;p--;{
|
11087
11088
|
VALUE string = tok(lexer, ts, te);
|
11088
11089
|
VALUE lookahead = Qnil;
|
@@ -11111,7 +11112,7 @@ _eof_trans:
|
|
11111
11112
|
}}
|
11112
11113
|
break;
|
11113
11114
|
case 11:
|
11114
|
-
#line
|
11115
|
+
#line 1310 "ext/lexer/lexer.rl"
|
11115
11116
|
{{p = ((te))-1;}{
|
11116
11117
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11117
11118
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -11142,7 +11143,7 @@ _eof_trans:
|
|
11142
11143
|
}}
|
11143
11144
|
break;
|
11144
11145
|
case 9:
|
11145
|
-
#line
|
11146
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11146
11147
|
{{p = ((te))-1;}{
|
11147
11148
|
VALUE string = tok(lexer, ts, te);
|
11148
11149
|
VALUE lookahead = Qnil;
|
@@ -11171,7 +11172,7 @@ _eof_trans:
|
|
11171
11172
|
}}
|
11172
11173
|
break;
|
11173
11174
|
case 158:
|
11174
|
-
#line
|
11175
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11175
11176
|
{te = p+1;{
|
11176
11177
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11177
11178
|
long str_s = current_literal->str_s;
|
@@ -11217,7 +11218,7 @@ _eof_trans:
|
|
11217
11218
|
}}
|
11218
11219
|
break;
|
11219
11220
|
case 157:
|
11220
|
-
#line
|
11221
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11221
11222
|
{te = p+1;{
|
11222
11223
|
VALUE string = tok(lexer, ts, te);
|
11223
11224
|
VALUE lookahead = Qnil;
|
@@ -11246,14 +11247,14 @@ _eof_trans:
|
|
11246
11247
|
}}
|
11247
11248
|
break;
|
11248
11249
|
case 160:
|
11249
|
-
#line
|
11250
|
+
#line 1383 "ext/lexer/lexer.rl"
|
11250
11251
|
{te = p;p--;{
|
11251
11252
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11252
11253
|
literal_extend_space(current_literal, ts, te);
|
11253
11254
|
}}
|
11254
11255
|
break;
|
11255
11256
|
case 161:
|
11256
|
-
#line
|
11257
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11257
11258
|
{te = p;p--;{
|
11258
11259
|
VALUE string = tok(lexer, ts, te);
|
11259
11260
|
VALUE lookahead = Qnil;
|
@@ -11282,7 +11283,7 @@ _eof_trans:
|
|
11282
11283
|
}}
|
11283
11284
|
break;
|
11284
11285
|
case 164:
|
11285
|
-
#line
|
11286
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11286
11287
|
{te = p+1;{
|
11287
11288
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11288
11289
|
long str_s = current_literal->str_s;
|
@@ -11328,7 +11329,7 @@ _eof_trans:
|
|
11328
11329
|
}}
|
11329
11330
|
break;
|
11330
11331
|
case 163:
|
11331
|
-
#line
|
11332
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11332
11333
|
{te = p+1;{
|
11333
11334
|
VALUE string = tok(lexer, ts, te);
|
11334
11335
|
VALUE lookahead = Qnil;
|
@@ -11357,7 +11358,7 @@ _eof_trans:
|
|
11357
11358
|
}}
|
11358
11359
|
break;
|
11359
11360
|
case 166:
|
11360
|
-
#line
|
11361
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11361
11362
|
{te = p;p--;{
|
11362
11363
|
VALUE string = tok(lexer, ts, te);
|
11363
11364
|
VALUE lookahead = Qnil;
|
@@ -11386,7 +11387,7 @@ _eof_trans:
|
|
11386
11387
|
}}
|
11387
11388
|
break;
|
11388
11389
|
case 173:
|
11389
|
-
#line
|
11390
|
+
#line 1436 "ext/lexer/lexer.rl"
|
11390
11391
|
{te = p+1;{
|
11391
11392
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11392
11393
|
literal_flush_string(current_literal);
|
@@ -11405,7 +11406,7 @@ _eof_trans:
|
|
11405
11406
|
}}
|
11406
11407
|
break;
|
11407
11408
|
case 13:
|
11408
|
-
#line
|
11409
|
+
#line 1390 "ext/lexer/lexer.rl"
|
11409
11410
|
{te = p+1;{
|
11410
11411
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11411
11412
|
literal_flush_string(current_literal);
|
@@ -11427,7 +11428,7 @@ _eof_trans:
|
|
11427
11428
|
}}
|
11428
11429
|
break;
|
11429
11430
|
case 170:
|
11430
|
-
#line
|
11431
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11431
11432
|
{te = p+1;{
|
11432
11433
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11433
11434
|
long str_s = current_literal->str_s;
|
@@ -11473,7 +11474,7 @@ _eof_trans:
|
|
11473
11474
|
}}
|
11474
11475
|
break;
|
11475
11476
|
case 169:
|
11476
|
-
#line
|
11477
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11477
11478
|
{te = p+1;{
|
11478
11479
|
VALUE string = tok(lexer, ts, te);
|
11479
11480
|
VALUE lookahead = Qnil;
|
@@ -11502,7 +11503,7 @@ _eof_trans:
|
|
11502
11503
|
}}
|
11503
11504
|
break;
|
11504
11505
|
case 174:
|
11505
|
-
#line
|
11506
|
+
#line 1390 "ext/lexer/lexer.rl"
|
11506
11507
|
{te = p;p--;{
|
11507
11508
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11508
11509
|
literal_flush_string(current_literal);
|
@@ -11524,7 +11525,7 @@ _eof_trans:
|
|
11524
11525
|
}}
|
11525
11526
|
break;
|
11526
11527
|
case 172:
|
11527
|
-
#line
|
11528
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11528
11529
|
{te = p;p--;{
|
11529
11530
|
VALUE string = tok(lexer, ts, te);
|
11530
11531
|
VALUE lookahead = Qnil;
|
@@ -11553,7 +11554,7 @@ _eof_trans:
|
|
11553
11554
|
}}
|
11554
11555
|
break;
|
11555
11556
|
case 12:
|
11556
|
-
#line
|
11557
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11557
11558
|
{{p = ((te))-1;}{
|
11558
11559
|
VALUE string = tok(lexer, ts, te);
|
11559
11560
|
VALUE lookahead = Qnil;
|
@@ -11582,7 +11583,7 @@ _eof_trans:
|
|
11582
11583
|
}}
|
11583
11584
|
break;
|
11584
11585
|
case 176:
|
11585
|
-
#line
|
11586
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11586
11587
|
{te = p+1;{
|
11587
11588
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11588
11589
|
long str_s = current_literal->str_s;
|
@@ -11628,7 +11629,7 @@ _eof_trans:
|
|
11628
11629
|
}}
|
11629
11630
|
break;
|
11630
11631
|
case 175:
|
11631
|
-
#line
|
11632
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11632
11633
|
{te = p+1;{
|
11633
11634
|
VALUE string = tok(lexer, ts, te);
|
11634
11635
|
VALUE lookahead = Qnil;
|
@@ -11657,7 +11658,7 @@ _eof_trans:
|
|
11657
11658
|
}}
|
11658
11659
|
break;
|
11659
11660
|
case 183:
|
11660
|
-
#line
|
11661
|
+
#line 1436 "ext/lexer/lexer.rl"
|
11661
11662
|
{te = p+1;{
|
11662
11663
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11663
11664
|
literal_flush_string(current_literal);
|
@@ -11676,7 +11677,7 @@ _eof_trans:
|
|
11676
11677
|
}}
|
11677
11678
|
break;
|
11678
11679
|
case 15:
|
11679
|
-
#line
|
11680
|
+
#line 1390 "ext/lexer/lexer.rl"
|
11680
11681
|
{te = p+1;{
|
11681
11682
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11682
11683
|
literal_flush_string(current_literal);
|
@@ -11698,7 +11699,7 @@ _eof_trans:
|
|
11698
11699
|
}}
|
11699
11700
|
break;
|
11700
11701
|
case 179:
|
11701
|
-
#line
|
11702
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11702
11703
|
{te = p+1;{
|
11703
11704
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11704
11705
|
long str_s = current_literal->str_s;
|
@@ -11744,7 +11745,7 @@ _eof_trans:
|
|
11744
11745
|
}}
|
11745
11746
|
break;
|
11746
11747
|
case 178:
|
11747
|
-
#line
|
11748
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11748
11749
|
{te = p+1;{
|
11749
11750
|
VALUE string = tok(lexer, ts, te);
|
11750
11751
|
VALUE lookahead = Qnil;
|
@@ -11773,7 +11774,7 @@ _eof_trans:
|
|
11773
11774
|
}}
|
11774
11775
|
break;
|
11775
11776
|
case 184:
|
11776
|
-
#line
|
11777
|
+
#line 1390 "ext/lexer/lexer.rl"
|
11777
11778
|
{te = p;p--;{
|
11778
11779
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11779
11780
|
literal_flush_string(current_literal);
|
@@ -11795,14 +11796,14 @@ _eof_trans:
|
|
11795
11796
|
}}
|
11796
11797
|
break;
|
11797
11798
|
case 181:
|
11798
|
-
#line
|
11799
|
+
#line 1383 "ext/lexer/lexer.rl"
|
11799
11800
|
{te = p;p--;{
|
11800
11801
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11801
11802
|
literal_extend_space(current_literal, ts, te);
|
11802
11803
|
}}
|
11803
11804
|
break;
|
11804
11805
|
case 182:
|
11805
|
-
#line
|
11806
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11806
11807
|
{te = p;p--;{
|
11807
11808
|
VALUE string = tok(lexer, ts, te);
|
11808
11809
|
VALUE lookahead = Qnil;
|
@@ -11831,7 +11832,7 @@ _eof_trans:
|
|
11831
11832
|
}}
|
11832
11833
|
break;
|
11833
11834
|
case 14:
|
11834
|
-
#line
|
11835
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11835
11836
|
{{p = ((te))-1;}{
|
11836
11837
|
VALUE string = tok(lexer, ts, te);
|
11837
11838
|
VALUE lookahead = Qnil;
|
@@ -11860,7 +11861,7 @@ _eof_trans:
|
|
11860
11861
|
}}
|
11861
11862
|
break;
|
11862
11863
|
case 186:
|
11863
|
-
#line
|
11864
|
+
#line 1339 "ext/lexer/lexer.rl"
|
11864
11865
|
{te = p+1;{
|
11865
11866
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11866
11867
|
long str_s = current_literal->str_s;
|
@@ -11906,7 +11907,7 @@ _eof_trans:
|
|
11906
11907
|
}}
|
11907
11908
|
break;
|
11908
11909
|
case 185:
|
11909
|
-
#line
|
11910
|
+
#line 1283 "ext/lexer/lexer.rl"
|
11910
11911
|
{te = p+1;{
|
11911
11912
|
VALUE string = tok(lexer, ts, te);
|
11912
11913
|
VALUE lookahead = Qnil;
|
@@ -11935,14 +11936,14 @@ _eof_trans:
|
|
11935
11936
|
}}
|
11936
11937
|
break;
|
11937
11938
|
case 188:
|
11938
|
-
#line
|
11939
|
+
#line 1383 "ext/lexer/lexer.rl"
|
11939
11940
|
{te = p;p--;{
|
11940
11941
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
11941
11942
|
literal_extend_space(current_literal, ts, te);
|
11942
11943
|
}}
|
11943
11944
|
break;
|
11944
11945
|
case 189:
|
11945
|
-
#line
|
11946
|
+
#line 1528 "ext/lexer/lexer.rl"
|
11946
11947
|
{te = p+1;{
|
11947
11948
|
emit_token(lexer, tREGEXP_OPT, tok(lexer, ts, te - 1), ts, te - 1);
|
11948
11949
|
p--;
|
@@ -11950,7 +11951,7 @@ _eof_trans:
|
|
11950
11951
|
}}
|
11951
11952
|
break;
|
11952
11953
|
case 190:
|
11953
|
-
#line
|
11954
|
+
#line 1512 "ext/lexer/lexer.rl"
|
11954
11955
|
{te = p;p--;{
|
11955
11956
|
VALUE unknown_options = find_unknown_options(tok(lexer, ts, te));
|
11956
11957
|
|
@@ -11967,7 +11968,7 @@ _eof_trans:
|
|
11967
11968
|
}}
|
11968
11969
|
break;
|
11969
11970
|
case 16:
|
11970
|
-
#line
|
11971
|
+
#line 1609 "ext/lexer/lexer.rl"
|
11971
11972
|
{te = p+1;{
|
11972
11973
|
VALUE str = tok(lexer, ts, te);
|
11973
11974
|
|
@@ -11984,7 +11985,7 @@ _eof_trans:
|
|
11984
11985
|
}}
|
11985
11986
|
break;
|
11986
11987
|
case 191:
|
11987
|
-
#line
|
11988
|
+
#line 1609 "ext/lexer/lexer.rl"
|
11988
11989
|
{te = p;p--;{
|
11989
11990
|
VALUE str = tok(lexer, ts, te);
|
11990
11991
|
|
@@ -12001,7 +12002,7 @@ _eof_trans:
|
|
12001
12002
|
}}
|
12002
12003
|
break;
|
12003
12004
|
case 193:
|
12004
|
-
#line
|
12005
|
+
#line 1624 "ext/lexer/lexer.rl"
|
12005
12006
|
{te = p;p--;{
|
12006
12007
|
VALUE str = tok(lexer, ts, te);
|
12007
12008
|
|
@@ -12016,7 +12017,7 @@ _eof_trans:
|
|
12016
12017
|
}}
|
12017
12018
|
break;
|
12018
12019
|
case 192:
|
12019
|
-
#line
|
12020
|
+
#line 1637 "ext/lexer/lexer.rl"
|
12020
12021
|
{te = p;p--;{
|
12021
12022
|
VALUE str = tok(lexer, ts, te);
|
12022
12023
|
|
@@ -12031,16 +12032,16 @@ _eof_trans:
|
|
12031
12032
|
}}
|
12032
12033
|
break;
|
12033
12034
|
case 214:
|
12034
|
-
#line
|
12035
|
+
#line 1653 "ext/lexer/lexer.rl"
|
12035
12036
|
{te = p+1;{ emit_table_KEYWORDS_BEGIN(lexer, tok(lexer, ts, te), ts, te);
|
12036
12037
|
cs = 440; {p++; goto _out; } }}
|
12037
12038
|
break;
|
12038
12039
|
case 200:
|
12039
|
-
#line
|
12040
|
+
#line 1658 "ext/lexer/lexer.rl"
|
12040
12041
|
{te = p+1;{ emit(tIDENTIFIER); cs = 440; {p++; goto _out; } }}
|
12041
12042
|
break;
|
12042
12043
|
case 18:
|
12043
|
-
#line
|
12044
|
+
#line 1660 "ext/lexer/lexer.rl"
|
12044
12045
|
{te = p+1;{ p = ts - 1; cs = 769; {
|
12045
12046
|
/* grow the state stack as needed */
|
12046
12047
|
if (lexer->cs_stack_top == lexer->cs_stack_size) {
|
@@ -12053,16 +12054,16 @@ _eof_trans:
|
|
12053
12054
|
{stack[top++] = cs; cs = 322;goto _again;}} }}
|
12054
12055
|
break;
|
12055
12056
|
case 197:
|
12056
|
-
#line
|
12057
|
+
#line 1665 "ext/lexer/lexer.rl"
|
12057
12058
|
{te = p+1;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12058
12059
|
cs = 440; {p++; goto _out; } }}
|
12059
12060
|
break;
|
12060
12061
|
case 209:
|
12061
|
-
#line
|
12062
|
+
#line 1668 "ext/lexer/lexer.rl"
|
12062
12063
|
{te = p+1;{ p--; p--; {cs = 769;goto _again;} }}
|
12063
12064
|
break;
|
12064
12065
|
case 20:
|
12065
|
-
#line
|
12066
|
+
#line 1673 "ext/lexer/lexer.rl"
|
12066
12067
|
{te = p+1;{
|
12067
12068
|
if (lexer->version == 23) {
|
12068
12069
|
VALUE type = rb_str_substr(lexer->source, ts, te - ts - 1);
|
@@ -12078,28 +12079,28 @@ _eof_trans:
|
|
12078
12079
|
}}
|
12079
12080
|
break;
|
12080
12081
|
case 196:
|
12081
|
-
#line
|
12082
|
+
#line 1689 "ext/lexer/lexer.rl"
|
12082
12083
|
{te = p+1;{ p--; {cs = 769;goto _again;} }}
|
12083
12084
|
break;
|
12084
12085
|
case 195:
|
12085
|
-
#line
|
12086
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12086
12087
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12087
12088
|
break;
|
12088
12089
|
case 213:
|
12089
|
-
#line
|
12090
|
+
#line 1653 "ext/lexer/lexer.rl"
|
12090
12091
|
{te = p;p--;{ emit_table_KEYWORDS_BEGIN(lexer, tok(lexer, ts, te), ts, te);
|
12091
12092
|
cs = 440; {p++; goto _out; } }}
|
12092
12093
|
break;
|
12093
12094
|
case 210:
|
12094
|
-
#line
|
12095
|
+
#line 1656 "ext/lexer/lexer.rl"
|
12095
12096
|
{te = p;p--;{ emit(tCONSTANT); cs = 440; {p++; goto _out; } }}
|
12096
12097
|
break;
|
12097
12098
|
case 212:
|
12098
|
-
#line
|
12099
|
+
#line 1658 "ext/lexer/lexer.rl"
|
12099
12100
|
{te = p;p--;{ emit(tIDENTIFIER); cs = 440; {p++; goto _out; } }}
|
12100
12101
|
break;
|
12101
12102
|
case 207:
|
12102
|
-
#line
|
12103
|
+
#line 1660 "ext/lexer/lexer.rl"
|
12103
12104
|
{te = p;p--;{ p = ts - 1; cs = 769; {
|
12104
12105
|
/* grow the state stack as needed */
|
12105
12106
|
if (lexer->cs_stack_top == lexer->cs_stack_size) {
|
@@ -12112,29 +12113,29 @@ _eof_trans:
|
|
12112
12113
|
{stack[top++] = cs; cs = 322;goto _again;}} }}
|
12113
12114
|
break;
|
12114
12115
|
case 203:
|
12115
|
-
#line
|
12116
|
+
#line 1665 "ext/lexer/lexer.rl"
|
12116
12117
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12117
12118
|
cs = 440; {p++; goto _out; } }}
|
12118
12119
|
break;
|
12119
12120
|
case 208:
|
12120
|
-
#line
|
12121
|
+
#line 1670 "ext/lexer/lexer.rl"
|
12121
12122
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12122
12123
|
break;
|
12123
12124
|
case 201:
|
12124
|
-
#line
|
12125
|
+
#line 1687 "ext/lexer/lexer.rl"
|
12125
12126
|
{te = p;p--;}
|
12126
12127
|
break;
|
12127
12128
|
case 206:
|
12128
|
-
#line
|
12129
|
+
#line 1689 "ext/lexer/lexer.rl"
|
12129
12130
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
12130
12131
|
break;
|
12131
12132
|
case 19:
|
12132
|
-
#line
|
12133
|
+
#line 1665 "ext/lexer/lexer.rl"
|
12133
12134
|
{{p = ((te))-1;}{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12134
12135
|
cs = 440; {p++; goto _out; } }}
|
12135
12136
|
break;
|
12136
12137
|
case 17:
|
12137
|
-
#line
|
12138
|
+
#line 1689 "ext/lexer/lexer.rl"
|
12138
12139
|
{{p = ((te))-1;}{ p--; {cs = 769;goto _again;} }}
|
12139
12140
|
break;
|
12140
12141
|
case 199:
|
@@ -12154,72 +12155,72 @@ _eof_trans:
|
|
12154
12155
|
}
|
12155
12156
|
break;
|
12156
12157
|
case 22:
|
12157
|
-
#line
|
12158
|
+
#line 1695 "ext/lexer/lexer.rl"
|
12158
12159
|
{te = p+1;{
|
12159
12160
|
emit_token(lexer, tLABEL, tok(lexer, ts, te - 2), ts, te - 1);
|
12160
12161
|
p--; cs = 754; {p++; goto _out; }
|
12161
12162
|
}}
|
12162
12163
|
break;
|
12163
12164
|
case 216:
|
12164
|
-
#line
|
12165
|
+
#line 1702 "ext/lexer/lexer.rl"
|
12165
12166
|
{te = p+1;{ p--; {cs = 769;goto _again;} }}
|
12166
12167
|
break;
|
12167
12168
|
case 215:
|
12168
|
-
#line
|
12169
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12169
12170
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12170
12171
|
break;
|
12171
12172
|
case 218:
|
12172
|
-
#line
|
12173
|
+
#line 1700 "ext/lexer/lexer.rl"
|
12173
12174
|
{te = p;p--;}
|
12174
12175
|
break;
|
12175
12176
|
case 217:
|
12176
|
-
#line
|
12177
|
+
#line 1702 "ext/lexer/lexer.rl"
|
12177
12178
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
12178
12179
|
break;
|
12179
12180
|
case 21:
|
12180
|
-
#line
|
12181
|
+
#line 1702 "ext/lexer/lexer.rl"
|
12181
12182
|
{{p = ((te))-1;}{ p--; {cs = 769;goto _again;} }}
|
12182
12183
|
break;
|
12183
12184
|
case 224:
|
12184
|
-
#line
|
12185
|
+
#line 1719 "ext/lexer/lexer.rl"
|
12185
12186
|
{te = p+1;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12186
12187
|
cs = 468; {p++; goto _out; } }}
|
12187
12188
|
break;
|
12188
12189
|
case 223:
|
12189
|
-
#line
|
12190
|
+
#line 1725 "ext/lexer/lexer.rl"
|
12190
12191
|
{te = p+1;{ p--; {cs = 769;goto _again;} }}
|
12191
12192
|
break;
|
12192
12193
|
case 222:
|
12193
|
-
#line
|
12194
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12194
12195
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12195
12196
|
break;
|
12196
12197
|
case 234:
|
12197
|
-
#line
|
12198
|
+
#line 1708 "ext/lexer/lexer.rl"
|
12198
12199
|
{te = p;p--;{ emit(tCONSTANT); cs = (arg_or_cmdarg(command_state)); {p++; goto _out; } }}
|
12199
12200
|
break;
|
12200
12201
|
case 225:
|
12201
|
-
#line
|
12202
|
+
#line 1710 "ext/lexer/lexer.rl"
|
12202
12203
|
{te = p;p--;{ emit(tIDENTIFIER); cs = (arg_or_cmdarg(command_state)); {p++; goto _out; } }}
|
12203
12204
|
break;
|
12204
12205
|
case 230:
|
12205
|
-
#line
|
12206
|
+
#line 1719 "ext/lexer/lexer.rl"
|
12206
12207
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12207
12208
|
cs = 468; {p++; goto _out; } }}
|
12208
12209
|
break;
|
12209
12210
|
case 228:
|
12210
|
-
#line
|
12211
|
+
#line 1722 "ext/lexer/lexer.rl"
|
12211
12212
|
{te = p;p--;}
|
12212
12213
|
break;
|
12213
12214
|
case 233:
|
12214
|
-
#line
|
12215
|
+
#line 1725 "ext/lexer/lexer.rl"
|
12215
12216
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
12216
12217
|
break;
|
12217
12218
|
case 257:
|
12218
|
-
#line
|
12219
|
+
#line 1759 "ext/lexer/lexer.rl"
|
12219
12220
|
{te = p+1;{ p = ts - 1; {cs = 769;goto _again;} }}
|
12220
12221
|
break;
|
12221
12222
|
case 240:
|
12222
|
-
#line
|
12223
|
+
#line 1764 "ext/lexer/lexer.rl"
|
12223
12224
|
{te = p+1;{
|
12224
12225
|
if (NUM2INT(rb_ary_entry(lexer->source_pts, tm)) == '/') {
|
12225
12226
|
diagnostic(lexer, warning, ambiguous_literal, Qnil,
|
@@ -12231,38 +12232,38 @@ _eof_trans:
|
|
12231
12232
|
}}
|
12232
12233
|
break;
|
12233
12234
|
case 246:
|
12234
|
-
#line
|
12235
|
+
#line 1785 "ext/lexer/lexer.rl"
|
12235
12236
|
{te = p+1;{ p--; p--; {cs = 537;goto _again;} }}
|
12236
12237
|
break;
|
12237
12238
|
case 24:
|
12238
|
-
#line
|
12239
|
+
#line 1789 "ext/lexer/lexer.rl"
|
12239
12240
|
{te = p+1;{ p = ts - 1; {cs = 537;goto _again;} }}
|
12240
12241
|
break;
|
12241
12242
|
case 248:
|
12242
|
-
#line
|
12243
|
+
#line 1791 "ext/lexer/lexer.rl"
|
12243
12244
|
{te = p+1;{ p = tm - 1; {cs = 769;goto _again;} }}
|
12244
12245
|
break;
|
12245
12246
|
case 39:
|
12246
|
-
#line
|
12247
|
+
#line 1798 "ext/lexer/lexer.rl"
|
12247
12248
|
{te = p+1;{
|
12248
12249
|
p = ts - 1;
|
12249
12250
|
{cs = 769;goto _again;}
|
12250
12251
|
}}
|
12251
12252
|
break;
|
12252
12253
|
case 235:
|
12253
|
-
#line
|
12254
|
+
#line 1809 "ext/lexer/lexer.rl"
|
12254
12255
|
{te = p+1;{ p--; {cs = 537;goto _again;} }}
|
12255
12256
|
break;
|
12256
12257
|
case 236:
|
12257
|
-
#line
|
12258
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12258
12259
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12259
12260
|
break;
|
12260
12261
|
case 247:
|
12261
|
-
#line
|
12262
|
+
#line 1761 "ext/lexer/lexer.rl"
|
12262
12263
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12263
12264
|
break;
|
12264
12265
|
case 243:
|
12265
|
-
#line
|
12266
|
+
#line 1774 "ext/lexer/lexer.rl"
|
12266
12267
|
{te = p;p--;{
|
12267
12268
|
VALUE hash = rb_hash_new();
|
12268
12269
|
VALUE str = tok(lexer, tm, te);
|
@@ -12275,30 +12276,30 @@ _eof_trans:
|
|
12275
12276
|
}}
|
12276
12277
|
break;
|
12277
12278
|
case 245:
|
12278
|
-
#line
|
12279
|
+
#line 1787 "ext/lexer/lexer.rl"
|
12279
12280
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12280
12281
|
break;
|
12281
12282
|
case 239:
|
12282
|
-
#line
|
12283
|
+
#line 1798 "ext/lexer/lexer.rl"
|
12283
12284
|
{te = p;p--;{
|
12284
12285
|
p = ts - 1;
|
12285
12286
|
{cs = 769;goto _again;}
|
12286
12287
|
}}
|
12287
12288
|
break;
|
12288
12289
|
case 238:
|
12289
|
-
#line
|
12290
|
+
#line 1803 "ext/lexer/lexer.rl"
|
12290
12291
|
{te = p;p--;}
|
12291
12292
|
break;
|
12292
12293
|
case 256:
|
12293
|
-
#line
|
12294
|
+
#line 1809 "ext/lexer/lexer.rl"
|
12294
12295
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12295
12296
|
break;
|
12296
12297
|
case 25:
|
12297
|
-
#line
|
12298
|
+
#line 1803 "ext/lexer/lexer.rl"
|
12298
12299
|
{{p = ((te))-1;}}
|
12299
12300
|
break;
|
12300
12301
|
case 41:
|
12301
|
-
#line
|
12302
|
+
#line 1809 "ext/lexer/lexer.rl"
|
12302
12303
|
{{p = ((te))-1;}{ p--; {cs = 537;goto _again;} }}
|
12303
12304
|
break;
|
12304
12305
|
case 23:
|
@@ -12340,21 +12341,21 @@ _eof_trans:
|
|
12340
12341
|
}
|
12341
12342
|
break;
|
12342
12343
|
case 43:
|
12343
|
-
#line
|
12344
|
+
#line 1838 "ext/lexer/lexer.rl"
|
12344
12345
|
{te = p+1;{ p = ts - 1;
|
12345
12346
|
{cs = 468;goto _again;} }}
|
12346
12347
|
break;
|
12347
12348
|
case 261:
|
12348
|
-
#line
|
12349
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12349
12350
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12350
12351
|
break;
|
12351
12352
|
case 262:
|
12352
|
-
#line
|
12353
|
+
#line 1838 "ext/lexer/lexer.rl"
|
12353
12354
|
{te = p;p--;{ p = ts - 1;
|
12354
12355
|
{cs = 468;goto _again;} }}
|
12355
12356
|
break;
|
12356
12357
|
case 44:
|
12357
|
-
#line
|
12358
|
+
#line 1838 "ext/lexer/lexer.rl"
|
12358
12359
|
{{p = ((te))-1;}{ p = ts - 1;
|
12359
12360
|
{cs = 468;goto _again;} }}
|
12360
12361
|
break;
|
@@ -12379,43 +12380,43 @@ _eof_trans:
|
|
12379
12380
|
}
|
12380
12381
|
break;
|
12381
12382
|
case 272:
|
12382
|
-
#line
|
12383
|
+
#line 1856 "ext/lexer/lexer.rl"
|
12383
12384
|
{te = p+1;{ emit_do(lexer, 1, ts, te); cs = 761; {p++; goto _out; } }}
|
12384
12385
|
break;
|
12385
12386
|
case 265:
|
12386
|
-
#line
|
12387
|
+
#line 1861 "ext/lexer/lexer.rl"
|
12387
12388
|
{te = p+1;{ p--; {cs = 769;goto _again;} }}
|
12388
12389
|
break;
|
12389
12390
|
case 266:
|
12390
|
-
#line
|
12391
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12391
12392
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12392
12393
|
break;
|
12393
12394
|
case 267:
|
12394
|
-
#line
|
12395
|
+
#line 1858 "ext/lexer/lexer.rl"
|
12395
12396
|
{te = p;p--;}
|
12396
12397
|
break;
|
12397
12398
|
case 270:
|
12398
|
-
#line
|
12399
|
+
#line 1861 "ext/lexer/lexer.rl"
|
12399
12400
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
12400
12401
|
break;
|
12401
12402
|
case 276:
|
12402
|
-
#line
|
12403
|
+
#line 1877 "ext/lexer/lexer.rl"
|
12403
12404
|
{te = p+1;{ p--; {cs = 537;goto _again;} }}
|
12404
12405
|
break;
|
12405
12406
|
case 275:
|
12406
|
-
#line
|
12407
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12407
12408
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12408
12409
|
break;
|
12409
12410
|
case 284:
|
12410
|
-
#line
|
12411
|
+
#line 1871 "ext/lexer/lexer.rl"
|
12411
12412
|
{te = p;p--;{ p = ts - 1; {cs = 537;goto _again;} }}
|
12412
12413
|
break;
|
12413
12414
|
case 278:
|
12414
|
-
#line
|
12415
|
+
#line 1873 "ext/lexer/lexer.rl"
|
12415
12416
|
{te = p;p--;}
|
12416
12417
|
break;
|
12417
12418
|
case 282:
|
12418
|
-
#line
|
12419
|
+
#line 1877 "ext/lexer/lexer.rl"
|
12419
12420
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12420
12421
|
break;
|
12421
12422
|
case 277:
|
@@ -12432,21 +12433,21 @@ _eof_trans:
|
|
12432
12433
|
}
|
12433
12434
|
break;
|
12434
12435
|
case 56:
|
12435
|
-
#line
|
12436
|
+
#line 1883 "ext/lexer/lexer.rl"
|
12436
12437
|
{te = p+1;{
|
12437
12438
|
emit_token(lexer, tUNARY_NUM, tok(lexer, ts, ts + 1), ts, ts + 1);
|
12438
12439
|
p--; cs = 769; {p++; goto _out; }
|
12439
12440
|
}}
|
12440
12441
|
break;
|
12441
12442
|
case 315:
|
12442
|
-
#line
|
12443
|
+
#line 1890 "ext/lexer/lexer.rl"
|
12443
12444
|
{te = p+1;{
|
12444
12445
|
VALUE delimiter = rb_str_substr(lexer->source, ts, 1);
|
12445
12446
|
p--; {cs = (push_literal(lexer, delimiter, delimiter, ts, 0, 0, 0, 0)); goto _again;}
|
12446
12447
|
}}
|
12447
12448
|
break;
|
12448
12449
|
case 309:
|
12449
|
-
#line
|
12450
|
+
#line 1895 "ext/lexer/lexer.rl"
|
12450
12451
|
{te = p+1;{
|
12451
12452
|
VALUE type = rb_str_substr(lexer->source, ts, 1);
|
12452
12453
|
VALUE delimiter = rb_str_substr(lexer->source, te - 1, 1);
|
@@ -12457,7 +12458,7 @@ _eof_trans:
|
|
12457
12458
|
}}
|
12458
12459
|
break;
|
12459
12460
|
case 54:
|
12460
|
-
#line
|
12461
|
+
#line 1904 "ext/lexer/lexer.rl"
|
12461
12462
|
{te = p+1;{
|
12462
12463
|
VALUE type = rb_str_substr(lexer->source, ts, te - ts - 1);
|
12463
12464
|
VALUE delimiter = rb_str_substr(lexer->source, te - 1, 1);
|
@@ -12468,7 +12469,7 @@ _eof_trans:
|
|
12468
12469
|
}}
|
12469
12470
|
break;
|
12470
12471
|
case 328:
|
12471
|
-
#line
|
12472
|
+
#line 1986 "ext/lexer/lexer.rl"
|
12472
12473
|
{te = p+1;{
|
12473
12474
|
p--; p--;
|
12474
12475
|
emit_token(lexer, tSYMBEG, tok(lexer, ts, ts + 1), ts, ts + 1);
|
@@ -12476,7 +12477,7 @@ _eof_trans:
|
|
12476
12477
|
}}
|
12477
12478
|
break;
|
12478
12479
|
case 316:
|
12479
|
-
#line
|
12480
|
+
#line 1992 "ext/lexer/lexer.rl"
|
12480
12481
|
{te = p+1;{ /* ' */
|
12481
12482
|
VALUE type = tok(lexer, ts, te);
|
12482
12483
|
VALUE delimiter = tok(lexer, te - 1, te);
|
@@ -12484,21 +12485,21 @@ _eof_trans:
|
|
12484
12485
|
}}
|
12485
12486
|
break;
|
12486
12487
|
case 327:
|
12487
|
-
#line
|
12488
|
+
#line 1999 "ext/lexer/lexer.rl"
|
12488
12489
|
{te = p+1;{
|
12489
12490
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, ts + 2), ts, te);
|
12490
12491
|
cs = 769; {p++; goto _out; }
|
12491
12492
|
}}
|
12492
12493
|
break;
|
12493
12494
|
case 68:
|
12494
|
-
#line
|
12495
|
+
#line 2011 "ext/lexer/lexer.rl"
|
12495
12496
|
{te = p+1;{
|
12496
12497
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, te), ts, te);
|
12497
12498
|
cs = 769; {p++; goto _out; }
|
12498
12499
|
}}
|
12499
12500
|
break;
|
12500
12501
|
case 332:
|
12501
|
-
#line
|
12502
|
+
#line 2031 "ext/lexer/lexer.rl"
|
12502
12503
|
{te = p+1;{
|
12503
12504
|
VALUE escape = escape_char(rb_str_subseq(lexer->source, ts + 1, 1));
|
12504
12505
|
VALUE hash = rb_hash_new();
|
@@ -12511,19 +12512,19 @@ _eof_trans:
|
|
12511
12512
|
}}
|
12512
12513
|
break;
|
12513
12514
|
case 331:
|
12514
|
-
#line
|
12515
|
+
#line 2042 "ext/lexer/lexer.rl"
|
12515
12516
|
{te = p+1;{
|
12516
12517
|
diagnostic(lexer, fatal, incomplete_escape, Qnil,
|
12517
12518
|
range(lexer, ts, ts + 1), empty_array);
|
12518
12519
|
}}
|
12519
12520
|
break;
|
12520
12521
|
case 317:
|
12521
|
-
#line
|
12522
|
+
#line 2071 "ext/lexer/lexer.rl"
|
12522
12523
|
{te = p+1;{ emit_table_PUNCTUATION_BEGIN(lexer, tok(lexer, ts, te), ts, te);
|
12523
12524
|
{p++; goto _out; } }}
|
12524
12525
|
break;
|
12525
12526
|
case 51:
|
12526
|
-
#line
|
12527
|
+
#line 2085 "ext/lexer/lexer.rl"
|
12527
12528
|
{te = p+1;{
|
12528
12529
|
p--;
|
12529
12530
|
|
@@ -12548,7 +12549,7 @@ _eof_trans:
|
|
12548
12549
|
}}
|
12549
12550
|
break;
|
12550
12551
|
case 48:
|
12551
|
-
#line
|
12552
|
+
#line 2115 "ext/lexer/lexer.rl"
|
12552
12553
|
{te = p+1;{
|
12553
12554
|
emit_token(lexer, tIDENTIFIER, ident_tok, ident_ts, ident_te);
|
12554
12555
|
p = ident_te - 1;
|
@@ -12563,7 +12564,7 @@ _eof_trans:
|
|
12563
12564
|
}}
|
12564
12565
|
break;
|
12565
12566
|
case 303:
|
12566
|
-
#line
|
12567
|
+
#line 2130 "ext/lexer/lexer.rl"
|
12567
12568
|
{te = p+1;{
|
12568
12569
|
p = ts - 1;
|
12569
12570
|
lexer->cs_before_block_comment = lexer->cs;
|
@@ -12571,26 +12572,26 @@ _eof_trans:
|
|
12571
12572
|
}}
|
12572
12573
|
break;
|
12573
12574
|
case 55:
|
12574
|
-
#line
|
12575
|
+
#line 2140 "ext/lexer/lexer.rl"
|
12575
12576
|
{te = p+1;{ p = ts - 1; {cs = 769;goto _again;} }}
|
12576
12577
|
break;
|
12577
12578
|
case 287:
|
12578
|
-
#line
|
12579
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12579
12580
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12580
12581
|
break;
|
12581
12582
|
case 314:
|
12582
|
-
#line
|
12583
|
+
#line 1883 "ext/lexer/lexer.rl"
|
12583
12584
|
{te = p;p--;{
|
12584
12585
|
emit_token(lexer, tUNARY_NUM, tok(lexer, ts, ts + 1), ts, ts + 1);
|
12585
12586
|
p--; cs = 769; {p++; goto _out; }
|
12586
12587
|
}}
|
12587
12588
|
break;
|
12588
12589
|
case 313:
|
12589
|
-
#line
|
12590
|
+
#line 1888 "ext/lexer/lexer.rl"
|
12590
12591
|
{te = p;p--;{ emit(tSTAR); {p++; goto _out; } }}
|
12591
12592
|
break;
|
12592
12593
|
case 310:
|
12593
|
-
#line
|
12594
|
+
#line 1904 "ext/lexer/lexer.rl"
|
12594
12595
|
{te = p;p--;{
|
12595
12596
|
VALUE type = rb_str_substr(lexer->source, ts, te - ts - 1);
|
12596
12597
|
VALUE delimiter = rb_str_substr(lexer->source, te - 1, 1);
|
@@ -12601,37 +12602,37 @@ _eof_trans:
|
|
12601
12602
|
}}
|
12602
12603
|
break;
|
12603
12604
|
case 308:
|
12604
|
-
#line
|
12605
|
+
#line 1913 "ext/lexer/lexer.rl"
|
12605
12606
|
{te = p;p--;{
|
12606
12607
|
diagnostic(lexer, fatal, string_eof, Qnil,
|
12607
12608
|
range(lexer, ts, ts + 1), empty_array);
|
12608
12609
|
}}
|
12609
12610
|
break;
|
12610
12611
|
case 318:
|
12611
|
-
#line
|
12612
|
+
#line 2011 "ext/lexer/lexer.rl"
|
12612
12613
|
{te = p;p--;{
|
12613
12614
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, te), ts, te);
|
12614
12615
|
cs = 769; {p++; goto _out; }
|
12615
12616
|
}}
|
12616
12617
|
break;
|
12617
12618
|
case 330:
|
12618
|
-
#line
|
12619
|
+
#line 2042 "ext/lexer/lexer.rl"
|
12619
12620
|
{te = p;p--;{
|
12620
12621
|
diagnostic(lexer, fatal, incomplete_escape, Qnil,
|
12621
12622
|
range(lexer, ts, ts + 1), empty_array);
|
12622
12623
|
}}
|
12623
12624
|
break;
|
12624
12625
|
case 336:
|
12625
|
-
#line
|
12626
|
+
#line 2047 "ext/lexer/lexer.rl"
|
12626
12627
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
12627
12628
|
break;
|
12628
12629
|
case 311:
|
12629
|
-
#line
|
12630
|
+
#line 2071 "ext/lexer/lexer.rl"
|
12630
12631
|
{te = p;p--;{ emit_table_PUNCTUATION_BEGIN(lexer, tok(lexer, ts, te), ts, te);
|
12631
12632
|
{p++; goto _out; } }}
|
12632
12633
|
break;
|
12633
12634
|
case 290:
|
12634
|
-
#line
|
12635
|
+
#line 1597 "ext/lexer/lexer.rl"
|
12635
12636
|
{te = p;p--;{
|
12636
12637
|
VALUE str = tok(lexer, ts, te);
|
12637
12638
|
emit(tIDENTIFIER);
|
@@ -12644,11 +12645,11 @@ _eof_trans:
|
|
12644
12645
|
}}
|
12645
12646
|
break;
|
12646
12647
|
case 300:
|
12647
|
-
#line
|
12648
|
+
#line 2128 "ext/lexer/lexer.rl"
|
12648
12649
|
{te = p;p--;}
|
12649
12650
|
break;
|
12650
12651
|
case 302:
|
12651
|
-
#line
|
12652
|
+
#line 2130 "ext/lexer/lexer.rl"
|
12652
12653
|
{te = p;p--;{
|
12653
12654
|
p = ts - 1;
|
12654
12655
|
lexer->cs_before_block_comment = lexer->cs;
|
@@ -12656,18 +12657,18 @@ _eof_trans:
|
|
12656
12657
|
}}
|
12657
12658
|
break;
|
12658
12659
|
case 305:
|
12659
|
-
#line
|
12660
|
+
#line 2140 "ext/lexer/lexer.rl"
|
12660
12661
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
12661
12662
|
break;
|
12662
12663
|
case 53:
|
12663
|
-
#line
|
12664
|
+
#line 1913 "ext/lexer/lexer.rl"
|
12664
12665
|
{{p = ((te))-1;}{
|
12665
12666
|
diagnostic(lexer, fatal, string_eof, Qnil,
|
12666
12667
|
range(lexer, ts, ts + 1), empty_array);
|
12667
12668
|
}}
|
12668
12669
|
break;
|
12669
12670
|
case 71:
|
12670
|
-
#line
|
12671
|
+
#line 2018 "ext/lexer/lexer.rl"
|
12671
12672
|
{{p = ((te))-1;}{
|
12672
12673
|
VALUE value = lexer->escape;
|
12673
12674
|
if (value == Qnil)
|
@@ -12682,7 +12683,7 @@ _eof_trans:
|
|
12682
12683
|
}}
|
12683
12684
|
break;
|
12684
12685
|
case 47:
|
12685
|
-
#line
|
12686
|
+
#line 1597 "ext/lexer/lexer.rl"
|
12686
12687
|
{{p = ((te))-1;}{
|
12687
12688
|
VALUE str = tok(lexer, ts, te);
|
12688
12689
|
emit(tIDENTIFIER);
|
@@ -12695,11 +12696,11 @@ _eof_trans:
|
|
12695
12696
|
}}
|
12696
12697
|
break;
|
12697
12698
|
case 52:
|
12698
|
-
#line
|
12699
|
+
#line 2128 "ext/lexer/lexer.rl"
|
12699
12700
|
{{p = ((te))-1;}}
|
12700
12701
|
break;
|
12701
12702
|
case 67:
|
12702
|
-
#line
|
12703
|
+
#line 2140 "ext/lexer/lexer.rl"
|
12703
12704
|
{{p = ((te))-1;}{ p = ts - 1; {cs = 769;goto _again;} }}
|
12704
12705
|
break;
|
12705
12706
|
case 50:
|
@@ -12748,54 +12749,54 @@ _eof_trans:
|
|
12748
12749
|
}
|
12749
12750
|
break;
|
12750
12751
|
case 366:
|
12751
|
-
#line
|
12752
|
+
#line 2156 "ext/lexer/lexer.rl"
|
12752
12753
|
{te = p+1;{ p--; {cs = 537;goto _again;} }}
|
12753
12754
|
break;
|
12754
12755
|
case 367:
|
12755
|
-
#line
|
12756
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12756
12757
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12757
12758
|
break;
|
12758
12759
|
case 368:
|
12759
|
-
#line
|
12760
|
+
#line 2146 "ext/lexer/lexer.rl"
|
12760
12761
|
{te = p;p--;}
|
12761
12762
|
break;
|
12762
12763
|
case 372:
|
12763
|
-
#line
|
12764
|
+
#line 2156 "ext/lexer/lexer.rl"
|
12764
12765
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12765
12766
|
break;
|
12766
12767
|
case 74:
|
12767
|
-
#line
|
12768
|
+
#line 2162 "ext/lexer/lexer.rl"
|
12768
12769
|
{te = p+1;{ p = ts - 1; {cs = 769;goto _again;} }}
|
12769
12770
|
break;
|
12770
12771
|
case 376:
|
12771
|
-
#line
|
12772
|
+
#line 2164 "ext/lexer/lexer.rl"
|
12772
12773
|
{te = p+1;{ /* ' */
|
12773
12774
|
VALUE type = tok(lexer, ts, te);
|
12774
12775
|
{cs = (push_literal(lexer, type, type, ts, 0, 0, 0, 0)); goto _again;}
|
12775
12776
|
}}
|
12776
12777
|
break;
|
12777
12778
|
case 375:
|
12778
|
-
#line
|
12779
|
+
#line 2173 "ext/lexer/lexer.rl"
|
12779
12780
|
{te = p+1;{ p--; {cs = 537;goto _again;} }}
|
12780
12781
|
break;
|
12781
12782
|
case 374:
|
12782
|
-
#line
|
12783
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12783
12784
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12784
12785
|
break;
|
12785
12786
|
case 378:
|
12786
|
-
#line
|
12787
|
+
#line 2169 "ext/lexer/lexer.rl"
|
12787
12788
|
{te = p;p--;}
|
12788
12789
|
break;
|
12789
12790
|
case 377:
|
12790
|
-
#line
|
12791
|
+
#line 2173 "ext/lexer/lexer.rl"
|
12791
12792
|
{te = p;p--;{ p--; {cs = 537;goto _again;} }}
|
12792
12793
|
break;
|
12793
12794
|
case 73:
|
12794
|
-
#line
|
12795
|
+
#line 2173 "ext/lexer/lexer.rl"
|
12795
12796
|
{{p = ((te))-1;}{ p--; {cs = 537;goto _again;} }}
|
12796
12797
|
break;
|
12797
12798
|
case 412:
|
12798
|
-
#line
|
12799
|
+
#line 2179 "ext/lexer/lexer.rl"
|
12799
12800
|
{te = p+1;{
|
12800
12801
|
emit_token(lexer, tLAMBDA, tok(lexer, ts, ts + 2), ts, ts + 2);
|
12801
12802
|
rb_ary_push(lexer->lambda_stack, INT2NUM(lexer->paren_nest));
|
@@ -12803,13 +12804,13 @@ _eof_trans:
|
|
12803
12804
|
}}
|
12804
12805
|
break;
|
12805
12806
|
case 84:
|
12806
|
-
#line
|
12807
|
+
#line 2212 "ext/lexer/lexer.rl"
|
12807
12808
|
{te = p+1;{ emit_token(lexer, kCLASS, rb_str_new2("class"), ts, ts + 5);
|
12808
12809
|
emit_token(lexer, tLSHFT, rb_str_new2("<<"), te - 2, te);
|
12809
12810
|
cs = 761; {p++; goto _out; } }}
|
12810
12811
|
break;
|
12811
12812
|
case 386:
|
12812
|
-
#line
|
12813
|
+
#line 2349 "ext/lexer/lexer.rl"
|
12813
12814
|
{te = p+1;{ /* ' */
|
12814
12815
|
VALUE type = tok(lexer, ts, te);
|
12815
12816
|
VALUE delimiter = tok(lexer, te - 1, te);
|
@@ -12817,7 +12818,7 @@ _eof_trans:
|
|
12817
12818
|
}}
|
12818
12819
|
break;
|
12819
12820
|
case 76:
|
12820
|
-
#line
|
12821
|
+
#line 2364 "ext/lexer/lexer.rl"
|
12821
12822
|
{te = p+1;{ p = ts - 1; {
|
12822
12823
|
/* grow the state stack as needed */
|
12823
12824
|
if (lexer->cs_stack_top == lexer->cs_stack_size) {
|
@@ -12830,26 +12831,26 @@ _eof_trans:
|
|
12830
12831
|
{stack[top++] = cs; cs = 322;goto _again;}} }}
|
12831
12832
|
break;
|
12832
12833
|
case 408:
|
12833
|
-
#line
|
12834
|
+
#line 2373 "ext/lexer/lexer.rl"
|
12834
12835
|
{te = p+1;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12835
12836
|
cs = 447; {p++; goto _out; } }}
|
12836
12837
|
break;
|
12837
12838
|
case 470:
|
12838
|
-
#line
|
12839
|
+
#line 2388 "ext/lexer/lexer.rl"
|
12839
12840
|
{te = p+1;{
|
12840
12841
|
emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12841
12842
|
{cs = 761;goto _again;}
|
12842
12843
|
}}
|
12843
12844
|
break;
|
12844
12845
|
case 401:
|
12845
|
-
#line
|
12846
|
+
#line 2394 "ext/lexer/lexer.rl"
|
12846
12847
|
{te = p+1;{
|
12847
12848
|
emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12848
12849
|
cs = 761; {p++; goto _out; }
|
12849
12850
|
}}
|
12850
12851
|
break;
|
12851
12852
|
case 393:
|
12852
|
-
#line
|
12853
|
+
#line 2437 "ext/lexer/lexer.rl"
|
12853
12854
|
{te = p+1;{
|
12854
12855
|
emit(tRBRACK);
|
12855
12856
|
|
@@ -12871,25 +12872,25 @@ _eof_trans:
|
|
12871
12872
|
}}
|
12872
12873
|
break;
|
12873
12874
|
case 406:
|
12874
|
-
#line
|
12875
|
+
#line 2458 "ext/lexer/lexer.rl"
|
12875
12876
|
{te = p+1;{ emit_token(lexer, tOP_ASGN, tok(lexer, ts, te - 1), ts, te);
|
12876
12877
|
cs = 537; {p++; goto _out; } }}
|
12877
12878
|
break;
|
12878
12879
|
case 391:
|
12879
|
-
#line
|
12880
|
+
#line 2461 "ext/lexer/lexer.rl"
|
12880
12881
|
{te = p+1;{ emit(tEH); cs = 761; {p++; goto _out; } }}
|
12881
12882
|
break;
|
12882
12883
|
case 388:
|
12883
|
-
#line
|
12884
|
+
#line 2466 "ext/lexer/lexer.rl"
|
12884
12885
|
{te = p+1;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12885
12886
|
cs = 537; {p++; goto _out; } }}
|
12886
12887
|
break;
|
12887
12888
|
case 390:
|
12888
|
-
#line
|
12889
|
+
#line 2473 "ext/lexer/lexer.rl"
|
12889
12890
|
{te = p+1;{ emit(tSEMI); cs = 761; {p++; goto _out; } }}
|
12890
12891
|
break;
|
12891
12892
|
case 475:
|
12892
|
-
#line
|
12893
|
+
#line 2475 "ext/lexer/lexer.rl"
|
12893
12894
|
{te = p+1;{
|
12894
12895
|
diagnostic(lexer, severity_error, bare_backslash, Qnil,
|
12895
12896
|
range(lexer, ts, ts + 1), empty_array);
|
@@ -12897,7 +12898,7 @@ _eof_trans:
|
|
12897
12898
|
}}
|
12898
12899
|
break;
|
12899
12900
|
case 385:
|
12900
|
-
#line
|
12901
|
+
#line 2482 "ext/lexer/lexer.rl"
|
12901
12902
|
{te = p+1;{
|
12902
12903
|
VALUE hash = rb_hash_new();
|
12903
12904
|
VALUE str = rb_str_inspect(tok(lexer, ts, te));
|
@@ -12906,38 +12907,38 @@ _eof_trans:
|
|
12906
12907
|
}}
|
12907
12908
|
break;
|
12908
12909
|
case 384:
|
12909
|
-
#line
|
12910
|
+
#line 1025 "ext/lexer/lexer.rl"
|
12910
12911
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
12911
12912
|
break;
|
12912
12913
|
case 485:
|
12913
|
-
#line
|
12914
|
+
#line 2208 "ext/lexer/lexer.rl"
|
12914
12915
|
{te = p;p--;{ emit_table_KEYWORDS(lexer, tok(lexer, ts, te), ts, te);
|
12915
12916
|
cs = 327; {p++; goto _out; } }}
|
12916
12917
|
break;
|
12917
12918
|
case 483:
|
12918
|
-
#line
|
12919
|
+
#line 2212 "ext/lexer/lexer.rl"
|
12919
12920
|
{te = p;p--;{ emit_token(lexer, kCLASS, rb_str_new2("class"), ts, ts + 5);
|
12920
12921
|
emit_token(lexer, tLSHFT, rb_str_new2("<<"), te - 2, te);
|
12921
12922
|
cs = 761; {p++; goto _out; } }}
|
12922
12923
|
break;
|
12923
12924
|
case 482:
|
12924
|
-
#line
|
12925
|
+
#line 2221 "ext/lexer/lexer.rl"
|
12925
12926
|
{te = p;p--;{ emit_table_KEYWORDS(lexer, tok(lexer, ts, te), ts, te);
|
12926
12927
|
cs = 761; {p++; goto _out; } }}
|
12927
12928
|
break;
|
12928
12929
|
case 416:
|
12929
|
-
#line
|
12930
|
+
#line 2299 "ext/lexer/lexer.rl"
|
12930
12931
|
{te = p;p--;{
|
12931
12932
|
diagnostic(lexer, severity_error, no_dot_digit_literal, Qnil,
|
12932
12933
|
range(lexer, ts, te), empty_array);
|
12933
12934
|
}}
|
12934
12935
|
break;
|
12935
12936
|
case 472:
|
12936
|
-
#line
|
12937
|
+
#line 2355 "ext/lexer/lexer.rl"
|
12937
12938
|
{te = p;p--;{ emit(tCONSTANT); cs = (arg_or_cmdarg(command_state)); {p++; goto _out; } }}
|
12938
12939
|
break;
|
12939
12940
|
case 405:
|
12940
|
-
#line
|
12941
|
+
#line 2364 "ext/lexer/lexer.rl"
|
12941
12942
|
{te = p;p--;{ p = ts - 1; {
|
12942
12943
|
/* grow the state stack as needed */
|
12943
12944
|
if (lexer->cs_stack_top == lexer->cs_stack_size) {
|
@@ -12950,12 +12951,12 @@ _eof_trans:
|
|
12950
12951
|
{stack[top++] = cs; cs = 322;goto _again;}} }}
|
12951
12952
|
break;
|
12952
12953
|
case 413:
|
12953
|
-
#line
|
12954
|
+
#line 2373 "ext/lexer/lexer.rl"
|
12954
12955
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12955
12956
|
cs = 447; {p++; goto _out; } }}
|
12956
12957
|
break;
|
12957
12958
|
case 477:
|
12958
|
-
#line
|
12959
|
+
#line 1597 "ext/lexer/lexer.rl"
|
12959
12960
|
{te = p;p--;{
|
12960
12961
|
VALUE str = tok(lexer, ts, te);
|
12961
12962
|
emit(tIDENTIFIER);
|
@@ -12968,35 +12969,35 @@ _eof_trans:
|
|
12968
12969
|
}}
|
12969
12970
|
break;
|
12970
12971
|
case 411:
|
12971
|
-
#line
|
12972
|
+
#line 2388 "ext/lexer/lexer.rl"
|
12972
12973
|
{te = p;p--;{
|
12973
12974
|
emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12974
12975
|
{cs = 761;goto _again;}
|
12975
12976
|
}}
|
12976
12977
|
break;
|
12977
12978
|
case 407:
|
12978
|
-
#line
|
12979
|
+
#line 2394 "ext/lexer/lexer.rl"
|
12979
12980
|
{te = p;p--;{
|
12980
12981
|
emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12981
12982
|
cs = 761; {p++; goto _out; }
|
12982
12983
|
}}
|
12983
12984
|
break;
|
12984
12985
|
case 400:
|
12985
|
-
#line
|
12986
|
+
#line 2400 "ext/lexer/lexer.rl"
|
12986
12987
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12987
12988
|
cs = 537; {p++; goto _out; } }}
|
12988
12989
|
break;
|
12989
12990
|
case 415:
|
12990
|
-
#line
|
12991
|
+
#line 2466 "ext/lexer/lexer.rl"
|
12991
12992
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
12992
12993
|
cs = 537; {p++; goto _out; } }}
|
12993
12994
|
break;
|
12994
12995
|
case 398:
|
12995
|
-
#line
|
12996
|
+
#line 2469 "ext/lexer/lexer.rl"
|
12996
12997
|
{te = p;p--;}
|
12997
12998
|
break;
|
12998
12999
|
case 404:
|
12999
|
-
#line
|
13000
|
+
#line 2482 "ext/lexer/lexer.rl"
|
13000
13001
|
{te = p;p--;{
|
13001
13002
|
VALUE hash = rb_hash_new();
|
13002
13003
|
VALUE str = rb_str_inspect(tok(lexer, ts, te));
|
@@ -13005,7 +13006,7 @@ _eof_trans:
|
|
13005
13006
|
}}
|
13006
13007
|
break;
|
13007
13008
|
case 82:
|
13008
|
-
#line
|
13009
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13009
13010
|
{{p = ((te))-1;}{
|
13010
13011
|
int invalid_idx;
|
13011
13012
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13038,14 +13039,14 @@ _eof_trans:
|
|
13038
13039
|
}}
|
13039
13040
|
break;
|
13040
13041
|
case 77:
|
13041
|
-
#line
|
13042
|
+
#line 2299 "ext/lexer/lexer.rl"
|
13042
13043
|
{{p = ((te))-1;}{
|
13043
13044
|
diagnostic(lexer, severity_error, no_dot_digit_literal, Qnil,
|
13044
13045
|
range(lexer, ts, te), empty_array);
|
13045
13046
|
}}
|
13046
13047
|
break;
|
13047
13048
|
case 81:
|
13048
|
-
#line
|
13049
|
+
#line 2336 "ext/lexer/lexer.rl"
|
13049
13050
|
{{p = ((te))-1;}{
|
13050
13051
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
13051
13052
|
|
@@ -13060,7 +13061,7 @@ _eof_trans:
|
|
13060
13061
|
}}
|
13061
13062
|
break;
|
13062
13063
|
case 75:
|
13063
|
-
#line
|
13064
|
+
#line 2482 "ext/lexer/lexer.rl"
|
13064
13065
|
{{p = ((te))-1;}{
|
13065
13066
|
VALUE hash = rb_hash_new();
|
13066
13067
|
VALUE str = rb_str_inspect(tok(lexer, ts, te));
|
@@ -13261,39 +13262,39 @@ _eof_trans:
|
|
13261
13262
|
}
|
13262
13263
|
break;
|
13263
13264
|
case 88:
|
13264
|
-
#line
|
13265
|
+
#line 2493 "ext/lexer/lexer.rl"
|
13265
13266
|
{te = p+1;{ p = tm - 1; {cs = 769;goto _again;} }}
|
13266
13267
|
break;
|
13267
13268
|
case 490:
|
13268
|
-
#line
|
13269
|
+
#line 2495 "ext/lexer/lexer.rl"
|
13269
13270
|
{te = p+1;{
|
13270
13271
|
emit_token(lexer, tNL, Qnil, lexer->newline_s, lexer->newline_s + 1);
|
13271
13272
|
p--; cs = 183; {p++; goto _out; }
|
13272
13273
|
}}
|
13273
13274
|
break;
|
13274
13275
|
case 491:
|
13275
|
-
#line
|
13276
|
+
#line 2495 "ext/lexer/lexer.rl"
|
13276
13277
|
{te = p;p--;{
|
13277
13278
|
emit_token(lexer, tNL, Qnil, lexer->newline_s, lexer->newline_s + 1);
|
13278
13279
|
p--; cs = 183; {p++; goto _out; }
|
13279
13280
|
}}
|
13280
13281
|
break;
|
13281
13282
|
case 85:
|
13282
|
-
#line
|
13283
|
+
#line 2495 "ext/lexer/lexer.rl"
|
13283
13284
|
{{p = ((te))-1;}{
|
13284
13285
|
emit_token(lexer, tNL, Qnil, lexer->newline_s, lexer->newline_s + 1);
|
13285
13286
|
p--; cs = 183; {p++; goto _out; }
|
13286
13287
|
}}
|
13287
13288
|
break;
|
13288
13289
|
case 494:
|
13289
|
-
#line
|
13290
|
+
#line 2502 "ext/lexer/lexer.rl"
|
13290
13291
|
{te = p;p--;{
|
13291
13292
|
emit_comment(lexer, lexer->eq_begin_s, te);
|
13292
13293
|
{cs = (lexer->cs_before_block_comment); goto _again;}
|
13293
13294
|
}}
|
13294
13295
|
break;
|
13295
13296
|
case 493:
|
13296
|
-
#line
|
13297
|
+
#line 2509 "ext/lexer/lexer.rl"
|
13297
13298
|
{te = p;p--;{
|
13298
13299
|
diagnostic(lexer, fatal, embedded_document, Qnil,
|
13299
13300
|
range(lexer, lexer->eq_begin_s, lexer->eq_begin_s + 6),
|
@@ -13301,53 +13302,53 @@ _eof_trans:
|
|
13301
13302
|
}}
|
13302
13303
|
break;
|
13303
13304
|
case 99:
|
13304
|
-
#line
|
13305
|
+
#line 2519 "ext/lexer/lexer.rl"
|
13305
13306
|
{te = p+1;{
|
13306
13307
|
lexer->eq_begin_s = ts;
|
13307
13308
|
{cs = 951;goto _again;}
|
13308
13309
|
}}
|
13309
13310
|
break;
|
13310
13311
|
case 2:
|
13311
|
-
#line
|
13312
|
+
#line 2524 "ext/lexer/lexer.rl"
|
13312
13313
|
{te = p+1;{ p = pe - 3; }}
|
13313
13314
|
break;
|
13314
13315
|
case 91:
|
13315
|
-
#line
|
13316
|
+
#line 2526 "ext/lexer/lexer.rl"
|
13316
13317
|
{te = p+1;{ p--; {cs = 761;goto _again;} }}
|
13317
13318
|
break;
|
13318
13319
|
case 92:
|
13319
|
-
#line
|
13320
|
+
#line 1025 "ext/lexer/lexer.rl"
|
13320
13321
|
{te = p+1;{ p--; {p++; goto _out; } }}
|
13321
13322
|
break;
|
13322
13323
|
case 93:
|
13323
|
-
#line
|
13324
|
+
#line 2517 "ext/lexer/lexer.rl"
|
13324
13325
|
{te = p;p--;}
|
13325
13326
|
break;
|
13326
13327
|
case 98:
|
13327
|
-
#line
|
13328
|
+
#line 2519 "ext/lexer/lexer.rl"
|
13328
13329
|
{te = p;p--;{
|
13329
13330
|
lexer->eq_begin_s = ts;
|
13330
13331
|
{cs = 951;goto _again;}
|
13331
13332
|
}}
|
13332
13333
|
break;
|
13333
13334
|
case 97:
|
13334
|
-
#line
|
13335
|
+
#line 2526 "ext/lexer/lexer.rl"
|
13335
13336
|
{te = p;p--;{ p--; {cs = 761;goto _again;} }}
|
13336
13337
|
break;
|
13337
13338
|
case 1:
|
13338
|
-
#line
|
13339
|
+
#line 2526 "ext/lexer/lexer.rl"
|
13339
13340
|
{{p = ((te))-1;}{ p--; {cs = 761;goto _again;} }}
|
13340
13341
|
break;
|
13341
13342
|
case 66:
|
13342
|
-
#line
|
13343
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13343
13344
|
{ lexer->newline_s = p; }
|
13344
|
-
#line
|
13345
|
+
#line 1542 "ext/lexer/lexer.rl"
|
13345
13346
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
13346
13347
|
break;
|
13347
13348
|
case 103:
|
13348
|
-
#line
|
13349
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13349
13350
|
{ lexer->newline_s = p; }
|
13350
|
-
#line
|
13351
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13351
13352
|
{te = p+1;{
|
13352
13353
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13353
13354
|
long str_s = current_literal->str_s;
|
@@ -13393,9 +13394,9 @@ _eof_trans:
|
|
13393
13394
|
}}
|
13394
13395
|
break;
|
13395
13396
|
case 132:
|
13396
|
-
#line
|
13397
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13397
13398
|
{ lexer->newline_s = p; }
|
13398
|
-
#line
|
13399
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13399
13400
|
{te = p+1;{
|
13400
13401
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13401
13402
|
long str_s = current_literal->str_s;
|
@@ -13441,9 +13442,9 @@ _eof_trans:
|
|
13441
13442
|
}}
|
13442
13443
|
break;
|
13443
13444
|
case 159:
|
13444
|
-
#line
|
13445
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13445
13446
|
{ lexer->newline_s = p; }
|
13446
|
-
#line
|
13447
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13447
13448
|
{te = p+1;{
|
13448
13449
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13449
13450
|
long str_s = current_literal->str_s;
|
@@ -13489,9 +13490,9 @@ _eof_trans:
|
|
13489
13490
|
}}
|
13490
13491
|
break;
|
13491
13492
|
case 165:
|
13492
|
-
#line
|
13493
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13493
13494
|
{ lexer->newline_s = p; }
|
13494
|
-
#line
|
13495
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13495
13496
|
{te = p+1;{
|
13496
13497
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13497
13498
|
long str_s = current_literal->str_s;
|
@@ -13537,9 +13538,9 @@ _eof_trans:
|
|
13537
13538
|
}}
|
13538
13539
|
break;
|
13539
13540
|
case 171:
|
13540
|
-
#line
|
13541
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13541
13542
|
{ lexer->newline_s = p; }
|
13542
|
-
#line
|
13543
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13543
13544
|
{te = p+1;{
|
13544
13545
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13545
13546
|
long str_s = current_literal->str_s;
|
@@ -13585,9 +13586,9 @@ _eof_trans:
|
|
13585
13586
|
}}
|
13586
13587
|
break;
|
13587
13588
|
case 177:
|
13588
|
-
#line
|
13589
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13589
13590
|
{ lexer->newline_s = p; }
|
13590
|
-
#line
|
13591
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13591
13592
|
{te = p+1;{
|
13592
13593
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13593
13594
|
long str_s = current_literal->str_s;
|
@@ -13633,9 +13634,9 @@ _eof_trans:
|
|
13633
13634
|
}}
|
13634
13635
|
break;
|
13635
13636
|
case 180:
|
13636
|
-
#line
|
13637
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13637
13638
|
{ lexer->newline_s = p; }
|
13638
|
-
#line
|
13639
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13639
13640
|
{te = p+1;{
|
13640
13641
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13641
13642
|
long str_s = current_literal->str_s;
|
@@ -13681,9 +13682,9 @@ _eof_trans:
|
|
13681
13682
|
}}
|
13682
13683
|
break;
|
13683
13684
|
case 187:
|
13684
|
-
#line
|
13685
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13685
13686
|
{ lexer->newline_s = p; }
|
13686
|
-
#line
|
13687
|
+
#line 1339 "ext/lexer/lexer.rl"
|
13687
13688
|
{te = p+1;{
|
13688
13689
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
13689
13690
|
long str_s = current_literal->str_s;
|
@@ -13729,30 +13730,30 @@ _eof_trans:
|
|
13729
13730
|
}}
|
13730
13731
|
break;
|
13731
13732
|
case 258:
|
13732
|
-
#line
|
13733
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13733
13734
|
{ lexer->newline_s = p; }
|
13734
|
-
#line
|
13735
|
+
#line 1759 "ext/lexer/lexer.rl"
|
13735
13736
|
{te = p+1;{ p = ts - 1; {cs = 769;goto _again;} }}
|
13736
13737
|
break;
|
13737
13738
|
case 249:
|
13738
|
-
#line
|
13739
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13739
13740
|
{ lexer->newline_s = p; }
|
13740
|
-
#line
|
13741
|
+
#line 1791 "ext/lexer/lexer.rl"
|
13741
13742
|
{te = p+1;{ p = tm - 1; {cs = 769;goto _again;} }}
|
13742
13743
|
break;
|
13743
13744
|
case 241:
|
13744
|
-
#line
|
13745
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13745
13746
|
{ lexer->newline_s = p; }
|
13746
|
-
#line
|
13747
|
+
#line 1798 "ext/lexer/lexer.rl"
|
13747
13748
|
{te = p+1;{
|
13748
13749
|
p = ts - 1;
|
13749
13750
|
{cs = 769;goto _again;}
|
13750
13751
|
}}
|
13751
13752
|
break;
|
13752
13753
|
case 333:
|
13753
|
-
#line
|
13754
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13754
13755
|
{ lexer->newline_s = p; }
|
13755
|
-
#line
|
13756
|
+
#line 2031 "ext/lexer/lexer.rl"
|
13756
13757
|
{te = p+1;{
|
13757
13758
|
VALUE escape = escape_char(rb_str_subseq(lexer->source, ts + 1, 1));
|
13758
13759
|
VALUE hash = rb_hash_new();
|
@@ -13765,9 +13766,9 @@ _eof_trans:
|
|
13765
13766
|
}}
|
13766
13767
|
break;
|
13767
13768
|
case 304:
|
13768
|
-
#line
|
13769
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13769
13770
|
{ lexer->newline_s = p; }
|
13770
|
-
#line
|
13771
|
+
#line 2130 "ext/lexer/lexer.rl"
|
13771
13772
|
{te = p+1;{
|
13772
13773
|
p = ts - 1;
|
13773
13774
|
lexer->cs_before_block_comment = lexer->cs;
|
@@ -13775,39 +13776,39 @@ _eof_trans:
|
|
13775
13776
|
}}
|
13776
13777
|
break;
|
13777
13778
|
case 495:
|
13778
|
-
#line
|
13779
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13779
13780
|
{ lexer->newline_s = p; }
|
13780
|
-
#line
|
13781
|
+
#line 2502 "ext/lexer/lexer.rl"
|
13781
13782
|
{te = p+1;{
|
13782
13783
|
emit_comment(lexer, lexer->eq_begin_s, te);
|
13783
13784
|
{cs = (lexer->cs_before_block_comment); goto _again;}
|
13784
13785
|
}}
|
13785
13786
|
break;
|
13786
13787
|
case 492:
|
13787
|
-
#line
|
13788
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13788
13789
|
{ lexer->newline_s = p; }
|
13789
|
-
#line
|
13790
|
+
#line 2507 "ext/lexer/lexer.rl"
|
13790
13791
|
{te = p+1;}
|
13791
13792
|
break;
|
13792
13793
|
case 100:
|
13793
|
-
#line
|
13794
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13794
13795
|
{ lexer->newline_s = p; }
|
13795
|
-
#line
|
13796
|
+
#line 2519 "ext/lexer/lexer.rl"
|
13796
13797
|
{te = p+1;{
|
13797
13798
|
lexer->eq_begin_s = ts;
|
13798
13799
|
{cs = 951;goto _again;}
|
13799
13800
|
}}
|
13800
13801
|
break;
|
13801
13802
|
case 3:
|
13802
|
-
#line
|
13803
|
+
#line 1006 "ext/lexer/lexer.rl"
|
13803
13804
|
{ lexer->newline_s = p; }
|
13804
|
-
#line
|
13805
|
+
#line 2524 "ext/lexer/lexer.rl"
|
13805
13806
|
{te = p+1;{ p = pe - 3; }}
|
13806
13807
|
break;
|
13807
13808
|
case 442:
|
13808
|
-
#line
|
13809
|
+
#line 1081 "ext/lexer/lexer.rl"
|
13809
13810
|
{ num_xfrm = emit_rational; numeric_s = ts; }
|
13810
|
-
#line
|
13811
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13811
13812
|
{te = p;p--;{
|
13812
13813
|
int invalid_idx;
|
13813
13814
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13840,9 +13841,9 @@ _eof_trans:
|
|
13840
13841
|
}}
|
13841
13842
|
break;
|
13842
13843
|
case 440:
|
13843
|
-
#line
|
13844
|
+
#line 1082 "ext/lexer/lexer.rl"
|
13844
13845
|
{ num_xfrm = emit_complex; numeric_s = ts; }
|
13845
|
-
#line
|
13846
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13846
13847
|
{te = p;p--;{
|
13847
13848
|
int invalid_idx;
|
13848
13849
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13875,9 +13876,9 @@ _eof_trans:
|
|
13875
13876
|
}}
|
13876
13877
|
break;
|
13877
13878
|
case 444:
|
13878
|
-
#line
|
13879
|
+
#line 1083 "ext/lexer/lexer.rl"
|
13879
13880
|
{ num_xfrm = emit_complex_rational; numeric_s = ts; }
|
13880
|
-
#line
|
13881
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13881
13882
|
{te = p;p--;{
|
13882
13883
|
int invalid_idx;
|
13883
13884
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13910,9 +13911,9 @@ _eof_trans:
|
|
13910
13911
|
}}
|
13911
13912
|
break;
|
13912
13913
|
case 441:
|
13913
|
-
#line
|
13914
|
+
#line 1084 "ext/lexer/lexer.rl"
|
13914
13915
|
{ num_xfrm = emit_int_followed_by_if; numeric_s = ts; p -= 2; }
|
13915
|
-
#line
|
13916
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13916
13917
|
{te = p;p--;{
|
13917
13918
|
int invalid_idx;
|
13918
13919
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13945,9 +13946,9 @@ _eof_trans:
|
|
13945
13946
|
}}
|
13946
13947
|
break;
|
13947
13948
|
case 443:
|
13948
|
-
#line
|
13949
|
+
#line 1085 "ext/lexer/lexer.rl"
|
13949
13950
|
{ num_xfrm = emit_int_followed_by_rescue; numeric_s = ts; p -= 6; }
|
13950
|
-
#line
|
13951
|
+
#line 2267 "ext/lexer/lexer.rl"
|
13951
13952
|
{te = p;p--;{
|
13952
13953
|
int invalid_idx;
|
13953
13954
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -13980,9 +13981,9 @@ _eof_trans:
|
|
13980
13981
|
}}
|
13981
13982
|
break;
|
13982
13983
|
case 432:
|
13983
|
-
#line
|
13984
|
+
#line 1089 "ext/lexer/lexer.rl"
|
13984
13985
|
{ num_xfrm = emit_complex_float; numeric_s = ts; }
|
13985
|
-
#line
|
13986
|
+
#line 2336 "ext/lexer/lexer.rl"
|
13986
13987
|
{te = p;p--;{
|
13987
13988
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
13988
13989
|
|
@@ -13997,9 +13998,9 @@ _eof_trans:
|
|
13997
13998
|
}}
|
13998
13999
|
break;
|
13999
14000
|
case 433:
|
14000
|
-
#line
|
14001
|
+
#line 1090 "ext/lexer/lexer.rl"
|
14001
14002
|
{ num_xfrm = emit_float_followed_by_if; numeric_s = ts; p -= 2; }
|
14002
|
-
#line
|
14003
|
+
#line 2336 "ext/lexer/lexer.rl"
|
14003
14004
|
{te = p;p--;{
|
14004
14005
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
14005
14006
|
|
@@ -14014,9 +14015,9 @@ _eof_trans:
|
|
14014
14015
|
}}
|
14015
14016
|
break;
|
14016
14017
|
case 434:
|
14017
|
-
#line
|
14018
|
+
#line 1094 "ext/lexer/lexer.rl"
|
14018
14019
|
{ num_xfrm = emit_rational; numeric_s = ts; }
|
14019
|
-
#line
|
14020
|
+
#line 2336 "ext/lexer/lexer.rl"
|
14020
14021
|
{te = p;p--;{
|
14021
14022
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
14022
14023
|
|
@@ -14031,9 +14032,9 @@ _eof_trans:
|
|
14031
14032
|
}}
|
14032
14033
|
break;
|
14033
14034
|
case 436:
|
14034
|
-
#line
|
14035
|
+
#line 1095 "ext/lexer/lexer.rl"
|
14035
14036
|
{ num_xfrm = emit_complex_rational; numeric_s = ts; }
|
14036
|
-
#line
|
14037
|
+
#line 2336 "ext/lexer/lexer.rl"
|
14037
14038
|
{te = p;p--;{
|
14038
14039
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
14039
14040
|
|
@@ -14048,9 +14049,9 @@ _eof_trans:
|
|
14048
14049
|
}}
|
14049
14050
|
break;
|
14050
14051
|
case 435:
|
14051
|
-
#line
|
14052
|
+
#line 1096 "ext/lexer/lexer.rl"
|
14052
14053
|
{ num_xfrm = emit_float_followed_by_rescue; numeric_s = ts; p -= 6; }
|
14053
|
-
#line
|
14054
|
+
#line 2336 "ext/lexer/lexer.rl"
|
14054
14055
|
{te = p;p--;{
|
14055
14056
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
14056
14057
|
|
@@ -14065,7 +14066,7 @@ _eof_trans:
|
|
14065
14066
|
}}
|
14066
14067
|
break;
|
14067
14068
|
case 126:
|
14068
|
-
#line
|
14069
|
+
#line 1100 "ext/lexer/lexer.rl"
|
14069
14070
|
{
|
14070
14071
|
lexer->escape = rb_str_new2("");
|
14071
14072
|
|
@@ -14120,7 +14121,7 @@ _eof_trans:
|
|
14120
14121
|
}
|
14121
14122
|
}
|
14122
14123
|
}
|
14123
|
-
#line
|
14124
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14124
14125
|
{te = p;p--;{
|
14125
14126
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14126
14127
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14151,7 +14152,7 @@ _eof_trans:
|
|
14151
14152
|
}}
|
14152
14153
|
break;
|
14153
14154
|
case 153:
|
14154
|
-
#line
|
14155
|
+
#line 1100 "ext/lexer/lexer.rl"
|
14155
14156
|
{
|
14156
14157
|
lexer->escape = rb_str_new2("");
|
14157
14158
|
|
@@ -14206,7 +14207,7 @@ _eof_trans:
|
|
14206
14207
|
}
|
14207
14208
|
}
|
14208
14209
|
}
|
14209
|
-
#line
|
14210
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14210
14211
|
{te = p;p--;{
|
14211
14212
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14212
14213
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14237,7 +14238,7 @@ _eof_trans:
|
|
14237
14238
|
}}
|
14238
14239
|
break;
|
14239
14240
|
case 354:
|
14240
|
-
#line
|
14241
|
+
#line 1100 "ext/lexer/lexer.rl"
|
14241
14242
|
{
|
14242
14243
|
lexer->escape = rb_str_new2("");
|
14243
14244
|
|
@@ -14292,7 +14293,7 @@ _eof_trans:
|
|
14292
14293
|
}
|
14293
14294
|
}
|
14294
14295
|
}
|
14295
|
-
#line
|
14296
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14296
14297
|
{te = p;p--;{
|
14297
14298
|
VALUE value = lexer->escape;
|
14298
14299
|
if (value == Qnil)
|
@@ -14307,7 +14308,7 @@ _eof_trans:
|
|
14307
14308
|
}}
|
14308
14309
|
break;
|
14309
14310
|
case 110:
|
14310
|
-
#line
|
14311
|
+
#line 1155 "ext/lexer/lexer.rl"
|
14311
14312
|
{
|
14312
14313
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
14313
14314
|
lexer->escape = unescape_char(c);
|
@@ -14318,7 +14319,7 @@ _eof_trans:
|
|
14318
14319
|
force_encoding(codepoint, lexer->encoding);
|
14319
14320
|
}
|
14320
14321
|
}
|
14321
|
-
#line
|
14322
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14322
14323
|
{te = p;p--;{
|
14323
14324
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14324
14325
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14349,7 +14350,7 @@ _eof_trans:
|
|
14349
14350
|
}}
|
14350
14351
|
break;
|
14351
14352
|
case 137:
|
14352
|
-
#line
|
14353
|
+
#line 1155 "ext/lexer/lexer.rl"
|
14353
14354
|
{
|
14354
14355
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
14355
14356
|
lexer->escape = unescape_char(c);
|
@@ -14360,7 +14361,7 @@ _eof_trans:
|
|
14360
14361
|
force_encoding(codepoint, lexer->encoding);
|
14361
14362
|
}
|
14362
14363
|
}
|
14363
|
-
#line
|
14364
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14364
14365
|
{te = p;p--;{
|
14365
14366
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14366
14367
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14391,7 +14392,7 @@ _eof_trans:
|
|
14391
14392
|
}}
|
14392
14393
|
break;
|
14393
14394
|
case 338:
|
14394
|
-
#line
|
14395
|
+
#line 1155 "ext/lexer/lexer.rl"
|
14395
14396
|
{
|
14396
14397
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
14397
14398
|
lexer->escape = unescape_char(c);
|
@@ -14402,7 +14403,7 @@ _eof_trans:
|
|
14402
14403
|
force_encoding(codepoint, lexer->encoding);
|
14403
14404
|
}
|
14404
14405
|
}
|
14405
|
-
#line
|
14406
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14406
14407
|
{te = p;p--;{
|
14407
14408
|
VALUE value = lexer->escape;
|
14408
14409
|
if (value == Qnil)
|
@@ -14417,12 +14418,12 @@ _eof_trans:
|
|
14417
14418
|
}}
|
14418
14419
|
break;
|
14419
14420
|
case 113:
|
14420
|
-
#line
|
14421
|
+
#line 1166 "ext/lexer/lexer.rl"
|
14421
14422
|
{
|
14422
14423
|
diagnostic(lexer, fatal, invalid_escape, Qnil, range(lexer, ts, te),
|
14423
14424
|
empty_array);
|
14424
14425
|
}
|
14425
|
-
#line
|
14426
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14426
14427
|
{te = p;p--;{
|
14427
14428
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14428
14429
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14453,12 +14454,12 @@ _eof_trans:
|
|
14453
14454
|
}}
|
14454
14455
|
break;
|
14455
14456
|
case 140:
|
14456
|
-
#line
|
14457
|
+
#line 1166 "ext/lexer/lexer.rl"
|
14457
14458
|
{
|
14458
14459
|
diagnostic(lexer, fatal, invalid_escape, Qnil, range(lexer, ts, te),
|
14459
14460
|
empty_array);
|
14460
14461
|
}
|
14461
|
-
#line
|
14462
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14462
14463
|
{te = p;p--;{
|
14463
14464
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14464
14465
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14489,12 +14490,12 @@ _eof_trans:
|
|
14489
14490
|
}}
|
14490
14491
|
break;
|
14491
14492
|
case 341:
|
14492
|
-
#line
|
14493
|
+
#line 1166 "ext/lexer/lexer.rl"
|
14493
14494
|
{
|
14494
14495
|
diagnostic(lexer, fatal, invalid_escape, Qnil, range(lexer, ts, te),
|
14495
14496
|
empty_array);
|
14496
14497
|
}
|
14497
|
-
#line
|
14498
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14498
14499
|
{te = p;p--;{
|
14499
14500
|
VALUE value = lexer->escape;
|
14500
14501
|
if (value == Qnil)
|
@@ -14509,9 +14510,9 @@ _eof_trans:
|
|
14509
14510
|
}}
|
14510
14511
|
break;
|
14511
14512
|
case 115:
|
14512
|
-
#line
|
14513
|
+
#line 1190 "ext/lexer/lexer.rl"
|
14513
14514
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
14514
|
-
#line
|
14515
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14515
14516
|
{te = p;p--;{
|
14516
14517
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14517
14518
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14542,9 +14543,9 @@ _eof_trans:
|
|
14542
14543
|
}}
|
14543
14544
|
break;
|
14544
14545
|
case 142:
|
14545
|
-
#line
|
14546
|
+
#line 1190 "ext/lexer/lexer.rl"
|
14546
14547
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
14547
|
-
#line
|
14548
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14548
14549
|
{te = p;p--;{
|
14549
14550
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14550
14551
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14575,9 +14576,9 @@ _eof_trans:
|
|
14575
14576
|
}}
|
14576
14577
|
break;
|
14577
14578
|
case 343:
|
14578
|
-
#line
|
14579
|
+
#line 1190 "ext/lexer/lexer.rl"
|
14579
14580
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
14580
|
-
#line
|
14581
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14581
14582
|
{te = p;p--;{
|
14582
14583
|
VALUE value = lexer->escape;
|
14583
14584
|
if (value == Qnil)
|
@@ -14592,7 +14593,7 @@ _eof_trans:
|
|
14592
14593
|
}}
|
14593
14594
|
break;
|
14594
14595
|
case 112:
|
14595
|
-
#line
|
14596
|
+
#line 1195 "ext/lexer/lexer.rl"
|
14596
14597
|
{
|
14597
14598
|
VALUE token = tok(lexer, lexer->escape_s, p);
|
14598
14599
|
char c = NUM2INT(rb_str_to_inum(token, 8, 0));
|
@@ -14600,7 +14601,7 @@ _eof_trans:
|
|
14600
14601
|
lexer->escape = rb_str_new(&c, 1);
|
14601
14602
|
force_encoding(lexer->escape, lexer->encoding);
|
14602
14603
|
}
|
14603
|
-
#line
|
14604
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14604
14605
|
{te = p;p--;{
|
14605
14606
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14606
14607
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14631,7 +14632,7 @@ _eof_trans:
|
|
14631
14632
|
}}
|
14632
14633
|
break;
|
14633
14634
|
case 139:
|
14634
|
-
#line
|
14635
|
+
#line 1195 "ext/lexer/lexer.rl"
|
14635
14636
|
{
|
14636
14637
|
VALUE token = tok(lexer, lexer->escape_s, p);
|
14637
14638
|
char c = NUM2INT(rb_str_to_inum(token, 8, 0));
|
@@ -14639,7 +14640,7 @@ _eof_trans:
|
|
14639
14640
|
lexer->escape = rb_str_new(&c, 1);
|
14640
14641
|
force_encoding(lexer->escape, lexer->encoding);
|
14641
14642
|
}
|
14642
|
-
#line
|
14643
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14643
14644
|
{te = p;p--;{
|
14644
14645
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14645
14646
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14670,7 +14671,7 @@ _eof_trans:
|
|
14670
14671
|
}}
|
14671
14672
|
break;
|
14672
14673
|
case 340:
|
14673
|
-
#line
|
14674
|
+
#line 1195 "ext/lexer/lexer.rl"
|
14674
14675
|
{
|
14675
14676
|
VALUE token = tok(lexer, lexer->escape_s, p);
|
14676
14677
|
char c = NUM2INT(rb_str_to_inum(token, 8, 0));
|
@@ -14678,7 +14679,7 @@ _eof_trans:
|
|
14678
14679
|
lexer->escape = rb_str_new(&c, 1);
|
14679
14680
|
force_encoding(lexer->escape, lexer->encoding);
|
14680
14681
|
}
|
14681
|
-
#line
|
14682
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14682
14683
|
{te = p;p--;{
|
14683
14684
|
VALUE value = lexer->escape;
|
14684
14685
|
if (value == Qnil)
|
@@ -14693,14 +14694,14 @@ _eof_trans:
|
|
14693
14694
|
}}
|
14694
14695
|
break;
|
14695
14696
|
case 129:
|
14696
|
-
#line
|
14697
|
+
#line 1203 "ext/lexer/lexer.rl"
|
14697
14698
|
{
|
14698
14699
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14699
14700
|
char c = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14700
14701
|
lexer->escape = rb_str_new(&c, 1);
|
14701
14702
|
force_encoding(lexer->escape, lexer->encoding);
|
14702
14703
|
}
|
14703
|
-
#line
|
14704
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14704
14705
|
{te = p;p--;{
|
14705
14706
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14706
14707
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14731,14 +14732,14 @@ _eof_trans:
|
|
14731
14732
|
}}
|
14732
14733
|
break;
|
14733
14734
|
case 156:
|
14734
|
-
#line
|
14735
|
+
#line 1203 "ext/lexer/lexer.rl"
|
14735
14736
|
{
|
14736
14737
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14737
14738
|
char c = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14738
14739
|
lexer->escape = rb_str_new(&c, 1);
|
14739
14740
|
force_encoding(lexer->escape, lexer->encoding);
|
14740
14741
|
}
|
14741
|
-
#line
|
14742
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14742
14743
|
{te = p;p--;{
|
14743
14744
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14744
14745
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14769,14 +14770,14 @@ _eof_trans:
|
|
14769
14770
|
}}
|
14770
14771
|
break;
|
14771
14772
|
case 357:
|
14772
|
-
#line
|
14773
|
+
#line 1203 "ext/lexer/lexer.rl"
|
14773
14774
|
{
|
14774
14775
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14775
14776
|
char c = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14776
14777
|
lexer->escape = rb_str_new(&c, 1);
|
14777
14778
|
force_encoding(lexer->escape, lexer->encoding);
|
14778
14779
|
}
|
14779
|
-
#line
|
14780
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14780
14781
|
{te = p;p--;{
|
14781
14782
|
VALUE value = lexer->escape;
|
14782
14783
|
if (value == Qnil)
|
@@ -14791,12 +14792,12 @@ _eof_trans:
|
|
14791
14792
|
}}
|
14792
14793
|
break;
|
14793
14794
|
case 128:
|
14794
|
-
#line
|
14795
|
+
#line 1211 "ext/lexer/lexer.rl"
|
14795
14796
|
{
|
14796
14797
|
diagnostic(lexer, fatal, invalid_hex_escape, Qnil,
|
14797
14798
|
range(lexer, lexer->escape_s - 1, p + 2), empty_array);
|
14798
14799
|
}
|
14799
|
-
#line
|
14800
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14800
14801
|
{te = p;p--;{
|
14801
14802
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14802
14803
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14827,12 +14828,12 @@ _eof_trans:
|
|
14827
14828
|
}}
|
14828
14829
|
break;
|
14829
14830
|
case 155:
|
14830
|
-
#line
|
14831
|
+
#line 1211 "ext/lexer/lexer.rl"
|
14831
14832
|
{
|
14832
14833
|
diagnostic(lexer, fatal, invalid_hex_escape, Qnil,
|
14833
14834
|
range(lexer, lexer->escape_s - 1, p + 2), empty_array);
|
14834
14835
|
}
|
14835
|
-
#line
|
14836
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14836
14837
|
{te = p;p--;{
|
14837
14838
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14838
14839
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14863,12 +14864,12 @@ _eof_trans:
|
|
14863
14864
|
}}
|
14864
14865
|
break;
|
14865
14866
|
case 356:
|
14866
|
-
#line
|
14867
|
+
#line 1211 "ext/lexer/lexer.rl"
|
14867
14868
|
{
|
14868
14869
|
diagnostic(lexer, fatal, invalid_hex_escape, Qnil,
|
14869
14870
|
range(lexer, lexer->escape_s - 1, p + 2), empty_array);
|
14870
14871
|
}
|
14871
|
-
#line
|
14872
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14872
14873
|
{te = p;p--;{
|
14873
14874
|
VALUE value = lexer->escape;
|
14874
14875
|
if (value == Qnil)
|
@@ -14883,13 +14884,13 @@ _eof_trans:
|
|
14883
14884
|
}}
|
14884
14885
|
break;
|
14885
14886
|
case 123:
|
14886
|
-
#line
|
14887
|
+
#line 1216 "ext/lexer/lexer.rl"
|
14887
14888
|
{
|
14888
14889
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14889
14890
|
int i = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14890
14891
|
lexer->escape = rb_enc_uint_chr(i, rb_to_encoding(utf8_encoding));
|
14891
14892
|
}
|
14892
|
-
#line
|
14893
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14893
14894
|
{te = p;p--;{
|
14894
14895
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14895
14896
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14920,13 +14921,13 @@ _eof_trans:
|
|
14920
14921
|
}}
|
14921
14922
|
break;
|
14922
14923
|
case 150:
|
14923
|
-
#line
|
14924
|
+
#line 1216 "ext/lexer/lexer.rl"
|
14924
14925
|
{
|
14925
14926
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14926
14927
|
int i = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14927
14928
|
lexer->escape = rb_enc_uint_chr(i, rb_to_encoding(utf8_encoding));
|
14928
14929
|
}
|
14929
|
-
#line
|
14930
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14930
14931
|
{te = p;p--;{
|
14931
14932
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14932
14933
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -14957,13 +14958,13 @@ _eof_trans:
|
|
14957
14958
|
}}
|
14958
14959
|
break;
|
14959
14960
|
case 351:
|
14960
|
-
#line
|
14961
|
+
#line 1216 "ext/lexer/lexer.rl"
|
14961
14962
|
{
|
14962
14963
|
VALUE token = tok(lexer, lexer->escape_s + 1, p);
|
14963
14964
|
int i = NUM2INT(rb_str_to_inum(token, 16, 0));
|
14964
14965
|
lexer->escape = rb_enc_uint_chr(i, rb_to_encoding(utf8_encoding));
|
14965
14966
|
}
|
14966
|
-
#line
|
14967
|
+
#line 2018 "ext/lexer/lexer.rl"
|
14967
14968
|
{te = p;p--;{
|
14968
14969
|
VALUE value = lexer->escape;
|
14969
14970
|
if (value == Qnil)
|
@@ -14978,12 +14979,12 @@ _eof_trans:
|
|
14978
14979
|
}}
|
14979
14980
|
break;
|
14980
14981
|
case 122:
|
14981
|
-
#line
|
14982
|
+
#line 1222 "ext/lexer/lexer.rl"
|
14982
14983
|
{
|
14983
14984
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
14984
14985
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
14985
14986
|
}
|
14986
|
-
#line
|
14987
|
+
#line 1310 "ext/lexer/lexer.rl"
|
14987
14988
|
{te = p;p--;{
|
14988
14989
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
14989
14990
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15014,12 +15015,12 @@ _eof_trans:
|
|
15014
15015
|
}}
|
15015
15016
|
break;
|
15016
15017
|
case 149:
|
15017
|
-
#line
|
15018
|
+
#line 1222 "ext/lexer/lexer.rl"
|
15018
15019
|
{
|
15019
15020
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15020
15021
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
15021
15022
|
}
|
15022
|
-
#line
|
15023
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15023
15024
|
{te = p;p--;{
|
15024
15025
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15025
15026
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15050,12 +15051,12 @@ _eof_trans:
|
|
15050
15051
|
}}
|
15051
15052
|
break;
|
15052
15053
|
case 350:
|
15053
|
-
#line
|
15054
|
+
#line 1222 "ext/lexer/lexer.rl"
|
15054
15055
|
{
|
15055
15056
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15056
15057
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
15057
15058
|
}
|
15058
|
-
#line
|
15059
|
+
#line 2018 "ext/lexer/lexer.rl"
|
15059
15060
|
{te = p;p--;{
|
15060
15061
|
VALUE value = lexer->escape;
|
15061
15062
|
if (value == Qnil)
|
@@ -15070,12 +15071,12 @@ _eof_trans:
|
|
15070
15071
|
}}
|
15071
15072
|
break;
|
15072
15073
|
case 127:
|
15073
|
-
#line
|
15074
|
+
#line 1227 "ext/lexer/lexer.rl"
|
15074
15075
|
{
|
15075
15076
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15076
15077
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
15077
15078
|
}
|
15078
|
-
#line
|
15079
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15079
15080
|
{te = p;p--;{
|
15080
15081
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15081
15082
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15106,12 +15107,12 @@ _eof_trans:
|
|
15106
15107
|
}}
|
15107
15108
|
break;
|
15108
15109
|
case 154:
|
15109
|
-
#line
|
15110
|
+
#line 1227 "ext/lexer/lexer.rl"
|
15110
15111
|
{
|
15111
15112
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15112
15113
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
15113
15114
|
}
|
15114
|
-
#line
|
15115
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15115
15116
|
{te = p;p--;{
|
15116
15117
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15117
15118
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15142,12 +15143,12 @@ _eof_trans:
|
|
15142
15143
|
}}
|
15143
15144
|
break;
|
15144
15145
|
case 355:
|
15145
|
-
#line
|
15146
|
+
#line 1227 "ext/lexer/lexer.rl"
|
15146
15147
|
{
|
15147
15148
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15148
15149
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
15149
15150
|
}
|
15150
|
-
#line
|
15151
|
+
#line 2018 "ext/lexer/lexer.rl"
|
15151
15152
|
{te = p;p--;{
|
15152
15153
|
VALUE value = lexer->escape;
|
15153
15154
|
if (value == Qnil)
|
@@ -15162,12 +15163,12 @@ _eof_trans:
|
|
15162
15163
|
}}
|
15163
15164
|
break;
|
15164
15165
|
case 124:
|
15165
|
-
#line
|
15166
|
+
#line 1241 "ext/lexer/lexer.rl"
|
15166
15167
|
{
|
15167
15168
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15168
15169
|
range(lexer, p - 1, p), empty_array);
|
15169
15170
|
}
|
15170
|
-
#line
|
15171
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15171
15172
|
{te = p;p--;{
|
15172
15173
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15173
15174
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15198,12 +15199,12 @@ _eof_trans:
|
|
15198
15199
|
}}
|
15199
15200
|
break;
|
15200
15201
|
case 151:
|
15201
|
-
#line
|
15202
|
+
#line 1241 "ext/lexer/lexer.rl"
|
15202
15203
|
{
|
15203
15204
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15204
15205
|
range(lexer, p - 1, p), empty_array);
|
15205
15206
|
}
|
15206
|
-
#line
|
15207
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15207
15208
|
{te = p;p--;{
|
15208
15209
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15209
15210
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15234,12 +15235,12 @@ _eof_trans:
|
|
15234
15235
|
}}
|
15235
15236
|
break;
|
15236
15237
|
case 352:
|
15237
|
-
#line
|
15238
|
+
#line 1241 "ext/lexer/lexer.rl"
|
15238
15239
|
{
|
15239
15240
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
15240
15241
|
range(lexer, p - 1, p), empty_array);
|
15241
15242
|
}
|
15242
|
-
#line
|
15243
|
+
#line 2018 "ext/lexer/lexer.rl"
|
15243
15244
|
{te = p;p--;{
|
15244
15245
|
VALUE value = lexer->escape;
|
15245
15246
|
if (value == Qnil)
|
@@ -15254,12 +15255,12 @@ _eof_trans:
|
|
15254
15255
|
}}
|
15255
15256
|
break;
|
15256
15257
|
case 111:
|
15257
|
-
#line
|
15258
|
+
#line 1265 "ext/lexer/lexer.rl"
|
15258
15259
|
{
|
15259
15260
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
15260
15261
|
empty_array);
|
15261
15262
|
}
|
15262
|
-
#line
|
15263
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15263
15264
|
{te = p;p--;{
|
15264
15265
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15265
15266
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15290,12 +15291,12 @@ _eof_trans:
|
|
15290
15291
|
}}
|
15291
15292
|
break;
|
15292
15293
|
case 138:
|
15293
|
-
#line
|
15294
|
+
#line 1265 "ext/lexer/lexer.rl"
|
15294
15295
|
{
|
15295
15296
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
15296
15297
|
empty_array);
|
15297
15298
|
}
|
15298
|
-
#line
|
15299
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15299
15300
|
{te = p;p--;{
|
15300
15301
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15301
15302
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15326,12 +15327,12 @@ _eof_trans:
|
|
15326
15327
|
}}
|
15327
15328
|
break;
|
15328
15329
|
case 339:
|
15329
|
-
#line
|
15330
|
+
#line 1265 "ext/lexer/lexer.rl"
|
15330
15331
|
{
|
15331
15332
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
15332
15333
|
empty_array);
|
15333
15334
|
}
|
15334
|
-
#line
|
15335
|
+
#line 2018 "ext/lexer/lexer.rl"
|
15335
15336
|
{te = p;p--;{
|
15336
15337
|
VALUE value = lexer->escape;
|
15337
15338
|
if (value == Qnil)
|
@@ -15346,12 +15347,12 @@ _eof_trans:
|
|
15346
15347
|
}}
|
15347
15348
|
break;
|
15348
15349
|
case 162:
|
15349
|
-
#line
|
15350
|
+
#line 1271 "ext/lexer/lexer.rl"
|
15350
15351
|
{
|
15351
15352
|
lexer->escape_s = p;
|
15352
15353
|
lexer->escape = Qnil;
|
15353
15354
|
}
|
15354
|
-
#line
|
15355
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15355
15356
|
{te = p+1;{
|
15356
15357
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15357
15358
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15382,12 +15383,12 @@ _eof_trans:
|
|
15382
15383
|
}}
|
15383
15384
|
break;
|
15384
15385
|
case 167:
|
15385
|
-
#line
|
15386
|
+
#line 1271 "ext/lexer/lexer.rl"
|
15386
15387
|
{
|
15387
15388
|
lexer->escape_s = p;
|
15388
15389
|
lexer->escape = Qnil;
|
15389
15390
|
}
|
15390
|
-
#line
|
15391
|
+
#line 1310 "ext/lexer/lexer.rl"
|
15391
15392
|
{te = p+1;{
|
15392
15393
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15393
15394
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -15418,174 +15419,174 @@ _eof_trans:
|
|
15418
15419
|
}}
|
15419
15420
|
break;
|
15420
15421
|
case 57:
|
15421
|
-
#line
|
15422
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15422
15423
|
{
|
15423
15424
|
if (lexer->herebody_s) {
|
15424
15425
|
p = lexer->herebody_s;
|
15425
15426
|
lexer->herebody_s = 0;
|
15426
15427
|
}
|
15427
15428
|
}
|
15428
|
-
#line
|
15429
|
+
#line 1006 "ext/lexer/lexer.rl"
|
15429
15430
|
{ lexer->newline_s = p; }
|
15430
15431
|
break;
|
15431
15432
|
case 30:
|
15432
|
-
#line
|
15433
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15433
15434
|
{
|
15434
15435
|
if (lexer->herebody_s) {
|
15435
15436
|
p = lexer->herebody_s;
|
15436
15437
|
lexer->herebody_s = 0;
|
15437
15438
|
}
|
15438
15439
|
}
|
15439
|
-
#line
|
15440
|
+
#line 1763 "ext/lexer/lexer.rl"
|
15440
15441
|
{ tm = p; }
|
15441
15442
|
break;
|
15442
15443
|
case 32:
|
15443
|
-
#line
|
15444
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15444
15445
|
{
|
15445
15446
|
if (lexer->herebody_s) {
|
15446
15447
|
p = lexer->herebody_s;
|
15447
15448
|
lexer->herebody_s = 0;
|
15448
15449
|
}
|
15449
15450
|
}
|
15450
|
-
#line
|
15451
|
+
#line 1774 "ext/lexer/lexer.rl"
|
15451
15452
|
{ tm = p; }
|
15452
15453
|
break;
|
15453
15454
|
case 34:
|
15454
|
-
#line
|
15455
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15455
15456
|
{
|
15456
15457
|
if (lexer->herebody_s) {
|
15457
15458
|
p = lexer->herebody_s;
|
15458
15459
|
lexer->herebody_s = 0;
|
15459
15460
|
}
|
15460
15461
|
}
|
15461
|
-
#line
|
15462
|
+
#line 1791 "ext/lexer/lexer.rl"
|
15462
15463
|
{ tm = p; }
|
15463
15464
|
break;
|
15464
15465
|
case 202:
|
15465
|
-
#line
|
15466
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15466
15467
|
{
|
15467
15468
|
if (lexer->herebody_s) {
|
15468
15469
|
p = lexer->herebody_s;
|
15469
15470
|
lexer->herebody_s = 0;
|
15470
15471
|
}
|
15471
15472
|
}
|
15472
|
-
#line
|
15473
|
+
#line 1687 "ext/lexer/lexer.rl"
|
15473
15474
|
{te = p;p--;}
|
15474
15475
|
break;
|
15475
15476
|
case 221:
|
15476
|
-
#line
|
15477
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15477
15478
|
{
|
15478
15479
|
if (lexer->herebody_s) {
|
15479
15480
|
p = lexer->herebody_s;
|
15480
15481
|
lexer->herebody_s = 0;
|
15481
15482
|
}
|
15482
15483
|
}
|
15483
|
-
#line
|
15484
|
+
#line 1700 "ext/lexer/lexer.rl"
|
15484
15485
|
{te = p;p--;}
|
15485
15486
|
break;
|
15486
15487
|
case 229:
|
15487
|
-
#line
|
15488
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15488
15489
|
{
|
15489
15490
|
if (lexer->herebody_s) {
|
15490
15491
|
p = lexer->herebody_s;
|
15491
15492
|
lexer->herebody_s = 0;
|
15492
15493
|
}
|
15493
15494
|
}
|
15494
|
-
#line
|
15495
|
+
#line 1722 "ext/lexer/lexer.rl"
|
15495
15496
|
{te = p;p--;}
|
15496
15497
|
break;
|
15497
15498
|
case 33:
|
15498
|
-
#line
|
15499
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15499
15500
|
{
|
15500
15501
|
if (lexer->herebody_s) {
|
15501
15502
|
p = lexer->herebody_s;
|
15502
15503
|
lexer->herebody_s = 0;
|
15503
15504
|
}
|
15504
15505
|
}
|
15505
|
-
#line
|
15506
|
+
#line 1798 "ext/lexer/lexer.rl"
|
15506
15507
|
{te = p+1;{
|
15507
15508
|
p = ts - 1;
|
15508
15509
|
{cs = 769;goto _again;}
|
15509
15510
|
}}
|
15510
15511
|
break;
|
15511
15512
|
case 260:
|
15512
|
-
#line
|
15513
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15513
15514
|
{
|
15514
15515
|
if (lexer->herebody_s) {
|
15515
15516
|
p = lexer->herebody_s;
|
15516
15517
|
lexer->herebody_s = 0;
|
15517
15518
|
}
|
15518
15519
|
}
|
15519
|
-
#line
|
15520
|
+
#line 1803 "ext/lexer/lexer.rl"
|
15520
15521
|
{te = p;p--;}
|
15521
15522
|
break;
|
15522
15523
|
case 252:
|
15523
|
-
#line
|
15524
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15524
15525
|
{
|
15525
15526
|
if (lexer->herebody_s) {
|
15526
15527
|
p = lexer->herebody_s;
|
15527
15528
|
lexer->herebody_s = 0;
|
15528
15529
|
}
|
15529
15530
|
}
|
15530
|
-
#line
|
15531
|
+
#line 1807 "ext/lexer/lexer.rl"
|
15531
15532
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
15532
15533
|
break;
|
15533
15534
|
case 271:
|
15534
|
-
#line
|
15535
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15535
15536
|
{
|
15536
15537
|
if (lexer->herebody_s) {
|
15537
15538
|
p = lexer->herebody_s;
|
15538
15539
|
lexer->herebody_s = 0;
|
15539
15540
|
}
|
15540
15541
|
}
|
15541
|
-
#line
|
15542
|
+
#line 1858 "ext/lexer/lexer.rl"
|
15542
15543
|
{te = p;p--;}
|
15543
15544
|
break;
|
15544
15545
|
case 283:
|
15545
|
-
#line
|
15546
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15546
15547
|
{
|
15547
15548
|
if (lexer->herebody_s) {
|
15548
15549
|
p = lexer->herebody_s;
|
15549
15550
|
lexer->herebody_s = 0;
|
15550
15551
|
}
|
15551
15552
|
}
|
15552
|
-
#line
|
15553
|
+
#line 1873 "ext/lexer/lexer.rl"
|
15553
15554
|
{te = p;p--;}
|
15554
15555
|
break;
|
15555
15556
|
case 279:
|
15556
|
-
#line
|
15557
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15557
15558
|
{
|
15558
15559
|
if (lexer->herebody_s) {
|
15559
15560
|
p = lexer->herebody_s;
|
15560
15561
|
lexer->herebody_s = 0;
|
15561
15562
|
}
|
15562
15563
|
}
|
15563
|
-
#line
|
15564
|
+
#line 1875 "ext/lexer/lexer.rl"
|
15564
15565
|
{te = p;p--;{ p--; {cs = 769;goto _again;} }}
|
15565
15566
|
break;
|
15566
15567
|
case 58:
|
15567
|
-
#line
|
15568
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15568
15569
|
{
|
15569
15570
|
if (lexer->herebody_s) {
|
15570
15571
|
p = lexer->herebody_s;
|
15571
15572
|
lexer->herebody_s = 0;
|
15572
15573
|
}
|
15573
15574
|
}
|
15574
|
-
#line
|
15575
|
+
#line 1883 "ext/lexer/lexer.rl"
|
15575
15576
|
{te = p+1;{
|
15576
15577
|
emit_token(lexer, tUNARY_NUM, tok(lexer, ts, ts + 1), ts, ts + 1);
|
15577
15578
|
p--; cs = 769; {p++; goto _out; }
|
15578
15579
|
}}
|
15579
15580
|
break;
|
15580
15581
|
case 49:
|
15581
|
-
#line
|
15582
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15582
15583
|
{
|
15583
15584
|
if (lexer->herebody_s) {
|
15584
15585
|
p = lexer->herebody_s;
|
15585
15586
|
lexer->herebody_s = 0;
|
15586
15587
|
}
|
15587
15588
|
}
|
15588
|
-
#line
|
15589
|
+
#line 2115 "ext/lexer/lexer.rl"
|
15589
15590
|
{te = p+1;{
|
15590
15591
|
emit_token(lexer, tIDENTIFIER, ident_tok, ident_ts, ident_te);
|
15591
15592
|
p = ident_te - 1;
|
@@ -15600,36 +15601,36 @@ _eof_trans:
|
|
15600
15601
|
}}
|
15601
15602
|
break;
|
15602
15603
|
case 301:
|
15603
|
-
#line
|
15604
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15604
15605
|
{
|
15605
15606
|
if (lexer->herebody_s) {
|
15606
15607
|
p = lexer->herebody_s;
|
15607
15608
|
lexer->herebody_s = 0;
|
15608
15609
|
}
|
15609
15610
|
}
|
15610
|
-
#line
|
15611
|
+
#line 2128 "ext/lexer/lexer.rl"
|
15611
15612
|
{te = p;p--;}
|
15612
15613
|
break;
|
15613
15614
|
case 373:
|
15614
|
-
#line
|
15615
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15615
15616
|
{
|
15616
15617
|
if (lexer->herebody_s) {
|
15617
15618
|
p = lexer->herebody_s;
|
15618
15619
|
lexer->herebody_s = 0;
|
15619
15620
|
}
|
15620
15621
|
}
|
15621
|
-
#line
|
15622
|
+
#line 2146 "ext/lexer/lexer.rl"
|
15622
15623
|
{te = p;p--;}
|
15623
15624
|
break;
|
15624
15625
|
case 369:
|
15625
|
-
#line
|
15626
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15626
15627
|
{
|
15627
15628
|
if (lexer->herebody_s) {
|
15628
15629
|
p = lexer->herebody_s;
|
15629
15630
|
lexer->herebody_s = 0;
|
15630
15631
|
}
|
15631
15632
|
}
|
15632
|
-
#line
|
15633
|
+
#line 2148 "ext/lexer/lexer.rl"
|
15633
15634
|
{te = p;p--;{
|
15634
15635
|
if (lexer->in_kwarg) {
|
15635
15636
|
p--; {cs = 769;goto _again;}
|
@@ -15639,76 +15640,76 @@ _eof_trans:
|
|
15639
15640
|
}}
|
15640
15641
|
break;
|
15641
15642
|
case 382:
|
15642
|
-
#line
|
15643
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15643
15644
|
{
|
15644
15645
|
if (lexer->herebody_s) {
|
15645
15646
|
p = lexer->herebody_s;
|
15646
15647
|
lexer->herebody_s = 0;
|
15647
15648
|
}
|
15648
15649
|
}
|
15649
|
-
#line
|
15650
|
+
#line 2169 "ext/lexer/lexer.rl"
|
15650
15651
|
{te = p;p--;}
|
15651
15652
|
break;
|
15652
15653
|
case 379:
|
15653
|
-
#line
|
15654
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15654
15655
|
{
|
15655
15656
|
if (lexer->herebody_s) {
|
15656
15657
|
p = lexer->herebody_s;
|
15657
15658
|
lexer->herebody_s = 0;
|
15658
15659
|
}
|
15659
15660
|
}
|
15660
|
-
#line
|
15661
|
+
#line 2171 "ext/lexer/lexer.rl"
|
15661
15662
|
{te = p;p--;{ {cs = 183;goto _again;} }}
|
15662
15663
|
break;
|
15663
15664
|
case 418:
|
15664
|
-
#line
|
15665
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15665
15666
|
{
|
15666
15667
|
if (lexer->herebody_s) {
|
15667
15668
|
p = lexer->herebody_s;
|
15668
15669
|
lexer->herebody_s = 0;
|
15669
15670
|
}
|
15670
15671
|
}
|
15671
|
-
#line
|
15672
|
+
#line 2367 "ext/lexer/lexer.rl"
|
15672
15673
|
{te = p;p--;{ emit_token(lexer, tDOT, tok(lexer, ts, ts + 1), ts, ts + 1);
|
15673
15674
|
emit_token(lexer, tCOLON, tok(lexer, ts + 1, ts + 2), ts + 1, ts + 2);
|
15674
15675
|
p = p - (te - ts) + 2;
|
15675
15676
|
cs = 447; {p++; goto _out; } }}
|
15676
15677
|
break;
|
15677
15678
|
case 476:
|
15678
|
-
#line
|
15679
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15679
15680
|
{
|
15680
15681
|
if (lexer->herebody_s) {
|
15681
15682
|
p = lexer->herebody_s;
|
15682
15683
|
lexer->herebody_s = 0;
|
15683
15684
|
}
|
15684
15685
|
}
|
15685
|
-
#line
|
15686
|
+
#line 2469 "ext/lexer/lexer.rl"
|
15686
15687
|
{te = p;p--;}
|
15687
15688
|
break;
|
15688
15689
|
case 399:
|
15689
|
-
#line
|
15690
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15690
15691
|
{
|
15691
15692
|
if (lexer->herebody_s) {
|
15692
15693
|
p = lexer->herebody_s;
|
15693
15694
|
lexer->herebody_s = 0;
|
15694
15695
|
}
|
15695
15696
|
}
|
15696
|
-
#line
|
15697
|
+
#line 2471 "ext/lexer/lexer.rl"
|
15697
15698
|
{te = p;p--;{ {cs = 948;goto _again;} }}
|
15698
15699
|
break;
|
15699
15700
|
case 94:
|
15700
|
-
#line
|
15701
|
+
#line 1276 "ext/lexer/lexer.rl"
|
15701
15702
|
{
|
15702
15703
|
if (lexer->herebody_s) {
|
15703
15704
|
p = lexer->herebody_s;
|
15704
15705
|
lexer->herebody_s = 0;
|
15705
15706
|
}
|
15706
15707
|
}
|
15707
|
-
#line
|
15708
|
+
#line 2517 "ext/lexer/lexer.rl"
|
15708
15709
|
{te = p;p--;}
|
15709
15710
|
break;
|
15710
15711
|
case 251:
|
15711
|
-
#line
|
15712
|
+
#line 1403 "ext/lexer/lexer.rl"
|
15712
15713
|
{
|
15713
15714
|
stack_state_push(&lexer->cond, 0);
|
15714
15715
|
stack_state_push(&lexer->cmdarg, 0);
|
@@ -15718,7 +15719,7 @@ _eof_trans:
|
|
15718
15719
|
literal_start_interp_brace(current_literal);
|
15719
15720
|
}
|
15720
15721
|
}
|
15721
|
-
#line
|
15722
|
+
#line 1748 "ext/lexer/lexer.rl"
|
15722
15723
|
{te = p;p--;{
|
15723
15724
|
VALUE val = array_last(lexer->lambda_stack);
|
15724
15725
|
if (val != Qnil && NUM2INT(val) == lexer->paren_nest) {
|
@@ -15731,7 +15732,7 @@ _eof_trans:
|
|
15731
15732
|
}}
|
15732
15733
|
break;
|
15733
15734
|
case 273:
|
15734
|
-
#line
|
15735
|
+
#line 1403 "ext/lexer/lexer.rl"
|
15735
15736
|
{
|
15736
15737
|
stack_state_push(&lexer->cond, 0);
|
15737
15738
|
stack_state_push(&lexer->cmdarg, 0);
|
@@ -15741,7 +15742,7 @@ _eof_trans:
|
|
15741
15742
|
literal_start_interp_brace(current_literal);
|
15742
15743
|
}
|
15743
15744
|
}
|
15744
|
-
#line
|
15745
|
+
#line 1845 "ext/lexer/lexer.rl"
|
15745
15746
|
{te = p;p--;{
|
15746
15747
|
VALUE val = array_last(lexer->lambda_stack);
|
15747
15748
|
if (val != Qnil && NUM2INT(val) == lexer->paren_nest) {
|
@@ -15754,7 +15755,7 @@ _eof_trans:
|
|
15754
15755
|
}}
|
15755
15756
|
break;
|
15756
15757
|
case 365:
|
15757
|
-
#line
|
15758
|
+
#line 1403 "ext/lexer/lexer.rl"
|
15758
15759
|
{
|
15759
15760
|
stack_state_push(&lexer->cond, 0);
|
15760
15761
|
stack_state_push(&lexer->cmdarg, 0);
|
@@ -15764,7 +15765,7 @@ _eof_trans:
|
|
15764
15765
|
literal_start_interp_brace(current_literal);
|
15765
15766
|
}
|
15766
15767
|
}
|
15767
|
-
#line
|
15768
|
+
#line 2049 "ext/lexer/lexer.rl"
|
15768
15769
|
{te = p;p--;{
|
15769
15770
|
VALUE val = array_last(lexer->lambda_stack);
|
15770
15771
|
if (val != Qnil && NUM2INT(val) == lexer->paren_nest) {
|
@@ -15777,7 +15778,7 @@ _eof_trans:
|
|
15777
15778
|
}}
|
15778
15779
|
break;
|
15779
15780
|
case 488:
|
15780
|
-
#line
|
15781
|
+
#line 1403 "ext/lexer/lexer.rl"
|
15781
15782
|
{
|
15782
15783
|
stack_state_push(&lexer->cond, 0);
|
15783
15784
|
stack_state_push(&lexer->cmdarg, 0);
|
@@ -15787,7 +15788,7 @@ _eof_trans:
|
|
15787
15788
|
literal_start_interp_brace(current_literal);
|
15788
15789
|
}
|
15789
15790
|
}
|
15790
|
-
#line
|
15791
|
+
#line 2185 "ext/lexer/lexer.rl"
|
15791
15792
|
{te = p;p--;{
|
15792
15793
|
VALUE val = array_last(lexer->lambda_stack);
|
15793
15794
|
if (val != Qnil && NUM2INT(val) == lexer->paren_nest) {
|
@@ -15800,7 +15801,7 @@ _eof_trans:
|
|
15800
15801
|
}}
|
15801
15802
|
break;
|
15802
15803
|
case 489:
|
15803
|
-
#line
|
15804
|
+
#line 1413 "ext/lexer/lexer.rl"
|
15804
15805
|
{
|
15805
15806
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
15806
15807
|
if (current_literal != NULL) {
|
@@ -15823,7 +15824,7 @@ _eof_trans:
|
|
15823
15824
|
}
|
15824
15825
|
}
|
15825
15826
|
}
|
15826
|
-
#line
|
15827
|
+
#line 2403 "ext/lexer/lexer.rl"
|
15827
15828
|
{te = p;p--;{
|
15828
15829
|
emit(tRCURLY);
|
15829
15830
|
|
@@ -15845,94 +15846,94 @@ _eof_trans:
|
|
15845
15846
|
}}
|
15846
15847
|
break;
|
15847
15848
|
case 60:
|
15848
|
-
#line
|
15849
|
+
#line 1541 "ext/lexer/lexer.rl"
|
15849
15850
|
{ sharp_s = p - 1; }
|
15850
|
-
#line
|
15851
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15851
15852
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15852
15853
|
break;
|
15853
15854
|
case 64:
|
15854
|
-
#line
|
15855
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15855
15856
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15856
|
-
#line
|
15857
|
+
#line 1006 "ext/lexer/lexer.rl"
|
15857
15858
|
{ lexer->newline_s = p; }
|
15858
15859
|
break;
|
15859
15860
|
case 205:
|
15860
|
-
#line
|
15861
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15861
15862
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15862
|
-
#line
|
15863
|
+
#line 1687 "ext/lexer/lexer.rl"
|
15863
15864
|
{te = p;p--;}
|
15864
15865
|
break;
|
15865
15866
|
case 220:
|
15866
|
-
#line
|
15867
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15867
15868
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15868
|
-
#line
|
15869
|
+
#line 1700 "ext/lexer/lexer.rl"
|
15869
15870
|
{te = p;p--;}
|
15870
15871
|
break;
|
15871
15872
|
case 232:
|
15872
|
-
#line
|
15873
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15873
15874
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15874
|
-
#line
|
15875
|
+
#line 1722 "ext/lexer/lexer.rl"
|
15875
15876
|
{te = p;p--;}
|
15876
15877
|
break;
|
15877
15878
|
case 254:
|
15878
|
-
#line
|
15879
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15879
15880
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15880
|
-
#line
|
15881
|
+
#line 1805 "ext/lexer/lexer.rl"
|
15881
15882
|
{te = p;p--;{ {cs = 769;goto _again;} }}
|
15882
15883
|
break;
|
15883
15884
|
case 269:
|
15884
|
-
#line
|
15885
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15885
15886
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15886
|
-
#line
|
15887
|
+
#line 1858 "ext/lexer/lexer.rl"
|
15887
15888
|
{te = p;p--;}
|
15888
15889
|
break;
|
15889
15890
|
case 281:
|
15890
|
-
#line
|
15891
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15891
15892
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15892
|
-
#line
|
15893
|
+
#line 1873 "ext/lexer/lexer.rl"
|
15893
15894
|
{te = p;p--;}
|
15894
15895
|
break;
|
15895
15896
|
case 307:
|
15896
|
-
#line
|
15897
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15897
15898
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15898
|
-
#line
|
15899
|
+
#line 2128 "ext/lexer/lexer.rl"
|
15899
15900
|
{te = p;p--;}
|
15900
15901
|
break;
|
15901
15902
|
case 371:
|
15902
|
-
#line
|
15903
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15903
15904
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15904
|
-
#line
|
15905
|
+
#line 2146 "ext/lexer/lexer.rl"
|
15905
15906
|
{te = p;p--;}
|
15906
15907
|
break;
|
15907
15908
|
case 381:
|
15908
|
-
#line
|
15909
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15909
15910
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15910
|
-
#line
|
15911
|
+
#line 2169 "ext/lexer/lexer.rl"
|
15911
15912
|
{te = p;p--;}
|
15912
15913
|
break;
|
15913
15914
|
case 403:
|
15914
|
-
#line
|
15915
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15915
15916
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15916
|
-
#line
|
15917
|
+
#line 2469 "ext/lexer/lexer.rl"
|
15917
15918
|
{te = p;p--;}
|
15918
15919
|
break;
|
15919
15920
|
case 96:
|
15920
|
-
#line
|
15921
|
+
#line 1542 "ext/lexer/lexer.rl"
|
15921
15922
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
15922
|
-
#line
|
15923
|
+
#line 2517 "ext/lexer/lexer.rl"
|
15923
15924
|
{te = p;p--;}
|
15924
15925
|
break;
|
15925
15926
|
case 226:
|
15926
|
-
#line
|
15927
|
+
#line 1560 "ext/lexer/lexer.rl"
|
15927
15928
|
{ tm = p; }
|
15928
|
-
#line
|
15929
|
+
#line 1713 "ext/lexer/lexer.rl"
|
15929
15930
|
{te = p;p--;{ emit_token(lexer, tFID, tok(lexer, ts, tm), ts, tm);
|
15930
15931
|
cs = (arg_or_cmdarg(command_state)); p = tm - 1; {p++; goto _out; } }}
|
15931
15932
|
break;
|
15932
15933
|
case 319:
|
15933
|
-
#line
|
15934
|
+
#line 1560 "ext/lexer/lexer.rl"
|
15934
15935
|
{ tm = p; }
|
15935
|
-
#line
|
15936
|
+
#line 2004 "ext/lexer/lexer.rl"
|
15936
15937
|
{te = p;p--;{
|
15937
15938
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
15938
15939
|
p = tm - 1;
|
@@ -15940,13 +15941,13 @@ _eof_trans:
|
|
15940
15941
|
}}
|
15941
15942
|
break;
|
15942
15943
|
case 292:
|
15943
|
-
#line
|
15944
|
+
#line 1560 "ext/lexer/lexer.rl"
|
15944
15945
|
{ tm = p; }
|
15945
|
-
#line
|
15946
|
+
#line 2108 "ext/lexer/lexer.rl"
|
15946
15947
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
15947
15948
|
break;
|
15948
15949
|
case 396:
|
15949
|
-
#line
|
15950
|
+
#line 1560 "ext/lexer/lexer.rl"
|
15950
15951
|
{ tm = p; }
|
15951
15952
|
#line 1 "NONE"
|
15952
15953
|
{ switch( act ) {
|
@@ -16140,16 +16141,16 @@ _eof_trans:
|
|
16140
16141
|
}
|
16141
16142
|
break;
|
16142
16143
|
case 227:
|
16143
|
-
#line
|
16144
|
+
#line 1561 "ext/lexer/lexer.rl"
|
16144
16145
|
{ tm = p - 2; }
|
16145
|
-
#line
|
16146
|
+
#line 1713 "ext/lexer/lexer.rl"
|
16146
16147
|
{te = p;p--;{ emit_token(lexer, tFID, tok(lexer, ts, tm), ts, tm);
|
16147
16148
|
cs = (arg_or_cmdarg(command_state)); p = tm - 1; {p++; goto _out; } }}
|
16148
16149
|
break;
|
16149
16150
|
case 320:
|
16150
|
-
#line
|
16151
|
+
#line 1561 "ext/lexer/lexer.rl"
|
16151
16152
|
{ tm = p - 2; }
|
16152
|
-
#line
|
16153
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16153
16154
|
{te = p;p--;{
|
16154
16155
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16155
16156
|
p = tm - 1;
|
@@ -16157,15 +16158,15 @@ _eof_trans:
|
|
16157
16158
|
}}
|
16158
16159
|
break;
|
16159
16160
|
case 294:
|
16160
|
-
#line
|
16161
|
+
#line 1561 "ext/lexer/lexer.rl"
|
16161
16162
|
{ tm = p - 2; }
|
16162
|
-
#line
|
16163
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16163
16164
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
16164
16165
|
break;
|
16165
16166
|
case 397:
|
16166
|
-
#line
|
16167
|
+
#line 1561 "ext/lexer/lexer.rl"
|
16167
16168
|
{ tm = p - 2; }
|
16168
|
-
#line
|
16169
|
+
#line 2378 "ext/lexer/lexer.rl"
|
16169
16170
|
{te = p;p--;{
|
16170
16171
|
if (tm == te) {
|
16171
16172
|
emit(tFID);
|
@@ -16177,9 +16178,9 @@ _eof_trans:
|
|
16177
16178
|
}}
|
16178
16179
|
break;
|
16179
16180
|
case 321:
|
16180
|
-
#line
|
16181
|
+
#line 1566 "ext/lexer/lexer.rl"
|
16181
16182
|
{ tm = p; }
|
16182
|
-
#line
|
16183
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16183
16184
|
{te = p;p--;{
|
16184
16185
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16185
16186
|
p = tm - 1;
|
@@ -16187,15 +16188,15 @@ _eof_trans:
|
|
16187
16188
|
}}
|
16188
16189
|
break;
|
16189
16190
|
case 295:
|
16190
|
-
#line
|
16191
|
+
#line 1566 "ext/lexer/lexer.rl"
|
16191
16192
|
{ tm = p; }
|
16192
|
-
#line
|
16193
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16193
16194
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
16194
16195
|
break;
|
16195
16196
|
case 322:
|
16196
|
-
#line
|
16197
|
+
#line 1567 "ext/lexer/lexer.rl"
|
16197
16198
|
{ tm = p - 2; }
|
16198
|
-
#line
|
16199
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16199
16200
|
{te = p;p--;{
|
16200
16201
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16201
16202
|
p = tm - 1;
|
@@ -16203,15 +16204,15 @@ _eof_trans:
|
|
16203
16204
|
}}
|
16204
16205
|
break;
|
16205
16206
|
case 296:
|
16206
|
-
#line
|
16207
|
+
#line 1567 "ext/lexer/lexer.rl"
|
16207
16208
|
{ tm = p - 2; }
|
16208
|
-
#line
|
16209
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16209
16210
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
16210
16211
|
break;
|
16211
16212
|
case 326:
|
16212
|
-
#line
|
16213
|
+
#line 1568 "ext/lexer/lexer.rl"
|
16213
16214
|
{ tm = p - 2; }
|
16214
|
-
#line
|
16215
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16215
16216
|
{te = p;p--;{
|
16216
16217
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16217
16218
|
p = tm - 1;
|
@@ -16219,15 +16220,15 @@ _eof_trans:
|
|
16219
16220
|
}}
|
16220
16221
|
break;
|
16221
16222
|
case 299:
|
16222
|
-
#line
|
16223
|
+
#line 1568 "ext/lexer/lexer.rl"
|
16223
16224
|
{ tm = p - 2; }
|
16224
|
-
#line
|
16225
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16225
16226
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
16226
16227
|
break;
|
16227
16228
|
case 325:
|
16228
|
-
#line
|
16229
|
+
#line 1569 "ext/lexer/lexer.rl"
|
16229
16230
|
{ tm = p - 2; }
|
16230
|
-
#line
|
16231
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16231
16232
|
{te = p;p--;{
|
16232
16233
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16233
16234
|
p = tm - 1;
|
@@ -16235,7 +16236,7 @@ _eof_trans:
|
|
16235
16236
|
}}
|
16236
16237
|
break;
|
16237
16238
|
case 298:
|
16238
|
-
#line
|
16239
|
+
#line 1569 "ext/lexer/lexer.rl"
|
16239
16240
|
{ tm = p - 2; }
|
16240
16241
|
#line 1 "NONE"
|
16241
16242
|
{ switch( act ) {
|
@@ -16282,9 +16283,9 @@ _eof_trans:
|
|
16282
16283
|
}
|
16283
16284
|
break;
|
16284
16285
|
case 323:
|
16285
|
-
#line
|
16286
|
+
#line 1570 "ext/lexer/lexer.rl"
|
16286
16287
|
{ tm = p - 3; }
|
16287
|
-
#line
|
16288
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16288
16289
|
{te = p;p--;{
|
16289
16290
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16290
16291
|
p = tm - 1;
|
@@ -16292,15 +16293,15 @@ _eof_trans:
|
|
16292
16293
|
}}
|
16293
16294
|
break;
|
16294
16295
|
case 297:
|
16295
|
-
#line
|
16296
|
+
#line 1570 "ext/lexer/lexer.rl"
|
16296
16297
|
{ tm = p - 3; }
|
16297
|
-
#line
|
16298
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16298
16299
|
{te = p;p--;{ p = ts - 1; {cs = 769;goto _again;} }}
|
16299
16300
|
break;
|
16300
16301
|
case 324:
|
16301
|
-
#line
|
16302
|
+
#line 1575 "ext/lexer/lexer.rl"
|
16302
16303
|
{ tm = p - 2; }
|
16303
|
-
#line
|
16304
|
+
#line 2004 "ext/lexer/lexer.rl"
|
16304
16305
|
{te = p;p--;{
|
16305
16306
|
emit_token(lexer, tSYMBOL, tok(lexer, ts + 1, tm), ts, tm);
|
16306
16307
|
p = tm - 1;
|
@@ -16308,9 +16309,9 @@ _eof_trans:
|
|
16308
16309
|
}}
|
16309
16310
|
break;
|
16310
16311
|
case 471:
|
16311
|
-
#line
|
16312
|
+
#line 1579 "ext/lexer/lexer.rl"
|
16312
16313
|
{ tm = p - 2; }
|
16313
|
-
#line
|
16314
|
+
#line 2357 "ext/lexer/lexer.rl"
|
16314
16315
|
{te = p;p--;{
|
16315
16316
|
emit_token(lexer, tCONSTANT, tok(lexer, ts, tm), ts, tm);
|
16316
16317
|
p = tm - 1;
|
@@ -16318,46 +16319,46 @@ _eof_trans:
|
|
16318
16319
|
}}
|
16319
16320
|
break;
|
16320
16321
|
case 250:
|
16321
|
-
#line
|
16322
|
+
#line 1582 "ext/lexer/lexer.rl"
|
16322
16323
|
{
|
16323
16324
|
stack_state_push(&lexer->cond, 0);
|
16324
16325
|
stack_state_push(&lexer->cmdarg, 0);
|
16325
16326
|
}
|
16326
|
-
#line
|
16327
|
+
#line 1743 "ext/lexer/lexer.rl"
|
16327
16328
|
{te = p;p--;{
|
16328
16329
|
emit_token(lexer, tLBRACK, rb_str_new2("["), te - 1, te);
|
16329
16330
|
cs = 537; {p++; goto _out; }
|
16330
16331
|
}}
|
16331
16332
|
break;
|
16332
16333
|
case 358:
|
16333
|
-
#line
|
16334
|
+
#line 1582 "ext/lexer/lexer.rl"
|
16334
16335
|
{
|
16335
16336
|
stack_state_push(&lexer->cond, 0);
|
16336
16337
|
stack_state_push(&lexer->cmdarg, 0);
|
16337
16338
|
}
|
16338
|
-
#line
|
16339
|
+
#line 2060 "ext/lexer/lexer.rl"
|
16339
16340
|
{te = p;p--;{
|
16340
16341
|
emit_token(lexer, tLBRACK, tok(lexer, ts, te), ts, te);
|
16341
16342
|
{p++; goto _out; }
|
16342
16343
|
}}
|
16343
16344
|
break;
|
16344
16345
|
case 474:
|
16345
|
-
#line
|
16346
|
+
#line 1582 "ext/lexer/lexer.rl"
|
16346
16347
|
{
|
16347
16348
|
stack_state_push(&lexer->cond, 0);
|
16348
16349
|
stack_state_push(&lexer->cmdarg, 0);
|
16349
16350
|
}
|
16350
|
-
#line
|
16351
|
+
#line 2463 "ext/lexer/lexer.rl"
|
16351
16352
|
{te = p;p--;{ emit(tLBRACK2); cs = 537; {p++; goto _out; } }}
|
16352
16353
|
break;
|
16353
16354
|
case 242:
|
16354
|
-
#line
|
16355
|
+
#line 1587 "ext/lexer/lexer.rl"
|
16355
16356
|
{
|
16356
16357
|
stack_state_push(&lexer->cond, 0);
|
16357
16358
|
stack_state_push(&lexer->cmdarg, 0);
|
16358
16359
|
lexer->paren_nest += 1;
|
16359
16360
|
}
|
16360
|
-
#line
|
16361
|
+
#line 1731 "ext/lexer/lexer.rl"
|
16361
16362
|
{te = p;p--;{
|
16362
16363
|
if (lexer->version == 18) {
|
16363
16364
|
emit_token(lexer, tLPAREN2, rb_str_new2("("), te - 1, te);
|
@@ -16369,23 +16370,23 @@ _eof_trans:
|
|
16369
16370
|
}}
|
16370
16371
|
break;
|
16371
16372
|
case 255:
|
16372
|
-
#line
|
16373
|
+
#line 1587 "ext/lexer/lexer.rl"
|
16373
16374
|
{
|
16374
16375
|
stack_state_push(&lexer->cond, 0);
|
16375
16376
|
stack_state_push(&lexer->cmdarg, 0);
|
16376
16377
|
lexer->paren_nest += 1;
|
16377
16378
|
}
|
16378
|
-
#line
|
16379
|
+
#line 1741 "ext/lexer/lexer.rl"
|
16379
16380
|
{te = p;p--;{ emit(tLPAREN2); cs = 537; {p++; goto _out; } }}
|
16380
16381
|
break;
|
16381
16382
|
case 263:
|
16382
|
-
#line
|
16383
|
+
#line 1587 "ext/lexer/lexer.rl"
|
16383
16384
|
{
|
16384
16385
|
stack_state_push(&lexer->cond, 0);
|
16385
16386
|
stack_state_push(&lexer->cmdarg, 0);
|
16386
16387
|
lexer->paren_nest += 1;
|
16387
16388
|
}
|
16388
|
-
#line
|
16389
|
+
#line 1816 "ext/lexer/lexer.rl"
|
16389
16390
|
{te = p;p--;{
|
16390
16391
|
emit_token(lexer, tLPAREN_ARG, rb_str_new2("("), te - 1, te);
|
16391
16392
|
if (lexer->version == 18) {
|
@@ -16396,35 +16397,35 @@ _eof_trans:
|
|
16396
16397
|
}}
|
16397
16398
|
break;
|
16398
16399
|
case 312:
|
16399
|
-
#line
|
16400
|
+
#line 1587 "ext/lexer/lexer.rl"
|
16400
16401
|
{
|
16401
16402
|
stack_state_push(&lexer->cond, 0);
|
16402
16403
|
stack_state_push(&lexer->cmdarg, 0);
|
16403
16404
|
lexer->paren_nest += 1;
|
16404
16405
|
}
|
16405
|
-
#line
|
16406
|
+
#line 2065 "ext/lexer/lexer.rl"
|
16406
16407
|
{te = p;p--;{
|
16407
16408
|
emit_token(lexer, tLPAREN, tok(lexer, ts, te), ts, te);
|
16408
16409
|
{p++; goto _out; }
|
16409
16410
|
}}
|
16410
16411
|
break;
|
16411
16412
|
case 409:
|
16412
|
-
#line
|
16413
|
+
#line 1587 "ext/lexer/lexer.rl"
|
16413
16414
|
{
|
16414
16415
|
stack_state_push(&lexer->cond, 0);
|
16415
16416
|
stack_state_push(&lexer->cmdarg, 0);
|
16416
16417
|
lexer->paren_nest += 1;
|
16417
16418
|
}
|
16418
|
-
#line
|
16419
|
+
#line 2400 "ext/lexer/lexer.rl"
|
16419
16420
|
{te = p;p--;{ emit_table_PUNCTUATION(lexer, tok(lexer, ts, te), ts, te);
|
16420
16421
|
cs = 537; {p++; goto _out; } }}
|
16421
16422
|
break;
|
16422
16423
|
case 410:
|
16423
|
-
#line
|
16424
|
+
#line 1593 "ext/lexer/lexer.rl"
|
16424
16425
|
{
|
16425
16426
|
lexer->paren_nest -= 1;
|
16426
16427
|
}
|
16427
|
-
#line
|
16428
|
+
#line 2423 "ext/lexer/lexer.rl"
|
16428
16429
|
{te = p;p--;{
|
16429
16430
|
emit(tRPAREN);
|
16430
16431
|
|
@@ -16440,15 +16441,15 @@ _eof_trans:
|
|
16440
16441
|
}}
|
16441
16442
|
break;
|
16442
16443
|
case 70:
|
16443
|
-
#line
|
16444
|
+
#line 1922 "ext/lexer/lexer.rl"
|
16444
16445
|
{ heredoc_e = p; }
|
16445
|
-
#line
|
16446
|
+
#line 1006 "ext/lexer/lexer.rl"
|
16446
16447
|
{ lexer->newline_s = p; }
|
16447
16448
|
break;
|
16448
16449
|
case 329:
|
16449
|
-
#line
|
16450
|
+
#line 1923 "ext/lexer/lexer.rl"
|
16450
16451
|
{ if (!lexer->herebody_s) lexer->herebody_s = p; }
|
16451
|
-
#line
|
16452
|
+
#line 1923 "ext/lexer/lexer.rl"
|
16452
16453
|
{te = p;p--;{
|
16453
16454
|
|
16454
16455
|
VALUE heredoc = tok(lexer, ts, heredoc_e);
|
@@ -16513,9 +16514,9 @@ _eof_trans:
|
|
16513
16514
|
}}
|
16514
16515
|
break;
|
16515
16516
|
case 334:
|
16516
|
-
#line
|
16517
|
+
#line 2017 "ext/lexer/lexer.rl"
|
16517
16518
|
{ lexer->escape = Qnil; }
|
16518
|
-
#line
|
16519
|
+
#line 2018 "ext/lexer/lexer.rl"
|
16519
16520
|
{te = p;p--;{
|
16520
16521
|
VALUE value = lexer->escape;
|
16521
16522
|
if (value == Qnil)
|
@@ -16530,9 +16531,9 @@ _eof_trans:
|
|
16530
16531
|
}}
|
16531
16532
|
break;
|
16532
16533
|
case 361:
|
16533
|
-
#line
|
16534
|
+
#line 2074 "ext/lexer/lexer.rl"
|
16534
16535
|
{ tm = p; }
|
16535
|
-
#line
|
16536
|
+
#line 2074 "ext/lexer/lexer.rl"
|
16536
16537
|
{te = p;p--;{
|
16537
16538
|
emit_token(lexer, kRESCUE, tok(lexer, ts, tm), ts, tm);
|
16538
16539
|
p = tm - 1;
|
@@ -16540,285 +16541,285 @@ _eof_trans:
|
|
16540
16541
|
}}
|
16541
16542
|
break;
|
16542
16543
|
case 459:
|
16543
|
-
#line
|
16544
|
+
#line 2260 "ext/lexer/lexer.rl"
|
16544
16545
|
{ num_base = 16; num_digits_s = p; }
|
16545
|
-
#line
|
16546
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16546
16547
|
{ num_suffix_s = p; }
|
16547
16548
|
break;
|
16548
16549
|
case 451:
|
16549
|
-
#line
|
16550
|
+
#line 2261 "ext/lexer/lexer.rl"
|
16550
16551
|
{ num_base = 10; num_digits_s = p; }
|
16551
|
-
#line
|
16552
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16552
16553
|
{ num_suffix_s = p; }
|
16553
16554
|
break;
|
16554
16555
|
case 455:
|
16555
|
-
#line
|
16556
|
+
#line 2262 "ext/lexer/lexer.rl"
|
16556
16557
|
{ num_base = 8; num_digits_s = p; }
|
16557
|
-
#line
|
16558
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16558
16559
|
{ num_suffix_s = p; }
|
16559
16560
|
break;
|
16560
16561
|
case 447:
|
16561
|
-
#line 2260 "ext/lexer/lexer.rl"
|
16562
|
-
{ num_base = 2; num_digits_s = p; }
|
16563
16562
|
#line 2263 "ext/lexer/lexer.rl"
|
16563
|
+
{ num_base = 2; num_digits_s = p; }
|
16564
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16564
16565
|
{ num_suffix_s = p; }
|
16565
16566
|
break;
|
16566
16567
|
case 466:
|
16567
|
-
#line
|
16568
|
+
#line 2264 "ext/lexer/lexer.rl"
|
16568
16569
|
{ num_base = 10; num_digits_s = ts; }
|
16569
|
-
#line
|
16570
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16570
16571
|
{ num_suffix_s = p; }
|
16571
16572
|
break;
|
16572
16573
|
case 424:
|
16573
|
-
#line
|
16574
|
+
#line 2265 "ext/lexer/lexer.rl"
|
16574
16575
|
{ num_base = 8; num_digits_s = ts; }
|
16575
|
-
#line
|
16576
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16576
16577
|
{ num_suffix_s = p; }
|
16577
16578
|
break;
|
16578
16579
|
case 468:
|
16579
|
-
#line
|
16580
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16580
16581
|
{ num_suffix_s = p; }
|
16581
|
-
#line
|
16582
|
+
#line 1080 "ext/lexer/lexer.rl"
|
16582
16583
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
16583
16584
|
break;
|
16584
16585
|
case 87:
|
16585
|
-
#line
|
16586
|
+
#line 2493 "ext/lexer/lexer.rl"
|
16586
16587
|
{ tm = p; }
|
16587
|
-
#line
|
16588
|
+
#line 2493 "ext/lexer/lexer.rl"
|
16588
16589
|
{te = p+1;{ p = tm - 1; {cs = 769;goto _again;} }}
|
16589
16590
|
break;
|
16590
16591
|
case 8:
|
16591
16592
|
#line 1 "NONE"
|
16592
16593
|
{te = p+1;}
|
16593
|
-
#line
|
16594
|
+
#line 1006 "ext/lexer/lexer.rl"
|
16594
16595
|
{ lexer->newline_s = p; }
|
16595
16596
|
break;
|
16596
16597
|
case 439:
|
16597
16598
|
#line 1 "NONE"
|
16598
16599
|
{te = p+1;}
|
16599
|
-
#line
|
16600
|
+
#line 2266 "ext/lexer/lexer.rl"
|
16600
16601
|
{ num_suffix_s = p; }
|
16601
16602
|
break;
|
16602
16603
|
case 429:
|
16603
16604
|
#line 1 "NONE"
|
16604
16605
|
{te = p+1;}
|
16605
|
-
#line
|
16606
|
+
#line 2334 "ext/lexer/lexer.rl"
|
16606
16607
|
{ num_suffix_s = p; }
|
16607
16608
|
break;
|
16608
16609
|
case 211:
|
16609
16610
|
#line 1 "NONE"
|
16610
16611
|
{te = p+1;}
|
16611
|
-
#line
|
16612
|
+
#line 1653 "ext/lexer/lexer.rl"
|
16612
16613
|
{act = 39;}
|
16613
16614
|
break;
|
16614
16615
|
case 198:
|
16615
16616
|
#line 1 "NONE"
|
16616
16617
|
{te = p+1;}
|
16617
|
-
#line
|
16618
|
+
#line 1656 "ext/lexer/lexer.rl"
|
16618
16619
|
{act = 40;}
|
16619
16620
|
break;
|
16620
16621
|
case 194:
|
16621
16622
|
#line 1 "NONE"
|
16622
16623
|
{te = p+1;}
|
16623
|
-
#line
|
16624
|
+
#line 1658 "ext/lexer/lexer.rl"
|
16624
16625
|
{act = 41;}
|
16625
16626
|
break;
|
16626
16627
|
case 26:
|
16627
16628
|
#line 1 "NONE"
|
16628
16629
|
{te = p+1;}
|
16629
|
-
#line
|
16630
|
+
#line 1764 "ext/lexer/lexer.rl"
|
16630
16631
|
{act = 67;}
|
16631
16632
|
break;
|
16632
16633
|
case 244:
|
16633
16634
|
#line 1 "NONE"
|
16634
16635
|
{te = p+1;}
|
16635
|
-
#line
|
16636
|
+
#line 1774 "ext/lexer/lexer.rl"
|
16636
16637
|
{act = 68;}
|
16637
16638
|
break;
|
16638
16639
|
case 27:
|
16639
16640
|
#line 1 "NONE"
|
16640
16641
|
{te = p+1;}
|
16641
|
-
#line
|
16642
|
+
#line 1798 "ext/lexer/lexer.rl"
|
16642
16643
|
{act = 73;}
|
16643
16644
|
break;
|
16644
16645
|
case 237:
|
16645
16646
|
#line 1 "NONE"
|
16646
16647
|
{te = p+1;}
|
16647
|
-
#line
|
16648
|
+
#line 1803 "ext/lexer/lexer.rl"
|
16648
16649
|
{act = 74;}
|
16649
16650
|
break;
|
16650
16651
|
case 264:
|
16651
16652
|
#line 1 "NONE"
|
16652
16653
|
{te = p+1;}
|
16653
|
-
#line
|
16654
|
+
#line 1826 "ext/lexer/lexer.rl"
|
16654
16655
|
{act = 80;}
|
16655
16656
|
break;
|
16656
16657
|
case 45:
|
16657
16658
|
#line 1 "NONE"
|
16658
16659
|
{te = p+1;}
|
16659
|
-
#line
|
16660
|
+
#line 1838 "ext/lexer/lexer.rl"
|
16660
16661
|
{act = 81;}
|
16661
16662
|
break;
|
16662
16663
|
case 285:
|
16663
16664
|
#line 1 "NONE"
|
16664
16665
|
{te = p+1;}
|
16665
|
-
#line
|
16666
|
+
#line 1868 "ext/lexer/lexer.rl"
|
16666
16667
|
{act = 88;}
|
16667
16668
|
break;
|
16668
16669
|
case 274:
|
16669
16670
|
#line 1 "NONE"
|
16670
16671
|
{te = p+1;}
|
16671
|
-
#line
|
16672
|
+
#line 1871 "ext/lexer/lexer.rl"
|
16672
16673
|
{act = 89;}
|
16673
16674
|
break;
|
16674
16675
|
case 288:
|
16675
16676
|
#line 1 "NONE"
|
16676
16677
|
{te = p+1;}
|
16677
|
-
#line
|
16678
|
+
#line 2071 "ext/lexer/lexer.rl"
|
16678
16679
|
{act = 113;}
|
16679
16680
|
break;
|
16680
16681
|
case 360:
|
16681
16682
|
#line 1 "NONE"
|
16682
16683
|
{te = p+1;}
|
16683
|
-
#line
|
16684
|
+
#line 2074 "ext/lexer/lexer.rl"
|
16684
16685
|
{act = 114;}
|
16685
16686
|
break;
|
16686
16687
|
case 359:
|
16687
16688
|
#line 1 "NONE"
|
16688
16689
|
{te = p+1;}
|
16689
|
-
#line
|
16690
|
+
#line 2081 "ext/lexer/lexer.rl"
|
16690
16691
|
{act = 115;}
|
16691
16692
|
break;
|
16692
16693
|
case 72:
|
16693
16694
|
#line 1 "NONE"
|
16694
16695
|
{te = p+1;}
|
16695
|
-
#line
|
16696
|
+
#line 2108 "ext/lexer/lexer.rl"
|
16696
16697
|
{act = 117;}
|
16697
16698
|
break;
|
16698
16699
|
case 286:
|
16699
16700
|
#line 1 "NONE"
|
16700
16701
|
{te = p+1;}
|
16701
|
-
#line
|
16702
|
+
#line 1597 "ext/lexer/lexer.rl"
|
16702
16703
|
{act = 118;}
|
16703
16704
|
break;
|
16704
16705
|
case 289:
|
16705
16706
|
#line 1 "NONE"
|
16706
16707
|
{te = p+1;}
|
16707
|
-
#line
|
16708
|
+
#line 2140 "ext/lexer/lexer.rl"
|
16708
16709
|
{act = 122;}
|
16709
16710
|
break;
|
16710
16711
|
case 484:
|
16711
16712
|
#line 1 "NONE"
|
16712
16713
|
{te = p+1;}
|
16713
|
-
#line
|
16714
|
+
#line 2196 "ext/lexer/lexer.rl"
|
16714
16715
|
{act = 136;}
|
16715
16716
|
break;
|
16716
16717
|
case 479:
|
16717
16718
|
#line 1 "NONE"
|
16718
16719
|
{te = p+1;}
|
16719
|
-
#line
|
16720
|
+
#line 2208 "ext/lexer/lexer.rl"
|
16720
16721
|
{act = 137;}
|
16721
16722
|
break;
|
16722
16723
|
case 487:
|
16723
16724
|
#line 1 "NONE"
|
16724
16725
|
{te = p+1;}
|
16725
|
-
#line
|
16726
|
+
#line 2217 "ext/lexer/lexer.rl"
|
16726
16727
|
{act = 139;}
|
16727
16728
|
break;
|
16728
16729
|
case 480:
|
16729
16730
|
#line 1 "NONE"
|
16730
16731
|
{te = p+1;}
|
16731
|
-
#line
|
16732
|
+
#line 2221 "ext/lexer/lexer.rl"
|
16732
16733
|
{act = 140;}
|
16733
16734
|
break;
|
16734
16735
|
case 481:
|
16735
16736
|
#line 1 "NONE"
|
16736
16737
|
{te = p+1;}
|
16737
|
-
#line
|
16738
|
+
#line 2225 "ext/lexer/lexer.rl"
|
16738
16739
|
{act = 141;}
|
16739
16740
|
break;
|
16740
16741
|
case 486:
|
16741
16742
|
#line 1 "NONE"
|
16742
16743
|
{te = p+1;}
|
16743
|
-
#line
|
16744
|
+
#line 2229 "ext/lexer/lexer.rl"
|
16744
16745
|
{act = 142;}
|
16745
16746
|
break;
|
16746
16747
|
case 478:
|
16747
16748
|
#line 1 "NONE"
|
16748
16749
|
{te = p+1;}
|
16749
|
-
#line
|
16750
|
+
#line 2240 "ext/lexer/lexer.rl"
|
16750
16751
|
{act = 143;}
|
16751
16752
|
break;
|
16752
16753
|
case 473:
|
16753
16754
|
#line 1 "NONE"
|
16754
16755
|
{te = p+1;}
|
16755
|
-
#line
|
16756
|
+
#line 2257 "ext/lexer/lexer.rl"
|
16756
16757
|
{act = 144;}
|
16757
16758
|
break;
|
16758
16759
|
case 389:
|
16759
16760
|
#line 1 "NONE"
|
16760
16761
|
{te = p+1;}
|
16761
|
-
#line
|
16762
|
+
#line 2267 "ext/lexer/lexer.rl"
|
16762
16763
|
{act = 145;}
|
16763
16764
|
break;
|
16764
16765
|
case 427:
|
16765
16766
|
#line 1 "NONE"
|
16766
16767
|
{te = p+1;}
|
16767
|
-
#line
|
16768
|
+
#line 2319 "ext/lexer/lexer.rl"
|
16768
16769
|
{act = 148;}
|
16769
16770
|
break;
|
16770
16771
|
case 80:
|
16771
16772
|
#line 1 "NONE"
|
16772
16773
|
{te = p+1;}
|
16773
|
-
#line
|
16774
|
+
#line 2336 "ext/lexer/lexer.rl"
|
16774
16775
|
{act = 149;}
|
16775
16776
|
break;
|
16776
16777
|
case 392:
|
16777
16778
|
#line 1 "NONE"
|
16778
16779
|
{te = p+1;}
|
16779
|
-
#line
|
16780
|
+
#line 2355 "ext/lexer/lexer.rl"
|
16780
16781
|
{act = 151;}
|
16781
16782
|
break;
|
16782
16783
|
case 417:
|
16783
16784
|
#line 1 "NONE"
|
16784
16785
|
{te = p+1;}
|
16785
|
-
#line
|
16786
|
+
#line 2367 "ext/lexer/lexer.rl"
|
16786
16787
|
{act = 154;}
|
16787
16788
|
break;
|
16788
16789
|
case 414:
|
16789
16790
|
#line 1 "NONE"
|
16790
16791
|
{te = p+1;}
|
16791
|
-
#line
|
16792
|
+
#line 2373 "ext/lexer/lexer.rl"
|
16792
16793
|
{act = 155;}
|
16793
16794
|
break;
|
16794
16795
|
case 383:
|
16795
16796
|
#line 1 "NONE"
|
16796
16797
|
{te = p+1;}
|
16797
|
-
#line
|
16798
|
+
#line 1597 "ext/lexer/lexer.rl"
|
16798
16799
|
{act = 156;}
|
16799
16800
|
break;
|
16800
16801
|
case 395:
|
16801
16802
|
#line 1 "NONE"
|
16802
16803
|
{te = p+1;}
|
16803
|
-
#line
|
16804
|
+
#line 2378 "ext/lexer/lexer.rl"
|
16804
16805
|
{act = 157;}
|
16805
16806
|
break;
|
16806
16807
|
case 387:
|
16807
16808
|
#line 1 "NONE"
|
16808
16809
|
{te = p+1;}
|
16809
|
-
#line
|
16810
|
+
#line 2394 "ext/lexer/lexer.rl"
|
16810
16811
|
{act = 159;}
|
16811
16812
|
break;
|
16812
16813
|
case 394:
|
16813
16814
|
#line 1 "NONE"
|
16814
16815
|
{te = p+1;}
|
16815
|
-
#line
|
16816
|
+
#line 2400 "ext/lexer/lexer.rl"
|
16816
16817
|
{act = 160;}
|
16817
16818
|
break;
|
16818
16819
|
case 168:
|
16819
|
-
#line
|
16820
|
+
#line 1006 "ext/lexer/lexer.rl"
|
16820
16821
|
{ lexer->newline_s = p; }
|
16821
|
-
#line
|
16822
|
+
#line 1339 "ext/lexer/lexer.rl"
|
16822
16823
|
{te = p+1;{
|
16823
16824
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
16824
16825
|
long str_s = current_literal->str_s;
|
@@ -16862,14 +16863,14 @@ _eof_trans:
|
|
16862
16863
|
literal_flush_string(current_literal);
|
16863
16864
|
}
|
16864
16865
|
}}
|
16865
|
-
#line
|
16866
|
+
#line 1271 "ext/lexer/lexer.rl"
|
16866
16867
|
{
|
16867
16868
|
lexer->escape_s = p;
|
16868
16869
|
lexer->escape = Qnil;
|
16869
16870
|
}
|
16870
16871
|
break;
|
16871
16872
|
case 116:
|
16872
|
-
#line
|
16873
|
+
#line 1155 "ext/lexer/lexer.rl"
|
16873
16874
|
{
|
16874
16875
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
16875
16876
|
lexer->escape = unescape_char(c);
|
@@ -16880,13 +16881,13 @@ _eof_trans:
|
|
16880
16881
|
force_encoding(codepoint, lexer->encoding);
|
16881
16882
|
}
|
16882
16883
|
}
|
16883
|
-
#line
|
16884
|
+
#line 1171 "ext/lexer/lexer.rl"
|
16884
16885
|
{
|
16885
16886
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
16886
16887
|
lexer->escape = rb_str_new(&c, 1);
|
16887
16888
|
force_encoding(lexer->escape, lexer->encoding);
|
16888
16889
|
}
|
16889
|
-
#line
|
16890
|
+
#line 1310 "ext/lexer/lexer.rl"
|
16890
16891
|
{te = p;p--;{
|
16891
16892
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
16892
16893
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -16917,7 +16918,7 @@ _eof_trans:
|
|
16917
16918
|
}}
|
16918
16919
|
break;
|
16919
16920
|
case 143:
|
16920
|
-
#line
|
16921
|
+
#line 1155 "ext/lexer/lexer.rl"
|
16921
16922
|
{
|
16922
16923
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
16923
16924
|
lexer->escape = unescape_char(c);
|
@@ -16928,13 +16929,13 @@ _eof_trans:
|
|
16928
16929
|
force_encoding(codepoint, lexer->encoding);
|
16929
16930
|
}
|
16930
16931
|
}
|
16931
|
-
#line
|
16932
|
+
#line 1171 "ext/lexer/lexer.rl"
|
16932
16933
|
{
|
16933
16934
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
16934
16935
|
lexer->escape = rb_str_new(&c, 1);
|
16935
16936
|
force_encoding(lexer->escape, lexer->encoding);
|
16936
16937
|
}
|
16937
|
-
#line
|
16938
|
+
#line 1310 "ext/lexer/lexer.rl"
|
16938
16939
|
{te = p;p--;{
|
16939
16940
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
16940
16941
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -16965,7 +16966,7 @@ _eof_trans:
|
|
16965
16966
|
}}
|
16966
16967
|
break;
|
16967
16968
|
case 344:
|
16968
|
-
#line
|
16969
|
+
#line 1155 "ext/lexer/lexer.rl"
|
16969
16970
|
{
|
16970
16971
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
16971
16972
|
lexer->escape = unescape_char(c);
|
@@ -16976,13 +16977,13 @@ _eof_trans:
|
|
16976
16977
|
force_encoding(codepoint, lexer->encoding);
|
16977
16978
|
}
|
16978
16979
|
}
|
16979
|
-
#line
|
16980
|
+
#line 1171 "ext/lexer/lexer.rl"
|
16980
16981
|
{
|
16981
16982
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
16982
16983
|
lexer->escape = rb_str_new(&c, 1);
|
16983
16984
|
force_encoding(lexer->escape, lexer->encoding);
|
16984
16985
|
}
|
16985
|
-
#line
|
16986
|
+
#line 2018 "ext/lexer/lexer.rl"
|
16986
16987
|
{te = p;p--;{
|
16987
16988
|
VALUE value = lexer->escape;
|
16988
16989
|
if (value == Qnil)
|
@@ -16997,7 +16998,7 @@ _eof_trans:
|
|
16997
16998
|
}}
|
16998
16999
|
break;
|
16999
17000
|
case 121:
|
17000
|
-
#line
|
17001
|
+
#line 1155 "ext/lexer/lexer.rl"
|
17001
17002
|
{
|
17002
17003
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
17003
17004
|
lexer->escape = unescape_char(c);
|
@@ -17008,13 +17009,13 @@ _eof_trans:
|
|
17008
17009
|
force_encoding(codepoint, lexer->encoding);
|
17009
17010
|
}
|
17010
17011
|
}
|
17011
|
-
#line
|
17012
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17012
17013
|
{
|
17013
17014
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17014
17015
|
lexer->escape = rb_str_new(&c, 1);
|
17015
17016
|
force_encoding(lexer->escape, lexer->encoding);
|
17016
17017
|
}
|
17017
|
-
#line
|
17018
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17018
17019
|
{te = p;p--;{
|
17019
17020
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17020
17021
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17045,7 +17046,7 @@ _eof_trans:
|
|
17045
17046
|
}}
|
17046
17047
|
break;
|
17047
17048
|
case 148:
|
17048
|
-
#line
|
17049
|
+
#line 1155 "ext/lexer/lexer.rl"
|
17049
17050
|
{
|
17050
17051
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
17051
17052
|
lexer->escape = unescape_char(c);
|
@@ -17056,13 +17057,13 @@ _eof_trans:
|
|
17056
17057
|
force_encoding(codepoint, lexer->encoding);
|
17057
17058
|
}
|
17058
17059
|
}
|
17059
|
-
#line
|
17060
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17060
17061
|
{
|
17061
17062
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17062
17063
|
lexer->escape = rb_str_new(&c, 1);
|
17063
17064
|
force_encoding(lexer->escape, lexer->encoding);
|
17064
17065
|
}
|
17065
|
-
#line
|
17066
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17066
17067
|
{te = p;p--;{
|
17067
17068
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17068
17069
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17093,7 +17094,7 @@ _eof_trans:
|
|
17093
17094
|
}}
|
17094
17095
|
break;
|
17095
17096
|
case 349:
|
17096
|
-
#line
|
17097
|
+
#line 1155 "ext/lexer/lexer.rl"
|
17097
17098
|
{
|
17098
17099
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
17099
17100
|
lexer->escape = unescape_char(c);
|
@@ -17104,13 +17105,13 @@ _eof_trans:
|
|
17104
17105
|
force_encoding(codepoint, lexer->encoding);
|
17105
17106
|
}
|
17106
17107
|
}
|
17107
|
-
#line
|
17108
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17108
17109
|
{
|
17109
17110
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17110
17111
|
lexer->escape = rb_str_new(&c, 1);
|
17111
17112
|
force_encoding(lexer->escape, lexer->encoding);
|
17112
17113
|
}
|
17113
|
-
#line
|
17114
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17114
17115
|
{te = p;p--;{
|
17115
17116
|
VALUE value = lexer->escape;
|
17116
17117
|
if (value == Qnil)
|
@@ -17125,15 +17126,15 @@ _eof_trans:
|
|
17125
17126
|
}}
|
17126
17127
|
break;
|
17127
17128
|
case 120:
|
17128
|
-
#line
|
17129
|
+
#line 1185 "ext/lexer/lexer.rl"
|
17129
17130
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17130
|
-
#line
|
17131
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17131
17132
|
{
|
17132
17133
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17133
17134
|
lexer->escape = rb_str_new(&c, 1);
|
17134
17135
|
force_encoding(lexer->escape, lexer->encoding);
|
17135
17136
|
}
|
17136
|
-
#line
|
17137
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17137
17138
|
{te = p;p--;{
|
17138
17139
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17139
17140
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17164,15 +17165,15 @@ _eof_trans:
|
|
17164
17165
|
}}
|
17165
17166
|
break;
|
17166
17167
|
case 147:
|
17167
|
-
#line
|
17168
|
+
#line 1185 "ext/lexer/lexer.rl"
|
17168
17169
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17169
|
-
#line
|
17170
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17170
17171
|
{
|
17171
17172
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17172
17173
|
lexer->escape = rb_str_new(&c, 1);
|
17173
17174
|
force_encoding(lexer->escape, lexer->encoding);
|
17174
17175
|
}
|
17175
|
-
#line
|
17176
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17176
17177
|
{te = p;p--;{
|
17177
17178
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17178
17179
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17203,15 +17204,15 @@ _eof_trans:
|
|
17203
17204
|
}}
|
17204
17205
|
break;
|
17205
17206
|
case 348:
|
17206
|
-
#line
|
17207
|
+
#line 1185 "ext/lexer/lexer.rl"
|
17207
17208
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17208
|
-
#line
|
17209
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17209
17210
|
{
|
17210
17211
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17211
17212
|
lexer->escape = rb_str_new(&c, 1);
|
17212
17213
|
force_encoding(lexer->escape, lexer->encoding);
|
17213
17214
|
}
|
17214
|
-
#line
|
17215
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17215
17216
|
{te = p;p--;{
|
17216
17217
|
VALUE value = lexer->escape;
|
17217
17218
|
if (value == Qnil)
|
@@ -17226,15 +17227,15 @@ _eof_trans:
|
|
17226
17227
|
}}
|
17227
17228
|
break;
|
17228
17229
|
case 118:
|
17229
|
-
#line
|
17230
|
+
#line 1190 "ext/lexer/lexer.rl"
|
17230
17231
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
17231
|
-
#line
|
17232
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17232
17233
|
{
|
17233
17234
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17234
17235
|
lexer->escape = rb_str_new(&c, 1);
|
17235
17236
|
force_encoding(lexer->escape, lexer->encoding);
|
17236
17237
|
}
|
17237
|
-
#line
|
17238
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17238
17239
|
{te = p;p--;{
|
17239
17240
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17240
17241
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17265,15 +17266,15 @@ _eof_trans:
|
|
17265
17266
|
}}
|
17266
17267
|
break;
|
17267
17268
|
case 145:
|
17268
|
-
#line
|
17269
|
+
#line 1190 "ext/lexer/lexer.rl"
|
17269
17270
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
17270
|
-
#line
|
17271
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17271
17272
|
{
|
17272
17273
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17273
17274
|
lexer->escape = rb_str_new(&c, 1);
|
17274
17275
|
force_encoding(lexer->escape, lexer->encoding);
|
17275
17276
|
}
|
17276
|
-
#line
|
17277
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17277
17278
|
{te = p;p--;{
|
17278
17279
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17279
17280
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17304,15 +17305,15 @@ _eof_trans:
|
|
17304
17305
|
}}
|
17305
17306
|
break;
|
17306
17307
|
case 346:
|
17307
|
-
#line
|
17308
|
+
#line 1190 "ext/lexer/lexer.rl"
|
17308
17309
|
{ lexer->escape = rb_str_new2("\x7f"); }
|
17309
|
-
#line
|
17310
|
+
#line 1177 "ext/lexer/lexer.rl"
|
17310
17311
|
{
|
17311
17312
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
17312
17313
|
lexer->escape = rb_str_new(&c, 1);
|
17313
17314
|
force_encoding(lexer->escape, lexer->encoding);
|
17314
17315
|
}
|
17315
|
-
#line
|
17316
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17316
17317
|
{te = p;p--;{
|
17317
17318
|
VALUE value = lexer->escape;
|
17318
17319
|
if (value == Qnil)
|
@@ -17327,15 +17328,15 @@ _eof_trans:
|
|
17327
17328
|
}}
|
17328
17329
|
break;
|
17329
17330
|
case 114:
|
17330
|
-
#line
|
17331
|
+
#line 1191 "ext/lexer/lexer.rl"
|
17331
17332
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17332
|
-
#line
|
17333
|
+
#line 1171 "ext/lexer/lexer.rl"
|
17333
17334
|
{
|
17334
17335
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
17335
17336
|
lexer->escape = rb_str_new(&c, 1);
|
17336
17337
|
force_encoding(lexer->escape, lexer->encoding);
|
17337
17338
|
}
|
17338
|
-
#line
|
17339
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17339
17340
|
{te = p;p--;{
|
17340
17341
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17341
17342
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17366,15 +17367,15 @@ _eof_trans:
|
|
17366
17367
|
}}
|
17367
17368
|
break;
|
17368
17369
|
case 141:
|
17369
|
-
#line
|
17370
|
+
#line 1191 "ext/lexer/lexer.rl"
|
17370
17371
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17371
|
-
#line
|
17372
|
+
#line 1171 "ext/lexer/lexer.rl"
|
17372
17373
|
{
|
17373
17374
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
17374
17375
|
lexer->escape = rb_str_new(&c, 1);
|
17375
17376
|
force_encoding(lexer->escape, lexer->encoding);
|
17376
17377
|
}
|
17377
|
-
#line
|
17378
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17378
17379
|
{te = p;p--;{
|
17379
17380
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17380
17381
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17405,15 +17406,15 @@ _eof_trans:
|
|
17405
17406
|
}}
|
17406
17407
|
break;
|
17407
17408
|
case 342:
|
17408
|
-
#line
|
17409
|
+
#line 1191 "ext/lexer/lexer.rl"
|
17409
17410
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
17410
|
-
#line
|
17411
|
+
#line 1171 "ext/lexer/lexer.rl"
|
17411
17412
|
{
|
17412
17413
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
17413
17414
|
lexer->escape = rb_str_new(&c, 1);
|
17414
17415
|
force_encoding(lexer->escape, lexer->encoding);
|
17415
17416
|
}
|
17416
|
-
#line
|
17417
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17417
17418
|
{te = p;p--;{
|
17418
17419
|
VALUE value = lexer->escape;
|
17419
17420
|
if (value == Qnil)
|
@@ -17428,17 +17429,17 @@ _eof_trans:
|
|
17428
17429
|
}}
|
17429
17430
|
break;
|
17430
17431
|
case 125:
|
17431
|
-
#line
|
17432
|
+
#line 1227 "ext/lexer/lexer.rl"
|
17432
17433
|
{
|
17433
17434
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17434
17435
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
17435
17436
|
}
|
17436
|
-
#line
|
17437
|
+
#line 1241 "ext/lexer/lexer.rl"
|
17437
17438
|
{
|
17438
17439
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17439
17440
|
range(lexer, p - 1, p), empty_array);
|
17440
17441
|
}
|
17441
|
-
#line
|
17442
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17442
17443
|
{te = p;p--;{
|
17443
17444
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17444
17445
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17469,17 +17470,17 @@ _eof_trans:
|
|
17469
17470
|
}}
|
17470
17471
|
break;
|
17471
17472
|
case 152:
|
17472
|
-
#line
|
17473
|
+
#line 1227 "ext/lexer/lexer.rl"
|
17473
17474
|
{
|
17474
17475
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17475
17476
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
17476
17477
|
}
|
17477
|
-
#line
|
17478
|
+
#line 1241 "ext/lexer/lexer.rl"
|
17478
17479
|
{
|
17479
17480
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17480
17481
|
range(lexer, p - 1, p), empty_array);
|
17481
17482
|
}
|
17482
|
-
#line
|
17483
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17483
17484
|
{te = p;p--;{
|
17484
17485
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17485
17486
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17510,17 +17511,17 @@ _eof_trans:
|
|
17510
17511
|
}}
|
17511
17512
|
break;
|
17512
17513
|
case 353:
|
17513
|
-
#line
|
17514
|
+
#line 1227 "ext/lexer/lexer.rl"
|
17514
17515
|
{
|
17515
17516
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17516
17517
|
range(lexer, lexer->escape_s - 1, p), empty_array);
|
17517
17518
|
}
|
17518
|
-
#line
|
17519
|
+
#line 1241 "ext/lexer/lexer.rl"
|
17519
17520
|
{
|
17520
17521
|
diagnostic(lexer, fatal, invalid_unicode_escape, Qnil,
|
17521
17522
|
range(lexer, p - 1, p), empty_array);
|
17522
17523
|
}
|
17523
|
-
#line
|
17524
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17524
17525
|
{te = p;p--;{
|
17525
17526
|
VALUE value = lexer->escape;
|
17526
17527
|
if (value == Qnil)
|
@@ -17535,17 +17536,17 @@ _eof_trans:
|
|
17535
17536
|
}}
|
17536
17537
|
break;
|
17537
17538
|
case 108:
|
17538
|
-
#line
|
17539
|
+
#line 1271 "ext/lexer/lexer.rl"
|
17539
17540
|
{
|
17540
17541
|
lexer->escape_s = p;
|
17541
17542
|
lexer->escape = Qnil;
|
17542
17543
|
}
|
17543
|
-
#line
|
17544
|
+
#line 1265 "ext/lexer/lexer.rl"
|
17544
17545
|
{
|
17545
17546
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
17546
17547
|
empty_array);
|
17547
17548
|
}
|
17548
|
-
#line
|
17549
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17549
17550
|
{te = p;p--;{
|
17550
17551
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17551
17552
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17576,17 +17577,17 @@ _eof_trans:
|
|
17576
17577
|
}}
|
17577
17578
|
break;
|
17578
17579
|
case 136:
|
17579
|
-
#line
|
17580
|
+
#line 1271 "ext/lexer/lexer.rl"
|
17580
17581
|
{
|
17581
17582
|
lexer->escape_s = p;
|
17582
17583
|
lexer->escape = Qnil;
|
17583
17584
|
}
|
17584
|
-
#line
|
17585
|
+
#line 1265 "ext/lexer/lexer.rl"
|
17585
17586
|
{
|
17586
17587
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
17587
17588
|
empty_array);
|
17588
17589
|
}
|
17589
|
-
#line
|
17590
|
+
#line 1310 "ext/lexer/lexer.rl"
|
17590
17591
|
{te = p;p--;{
|
17591
17592
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
17592
17593
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -17617,17 +17618,17 @@ _eof_trans:
|
|
17617
17618
|
}}
|
17618
17619
|
break;
|
17619
17620
|
case 337:
|
17620
|
-
#line
|
17621
|
+
#line 1271 "ext/lexer/lexer.rl"
|
17621
17622
|
{
|
17622
17623
|
lexer->escape_s = p;
|
17623
17624
|
lexer->escape = Qnil;
|
17624
17625
|
}
|
17625
|
-
#line
|
17626
|
+
#line 1265 "ext/lexer/lexer.rl"
|
17626
17627
|
{
|
17627
17628
|
diagnostic(lexer, fatal, escape_eof, Qnil, range(lexer, p - 1, p),
|
17628
17629
|
empty_array);
|
17629
17630
|
}
|
17630
|
-
#line
|
17631
|
+
#line 2018 "ext/lexer/lexer.rl"
|
17631
17632
|
{te = p;p--;{
|
17632
17633
|
VALUE value = lexer->escape;
|
17633
17634
|
if (value == Qnil)
|
@@ -17642,123 +17643,123 @@ _eof_trans:
|
|
17642
17643
|
}}
|
17643
17644
|
break;
|
17644
17645
|
case 61:
|
17645
|
-
#line
|
17646
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17646
17647
|
{ sharp_s = p - 1; }
|
17647
|
-
#line
|
17648
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17648
17649
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17649
|
-
#line
|
17650
|
+
#line 1006 "ext/lexer/lexer.rl"
|
17650
17651
|
{ lexer->newline_s = p; }
|
17651
17652
|
break;
|
17652
17653
|
case 204:
|
17653
|
-
#line
|
17654
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17654
17655
|
{ sharp_s = p - 1; }
|
17655
|
-
#line
|
17656
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17656
17657
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17657
|
-
#line
|
17658
|
+
#line 1687 "ext/lexer/lexer.rl"
|
17658
17659
|
{te = p;p--;}
|
17659
17660
|
break;
|
17660
17661
|
case 219:
|
17661
|
-
#line
|
17662
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17662
17663
|
{ sharp_s = p - 1; }
|
17663
|
-
#line
|
17664
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17664
17665
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17665
|
-
#line
|
17666
|
+
#line 1700 "ext/lexer/lexer.rl"
|
17666
17667
|
{te = p;p--;}
|
17667
17668
|
break;
|
17668
17669
|
case 231:
|
17669
|
-
#line
|
17670
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17670
17671
|
{ sharp_s = p - 1; }
|
17671
|
-
#line
|
17672
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17672
17673
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17673
|
-
#line
|
17674
|
+
#line 1722 "ext/lexer/lexer.rl"
|
17674
17675
|
{te = p;p--;}
|
17675
17676
|
break;
|
17676
17677
|
case 253:
|
17677
|
-
#line
|
17678
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17678
17679
|
{ sharp_s = p - 1; }
|
17679
|
-
#line
|
17680
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17680
17681
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17681
|
-
#line
|
17682
|
+
#line 1805 "ext/lexer/lexer.rl"
|
17682
17683
|
{te = p;p--;{ {cs = 769;goto _again;} }}
|
17683
17684
|
break;
|
17684
17685
|
case 268:
|
17685
|
-
#line
|
17686
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17686
17687
|
{ sharp_s = p - 1; }
|
17687
|
-
#line
|
17688
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17688
17689
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17689
|
-
#line
|
17690
|
+
#line 1858 "ext/lexer/lexer.rl"
|
17690
17691
|
{te = p;p--;}
|
17691
17692
|
break;
|
17692
17693
|
case 280:
|
17693
|
-
#line
|
17694
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17694
17695
|
{ sharp_s = p - 1; }
|
17695
|
-
#line
|
17696
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17696
17697
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17697
|
-
#line
|
17698
|
+
#line 1873 "ext/lexer/lexer.rl"
|
17698
17699
|
{te = p;p--;}
|
17699
17700
|
break;
|
17700
17701
|
case 306:
|
17701
|
-
#line
|
17702
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17702
17703
|
{ sharp_s = p - 1; }
|
17703
|
-
#line
|
17704
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17704
17705
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17705
|
-
#line
|
17706
|
+
#line 2128 "ext/lexer/lexer.rl"
|
17706
17707
|
{te = p;p--;}
|
17707
17708
|
break;
|
17708
17709
|
case 370:
|
17709
|
-
#line
|
17710
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17710
17711
|
{ sharp_s = p - 1; }
|
17711
|
-
#line
|
17712
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17712
17713
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17713
|
-
#line
|
17714
|
+
#line 2146 "ext/lexer/lexer.rl"
|
17714
17715
|
{te = p;p--;}
|
17715
17716
|
break;
|
17716
17717
|
case 380:
|
17717
|
-
#line
|
17718
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17718
17719
|
{ sharp_s = p - 1; }
|
17719
|
-
#line
|
17720
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17720
17721
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17721
|
-
#line
|
17722
|
+
#line 2169 "ext/lexer/lexer.rl"
|
17722
17723
|
{te = p;p--;}
|
17723
17724
|
break;
|
17724
17725
|
case 402:
|
17725
|
-
#line
|
17726
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17726
17727
|
{ sharp_s = p - 1; }
|
17727
|
-
#line
|
17728
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17728
17729
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17729
|
-
#line
|
17730
|
+
#line 2469 "ext/lexer/lexer.rl"
|
17730
17731
|
{te = p;p--;}
|
17731
17732
|
break;
|
17732
17733
|
case 95:
|
17733
|
-
#line
|
17734
|
+
#line 1541 "ext/lexer/lexer.rl"
|
17734
17735
|
{ sharp_s = p - 1; }
|
17735
|
-
#line
|
17736
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17736
17737
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17737
|
-
#line
|
17738
|
+
#line 2517 "ext/lexer/lexer.rl"
|
17738
17739
|
{te = p;p--;}
|
17739
17740
|
break;
|
17740
17741
|
case 462:
|
17741
|
-
#line
|
17742
|
+
#line 2264 "ext/lexer/lexer.rl"
|
17742
17743
|
{ num_base = 10; num_digits_s = ts; }
|
17743
|
-
#line
|
17744
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17744
17745
|
{ num_suffix_s = p; }
|
17745
|
-
#line
|
17746
|
+
#line 1080 "ext/lexer/lexer.rl"
|
17746
17747
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
17747
17748
|
break;
|
17748
17749
|
case 421:
|
17749
|
-
#line
|
17750
|
+
#line 2265 "ext/lexer/lexer.rl"
|
17750
17751
|
{ num_base = 8; num_digits_s = ts; }
|
17751
|
-
#line
|
17752
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17752
17753
|
{ num_suffix_s = p; }
|
17753
|
-
#line
|
17754
|
+
#line 1080 "ext/lexer/lexer.rl"
|
17754
17755
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
17755
17756
|
break;
|
17756
17757
|
case 437:
|
17757
|
-
#line
|
17758
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17758
17759
|
{ num_suffix_s = p; }
|
17759
|
-
#line
|
17760
|
+
#line 1080 "ext/lexer/lexer.rl"
|
17760
17761
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
17761
|
-
#line
|
17762
|
+
#line 2267 "ext/lexer/lexer.rl"
|
17762
17763
|
{te = p;p--;{
|
17763
17764
|
int invalid_idx;
|
17764
17765
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -17791,11 +17792,11 @@ _eof_trans:
|
|
17791
17792
|
}}
|
17792
17793
|
break;
|
17793
17794
|
case 430:
|
17794
|
-
#line
|
17795
|
+
#line 2333 "ext/lexer/lexer.rl"
|
17795
17796
|
{ num_suffix_s = p; }
|
17796
|
-
#line
|
17797
|
+
#line 1088 "ext/lexer/lexer.rl"
|
17797
17798
|
{ num_xfrm = emit_float; numeric_s = ts; }
|
17798
|
-
#line
|
17799
|
+
#line 2336 "ext/lexer/lexer.rl"
|
17799
17800
|
{te = p;p--;{
|
17800
17801
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
17801
17802
|
|
@@ -17810,11 +17811,11 @@ _eof_trans:
|
|
17810
17811
|
}}
|
17811
17812
|
break;
|
17812
17813
|
case 426:
|
17813
|
-
#line
|
17814
|
+
#line 2334 "ext/lexer/lexer.rl"
|
17814
17815
|
{ num_suffix_s = p; }
|
17815
|
-
#line
|
17816
|
+
#line 1088 "ext/lexer/lexer.rl"
|
17816
17817
|
{ num_xfrm = emit_float; numeric_s = ts; }
|
17817
|
-
#line
|
17818
|
+
#line 2336 "ext/lexer/lexer.rl"
|
17818
17819
|
{te = p;p--;{
|
17819
17820
|
VALUE digits = tok(lexer, ts, num_suffix_s);
|
17820
17821
|
|
@@ -17831,156 +17832,156 @@ _eof_trans:
|
|
17831
17832
|
case 259:
|
17832
17833
|
#line 1 "NONE"
|
17833
17834
|
{te = p+1;}
|
17834
|
-
#line
|
17835
|
+
#line 1006 "ext/lexer/lexer.rl"
|
17835
17836
|
{ lexer->newline_s = p; }
|
17836
|
-
#line
|
17837
|
+
#line 1803 "ext/lexer/lexer.rl"
|
17837
17838
|
{act = 74;}
|
17838
17839
|
break;
|
17839
17840
|
case 79:
|
17840
17841
|
#line 1 "NONE"
|
17841
17842
|
{te = p+1;}
|
17842
|
-
#line
|
17843
|
+
#line 1006 "ext/lexer/lexer.rl"
|
17843
17844
|
{ lexer->newline_s = p; }
|
17844
|
-
#line
|
17845
|
+
#line 2367 "ext/lexer/lexer.rl"
|
17845
17846
|
{act = 154;}
|
17846
17847
|
break;
|
17847
17848
|
case 35:
|
17848
17849
|
#line 1 "NONE"
|
17849
17850
|
{te = p+1;}
|
17850
|
-
#line
|
17851
|
+
#line 1276 "ext/lexer/lexer.rl"
|
17851
17852
|
{
|
17852
17853
|
if (lexer->herebody_s) {
|
17853
17854
|
p = lexer->herebody_s;
|
17854
17855
|
lexer->herebody_s = 0;
|
17855
17856
|
}
|
17856
17857
|
}
|
17857
|
-
#line
|
17858
|
+
#line 1798 "ext/lexer/lexer.rl"
|
17858
17859
|
{act = 73;}
|
17859
17860
|
break;
|
17860
17861
|
case 46:
|
17861
17862
|
#line 1 "NONE"
|
17862
17863
|
{te = p+1;}
|
17863
|
-
#line
|
17864
|
+
#line 1276 "ext/lexer/lexer.rl"
|
17864
17865
|
{
|
17865
17866
|
if (lexer->herebody_s) {
|
17866
17867
|
p = lexer->herebody_s;
|
17867
17868
|
lexer->herebody_s = 0;
|
17868
17869
|
}
|
17869
17870
|
}
|
17870
|
-
#line
|
17871
|
+
#line 1838 "ext/lexer/lexer.rl"
|
17871
17872
|
{act = 81;}
|
17872
17873
|
break;
|
17873
17874
|
case 419:
|
17874
17875
|
#line 1 "NONE"
|
17875
17876
|
{te = p+1;}
|
17876
|
-
#line
|
17877
|
+
#line 1276 "ext/lexer/lexer.rl"
|
17877
17878
|
{
|
17878
17879
|
if (lexer->herebody_s) {
|
17879
17880
|
p = lexer->herebody_s;
|
17880
17881
|
lexer->herebody_s = 0;
|
17881
17882
|
}
|
17882
17883
|
}
|
17883
|
-
#line
|
17884
|
+
#line 2367 "ext/lexer/lexer.rl"
|
17884
17885
|
{act = 154;}
|
17885
17886
|
break;
|
17886
17887
|
case 65:
|
17887
17888
|
#line 1 "NONE"
|
17888
17889
|
{te = p+1;}
|
17889
|
-
#line
|
17890
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17890
17891
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17891
|
-
#line
|
17892
|
+
#line 1883 "ext/lexer/lexer.rl"
|
17892
17893
|
{act = 94;}
|
17893
17894
|
break;
|
17894
17895
|
case 83:
|
17895
17896
|
#line 1 "NONE"
|
17896
17897
|
{te = p+1;}
|
17897
|
-
#line
|
17898
|
+
#line 1542 "ext/lexer/lexer.rl"
|
17898
17899
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
17899
|
-
#line
|
17900
|
+
#line 2212 "ext/lexer/lexer.rl"
|
17900
17901
|
{act = 138;}
|
17901
17902
|
break;
|
17902
17903
|
case 37:
|
17903
17904
|
#line 1 "NONE"
|
17904
17905
|
{te = p+1;}
|
17905
|
-
#line
|
17906
|
+
#line 1774 "ext/lexer/lexer.rl"
|
17906
17907
|
{ tm = p; }
|
17907
|
-
#line
|
17908
|
+
#line 1774 "ext/lexer/lexer.rl"
|
17908
17909
|
{act = 68;}
|
17909
17910
|
break;
|
17910
17911
|
case 363:
|
17911
17912
|
#line 1 "NONE"
|
17912
17913
|
{te = p+1;}
|
17913
|
-
#line
|
17914
|
+
#line 2074 "ext/lexer/lexer.rl"
|
17914
17915
|
{ tm = p; }
|
17915
|
-
#line
|
17916
|
+
#line 2108 "ext/lexer/lexer.rl"
|
17916
17917
|
{act = 117;}
|
17917
17918
|
break;
|
17918
17919
|
case 362:
|
17919
17920
|
#line 1 "NONE"
|
17920
17921
|
{te = p+1;}
|
17921
|
-
#line
|
17922
|
+
#line 2074 "ext/lexer/lexer.rl"
|
17922
17923
|
{ tm = p; }
|
17923
|
-
#line
|
17924
|
+
#line 1597 "ext/lexer/lexer.rl"
|
17924
17925
|
{act = 118;}
|
17925
17926
|
break;
|
17926
17927
|
case 460:
|
17927
17928
|
#line 1 "NONE"
|
17928
17929
|
{te = p+1;}
|
17929
|
-
#line
|
17930
|
+
#line 2260 "ext/lexer/lexer.rl"
|
17930
17931
|
{ num_base = 16; num_digits_s = p; }
|
17931
|
-
#line
|
17932
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17932
17933
|
{ num_suffix_s = p; }
|
17933
17934
|
break;
|
17934
17935
|
case 452:
|
17935
17936
|
#line 1 "NONE"
|
17936
17937
|
{te = p+1;}
|
17937
|
-
#line
|
17938
|
+
#line 2261 "ext/lexer/lexer.rl"
|
17938
17939
|
{ num_base = 10; num_digits_s = p; }
|
17939
|
-
#line
|
17940
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17940
17941
|
{ num_suffix_s = p; }
|
17941
17942
|
break;
|
17942
17943
|
case 456:
|
17943
17944
|
#line 1 "NONE"
|
17944
17945
|
{te = p+1;}
|
17945
|
-
#line
|
17946
|
+
#line 2262 "ext/lexer/lexer.rl"
|
17946
17947
|
{ num_base = 8; num_digits_s = p; }
|
17947
|
-
#line
|
17948
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17948
17949
|
{ num_suffix_s = p; }
|
17949
17950
|
break;
|
17950
17951
|
case 448:
|
17951
17952
|
#line 1 "NONE"
|
17952
17953
|
{te = p+1;}
|
17953
|
-
#line 2260 "ext/lexer/lexer.rl"
|
17954
|
-
{ num_base = 2; num_digits_s = p; }
|
17955
17954
|
#line 2263 "ext/lexer/lexer.rl"
|
17955
|
+
{ num_base = 2; num_digits_s = p; }
|
17956
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17956
17957
|
{ num_suffix_s = p; }
|
17957
17958
|
break;
|
17958
17959
|
case 467:
|
17959
17960
|
#line 1 "NONE"
|
17960
17961
|
{te = p+1;}
|
17961
|
-
#line
|
17962
|
+
#line 2264 "ext/lexer/lexer.rl"
|
17962
17963
|
{ num_base = 10; num_digits_s = ts; }
|
17963
|
-
#line
|
17964
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17964
17965
|
{ num_suffix_s = p; }
|
17965
17966
|
break;
|
17966
17967
|
case 463:
|
17967
17968
|
#line 1 "NONE"
|
17968
17969
|
{te = p+1;}
|
17969
|
-
#line 2261 "ext/lexer/lexer.rl"
|
17970
|
-
{ num_base = 10; num_digits_s = ts; }
|
17971
17970
|
#line 2264 "ext/lexer/lexer.rl"
|
17971
|
+
{ num_base = 10; num_digits_s = ts; }
|
17972
|
+
#line 2267 "ext/lexer/lexer.rl"
|
17972
17973
|
{act = 145;}
|
17973
17974
|
break;
|
17974
17975
|
case 425:
|
17975
17976
|
#line 1 "NONE"
|
17976
17977
|
{te = p+1;}
|
17977
|
-
#line
|
17978
|
+
#line 2265 "ext/lexer/lexer.rl"
|
17978
17979
|
{ num_base = 8; num_digits_s = ts; }
|
17979
|
-
#line
|
17980
|
+
#line 2266 "ext/lexer/lexer.rl"
|
17980
17981
|
{ num_suffix_s = p; }
|
17981
17982
|
break;
|
17982
17983
|
case 119:
|
17983
|
-
#line
|
17984
|
+
#line 1155 "ext/lexer/lexer.rl"
|
17984
17985
|
{
|
17985
17986
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
17986
17987
|
lexer->escape = unescape_char(c);
|
@@ -17991,19 +17992,19 @@ _eof_trans:
|
|
17991
17992
|
force_encoding(codepoint, lexer->encoding);
|
17992
17993
|
}
|
17993
17994
|
}
|
17994
|
-
#line
|
17995
|
+
#line 1171 "ext/lexer/lexer.rl"
|
17995
17996
|
{
|
17996
17997
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
17997
17998
|
lexer->escape = rb_str_new(&c, 1);
|
17998
17999
|
force_encoding(lexer->escape, lexer->encoding);
|
17999
18000
|
}
|
18000
|
-
#line
|
18001
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18001
18002
|
{
|
18002
18003
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18003
18004
|
lexer->escape = rb_str_new(&c, 1);
|
18004
18005
|
force_encoding(lexer->escape, lexer->encoding);
|
18005
18006
|
}
|
18006
|
-
#line
|
18007
|
+
#line 1310 "ext/lexer/lexer.rl"
|
18007
18008
|
{te = p;p--;{
|
18008
18009
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
18009
18010
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -18034,7 +18035,7 @@ _eof_trans:
|
|
18034
18035
|
}}
|
18035
18036
|
break;
|
18036
18037
|
case 146:
|
18037
|
-
#line
|
18038
|
+
#line 1155 "ext/lexer/lexer.rl"
|
18038
18039
|
{
|
18039
18040
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
18040
18041
|
lexer->escape = unescape_char(c);
|
@@ -18045,19 +18046,19 @@ _eof_trans:
|
|
18045
18046
|
force_encoding(codepoint, lexer->encoding);
|
18046
18047
|
}
|
18047
18048
|
}
|
18048
|
-
#line
|
18049
|
+
#line 1171 "ext/lexer/lexer.rl"
|
18049
18050
|
{
|
18050
18051
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
18051
18052
|
lexer->escape = rb_str_new(&c, 1);
|
18052
18053
|
force_encoding(lexer->escape, lexer->encoding);
|
18053
18054
|
}
|
18054
|
-
#line
|
18055
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18055
18056
|
{
|
18056
18057
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18057
18058
|
lexer->escape = rb_str_new(&c, 1);
|
18058
18059
|
force_encoding(lexer->escape, lexer->encoding);
|
18059
18060
|
}
|
18060
|
-
#line
|
18061
|
+
#line 1310 "ext/lexer/lexer.rl"
|
18061
18062
|
{te = p;p--;{
|
18062
18063
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
18063
18064
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -18088,7 +18089,7 @@ _eof_trans:
|
|
18088
18089
|
}}
|
18089
18090
|
break;
|
18090
18091
|
case 347:
|
18091
|
-
#line
|
18092
|
+
#line 1155 "ext/lexer/lexer.rl"
|
18092
18093
|
{
|
18093
18094
|
char c = NUM2INT(rb_ary_entry(lexer->source_pts, p - 1));
|
18094
18095
|
lexer->escape = unescape_char(c);
|
@@ -18099,19 +18100,19 @@ _eof_trans:
|
|
18099
18100
|
force_encoding(codepoint, lexer->encoding);
|
18100
18101
|
}
|
18101
18102
|
}
|
18102
|
-
#line
|
18103
|
+
#line 1171 "ext/lexer/lexer.rl"
|
18103
18104
|
{
|
18104
18105
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
18105
18106
|
lexer->escape = rb_str_new(&c, 1);
|
18106
18107
|
force_encoding(lexer->escape, lexer->encoding);
|
18107
18108
|
}
|
18108
|
-
#line
|
18109
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18109
18110
|
{
|
18110
18111
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18111
18112
|
lexer->escape = rb_str_new(&c, 1);
|
18112
18113
|
force_encoding(lexer->escape, lexer->encoding);
|
18113
18114
|
}
|
18114
|
-
#line
|
18115
|
+
#line 2018 "ext/lexer/lexer.rl"
|
18115
18116
|
{te = p;p--;{
|
18116
18117
|
VALUE value = lexer->escape;
|
18117
18118
|
if (value == Qnil)
|
@@ -18126,21 +18127,21 @@ _eof_trans:
|
|
18126
18127
|
}}
|
18127
18128
|
break;
|
18128
18129
|
case 117:
|
18129
|
-
#line
|
18130
|
+
#line 1191 "ext/lexer/lexer.rl"
|
18130
18131
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
18131
|
-
#line
|
18132
|
+
#line 1171 "ext/lexer/lexer.rl"
|
18132
18133
|
{
|
18133
18134
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
18134
18135
|
lexer->escape = rb_str_new(&c, 1);
|
18135
18136
|
force_encoding(lexer->escape, lexer->encoding);
|
18136
18137
|
}
|
18137
|
-
#line
|
18138
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18138
18139
|
{
|
18139
18140
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18140
18141
|
lexer->escape = rb_str_new(&c, 1);
|
18141
18142
|
force_encoding(lexer->escape, lexer->encoding);
|
18142
18143
|
}
|
18143
|
-
#line
|
18144
|
+
#line 1310 "ext/lexer/lexer.rl"
|
18144
18145
|
{te = p;p--;{
|
18145
18146
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
18146
18147
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -18171,21 +18172,21 @@ _eof_trans:
|
|
18171
18172
|
}}
|
18172
18173
|
break;
|
18173
18174
|
case 144:
|
18174
|
-
#line
|
18175
|
+
#line 1191 "ext/lexer/lexer.rl"
|
18175
18176
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
18176
|
-
#line
|
18177
|
+
#line 1171 "ext/lexer/lexer.rl"
|
18177
18178
|
{
|
18178
18179
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
18179
18180
|
lexer->escape = rb_str_new(&c, 1);
|
18180
18181
|
force_encoding(lexer->escape, lexer->encoding);
|
18181
18182
|
}
|
18182
|
-
#line
|
18183
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18183
18184
|
{
|
18184
18185
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18185
18186
|
lexer->escape = rb_str_new(&c, 1);
|
18186
18187
|
force_encoding(lexer->escape, lexer->encoding);
|
18187
18188
|
}
|
18188
|
-
#line
|
18189
|
+
#line 1310 "ext/lexer/lexer.rl"
|
18189
18190
|
{te = p;p--;{
|
18190
18191
|
literal *current_literal = lit_stack_top(&lexer->literal_stack);
|
18191
18192
|
VALUE escaped_char = rb_str_substr(lexer->source, lexer->escape_s, 1);
|
@@ -18216,21 +18217,21 @@ _eof_trans:
|
|
18216
18217
|
}}
|
18217
18218
|
break;
|
18218
18219
|
case 345:
|
18219
|
-
#line
|
18220
|
+
#line 1191 "ext/lexer/lexer.rl"
|
18220
18221
|
{ lexer->escape = rb_str_substr(lexer->source, p - 1, 1); }
|
18221
|
-
#line
|
18222
|
+
#line 1171 "ext/lexer/lexer.rl"
|
18222
18223
|
{
|
18223
18224
|
char c = *RSTRING_PTR(lexer->escape) & 0x9f;
|
18224
18225
|
lexer->escape = rb_str_new(&c, 1);
|
18225
18226
|
force_encoding(lexer->escape, lexer->encoding);
|
18226
18227
|
}
|
18227
|
-
#line
|
18228
|
+
#line 1177 "ext/lexer/lexer.rl"
|
18228
18229
|
{
|
18229
18230
|
char c = *RSTRING_PTR(lexer->escape) | 0x80;
|
18230
18231
|
lexer->escape = rb_str_new(&c, 1);
|
18231
18232
|
force_encoding(lexer->escape, lexer->encoding);
|
18232
18233
|
}
|
18233
|
-
#line
|
18234
|
+
#line 2018 "ext/lexer/lexer.rl"
|
18234
18235
|
{te = p;p--;{
|
18235
18236
|
VALUE value = lexer->escape;
|
18236
18237
|
if (value == Qnil)
|
@@ -18245,13 +18246,13 @@ _eof_trans:
|
|
18245
18246
|
}}
|
18246
18247
|
break;
|
18247
18248
|
case 457:
|
18248
|
-
#line
|
18249
|
+
#line 2260 "ext/lexer/lexer.rl"
|
18249
18250
|
{ num_base = 16; num_digits_s = p; }
|
18250
|
-
#line
|
18251
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18251
18252
|
{ num_suffix_s = p; }
|
18252
|
-
#line
|
18253
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18253
18254
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18254
|
-
#line
|
18255
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18255
18256
|
{te = p;p--;{
|
18256
18257
|
int invalid_idx;
|
18257
18258
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18284,13 +18285,13 @@ _eof_trans:
|
|
18284
18285
|
}}
|
18285
18286
|
break;
|
18286
18287
|
case 449:
|
18287
|
-
#line
|
18288
|
+
#line 2261 "ext/lexer/lexer.rl"
|
18288
18289
|
{ num_base = 10; num_digits_s = p; }
|
18289
|
-
#line
|
18290
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18290
18291
|
{ num_suffix_s = p; }
|
18291
|
-
#line
|
18292
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18292
18293
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18293
|
-
#line
|
18294
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18294
18295
|
{te = p;p--;{
|
18295
18296
|
int invalid_idx;
|
18296
18297
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18323,13 +18324,13 @@ _eof_trans:
|
|
18323
18324
|
}}
|
18324
18325
|
break;
|
18325
18326
|
case 453:
|
18326
|
-
#line
|
18327
|
+
#line 2262 "ext/lexer/lexer.rl"
|
18327
18328
|
{ num_base = 8; num_digits_s = p; }
|
18328
|
-
#line
|
18329
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18329
18330
|
{ num_suffix_s = p; }
|
18330
|
-
#line
|
18331
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18331
18332
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18332
|
-
#line
|
18333
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18333
18334
|
{te = p;p--;{
|
18334
18335
|
int invalid_idx;
|
18335
18336
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18362,13 +18363,13 @@ _eof_trans:
|
|
18362
18363
|
}}
|
18363
18364
|
break;
|
18364
18365
|
case 445:
|
18365
|
-
#line 2260 "ext/lexer/lexer.rl"
|
18366
|
-
{ num_base = 2; num_digits_s = p; }
|
18367
18366
|
#line 2263 "ext/lexer/lexer.rl"
|
18367
|
+
{ num_base = 2; num_digits_s = p; }
|
18368
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18368
18369
|
{ num_suffix_s = p; }
|
18369
|
-
#line
|
18370
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18370
18371
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18371
|
-
#line
|
18372
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18372
18373
|
{te = p;p--;{
|
18373
18374
|
int invalid_idx;
|
18374
18375
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18401,13 +18402,13 @@ _eof_trans:
|
|
18401
18402
|
}}
|
18402
18403
|
break;
|
18403
18404
|
case 461:
|
18404
|
-
#line
|
18405
|
+
#line 2264 "ext/lexer/lexer.rl"
|
18405
18406
|
{ num_base = 10; num_digits_s = ts; }
|
18406
|
-
#line
|
18407
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18407
18408
|
{ num_suffix_s = p; }
|
18408
|
-
#line
|
18409
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18409
18410
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18410
|
-
#line
|
18411
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18411
18412
|
{te = p;p--;{
|
18412
18413
|
int invalid_idx;
|
18413
18414
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18440,13 +18441,13 @@ _eof_trans:
|
|
18440
18441
|
}}
|
18441
18442
|
break;
|
18442
18443
|
case 420:
|
18443
|
-
#line
|
18444
|
+
#line 2265 "ext/lexer/lexer.rl"
|
18444
18445
|
{ num_base = 8; num_digits_s = ts; }
|
18445
|
-
#line
|
18446
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18446
18447
|
{ num_suffix_s = p; }
|
18447
|
-
#line
|
18448
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18448
18449
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18449
|
-
#line
|
18450
|
+
#line 2267 "ext/lexer/lexer.rl"
|
18450
18451
|
{te = p;p--;{
|
18451
18452
|
int invalid_idx;
|
18452
18453
|
VALUE digits = tok(lexer, num_digits_s, num_suffix_s);
|
@@ -18481,63 +18482,63 @@ _eof_trans:
|
|
18481
18482
|
case 31:
|
18482
18483
|
#line 1 "NONE"
|
18483
18484
|
{te = p+1;}
|
18484
|
-
#line
|
18485
|
+
#line 1276 "ext/lexer/lexer.rl"
|
18485
18486
|
{
|
18486
18487
|
if (lexer->herebody_s) {
|
18487
18488
|
p = lexer->herebody_s;
|
18488
18489
|
lexer->herebody_s = 0;
|
18489
18490
|
}
|
18490
18491
|
}
|
18491
|
-
#line
|
18492
|
+
#line 1774 "ext/lexer/lexer.rl"
|
18492
18493
|
{ tm = p; }
|
18493
|
-
#line
|
18494
|
+
#line 1774 "ext/lexer/lexer.rl"
|
18494
18495
|
{act = 68;}
|
18495
18496
|
break;
|
18496
18497
|
case 62:
|
18497
18498
|
#line 1 "NONE"
|
18498
18499
|
{te = p+1;}
|
18499
|
-
#line
|
18500
|
+
#line 1541 "ext/lexer/lexer.rl"
|
18500
18501
|
{ sharp_s = p - 1; }
|
18501
|
-
#line
|
18502
|
+
#line 1542 "ext/lexer/lexer.rl"
|
18502
18503
|
{ emit_comment(lexer, sharp_s, p == pe ? p - 2 : p); }
|
18503
|
-
#line
|
18504
|
+
#line 1883 "ext/lexer/lexer.rl"
|
18504
18505
|
{act = 94;}
|
18505
18506
|
break;
|
18506
18507
|
case 469:
|
18507
18508
|
#line 1 "NONE"
|
18508
18509
|
{te = p+1;}
|
18509
|
-
#line
|
18510
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18510
18511
|
{ num_suffix_s = p; }
|
18511
|
-
#line
|
18512
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18512
18513
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18513
|
-
#line
|
18514
|
+
#line 2305 "ext/lexer/lexer.rl"
|
18514
18515
|
{act = 147;}
|
18515
18516
|
break;
|
18516
18517
|
case 464:
|
18517
18518
|
#line 1 "NONE"
|
18518
18519
|
{te = p+1;}
|
18519
|
-
#line
|
18520
|
+
#line 2264 "ext/lexer/lexer.rl"
|
18520
18521
|
{ num_base = 10; num_digits_s = ts; }
|
18521
|
-
#line
|
18522
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18522
18523
|
{ num_suffix_s = p; }
|
18523
|
-
#line
|
18524
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18524
18525
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18525
|
-
#line
|
18526
|
+
#line 2305 "ext/lexer/lexer.rl"
|
18526
18527
|
{act = 147;}
|
18527
18528
|
break;
|
18528
18529
|
case 423:
|
18529
18530
|
#line 1 "NONE"
|
18530
18531
|
{te = p+1;}
|
18531
|
-
#line
|
18532
|
+
#line 2265 "ext/lexer/lexer.rl"
|
18532
18533
|
{ num_base = 8; num_digits_s = ts; }
|
18533
|
-
#line
|
18534
|
+
#line 2266 "ext/lexer/lexer.rl"
|
18534
18535
|
{ num_suffix_s = p; }
|
18535
|
-
#line
|
18536
|
+
#line 1080 "ext/lexer/lexer.rl"
|
18536
18537
|
{ num_xfrm = emit_int; numeric_s = ts; }
|
18537
|
-
#line
|
18538
|
+
#line 2305 "ext/lexer/lexer.rl"
|
18538
18539
|
{act = 147;}
|
18539
18540
|
break;
|
18540
|
-
#line
|
18541
|
+
#line 18542 "ext/lexer/lexer.c"
|
18541
18542
|
}
|
18542
18543
|
|
18543
18544
|
_again:
|
@@ -18546,7 +18547,7 @@ _again:
|
|
18546
18547
|
#line 1 "NONE"
|
18547
18548
|
{ts = 0;}
|
18548
18549
|
break;
|
18549
|
-
#line
|
18550
|
+
#line 18551 "ext/lexer/lexer.c"
|
18550
18551
|
}
|
18551
18552
|
|
18552
18553
|
if ( cs == 0 )
|
@@ -18565,7 +18566,7 @@ _again:
|
|
18565
18566
|
_out: {}
|
18566
18567
|
}
|
18567
18568
|
|
18568
|
-
#line
|
18569
|
+
#line 352 "ext/lexer/lexer.rl"
|
18569
18570
|
|
18570
18571
|
|
18571
18572
|
lexer->p = p;
|
@@ -19173,6 +19174,8 @@ void Init_lexer()
|
|
19173
19174
|
rb_define_method(c_Lexer, "source_buffer=", lexer_set_source_buffer, 1);
|
19174
19175
|
rb_define_method(c_Lexer, "force_utf32=", lexer_set_force_utf32, 1);
|
19175
19176
|
|
19177
|
+
rb_define_attr(c_Lexer, "context", 1, 1);
|
19178
|
+
|
19176
19179
|
VALUE m_Source = rb_const_get(m_Parser, rb_intern("Source"));
|
19177
19180
|
comment_klass = rb_const_get(m_Source, rb_intern("Comment"));
|
19178
19181
|
diagnostic_klass = rb_const_get(m_Parser, rb_intern("Diagnostic"));
|
@@ -19204,5 +19207,5 @@ void Init_lexer()
|
|
19204
19207
|
}
|
19205
19208
|
|
19206
19209
|
|
19207
|
-
#line
|
19210
|
+
#line 2530 "ext/lexer/lexer.rl"
|
19208
19211
|
|