c_lexer 2.6.2.0.1 → 2.6.2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|