parser 0.9.1 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
data/lib/parser/ruby18.y CHANGED
@@ -69,7 +69,7 @@ rule
69
69
  result = @builder.compstmt(val[0])
70
70
  }
71
71
 
72
- stmts: none
72
+ stmts: # nothing
73
73
  {
74
74
  result = []
75
75
  }
@@ -140,19 +140,13 @@ rule
140
140
 
141
141
  result = @builder.begin_body(val[0], [ rescue_body ])
142
142
  }
143
- | klBEGIN
143
+ | klBEGIN tLCURLY compstmt tRCURLY
144
144
  {
145
145
  if in_def?
146
146
  diagnostic(:error, :begin_in_method, val[0])
147
147
  end
148
148
 
149
- @static_env.extend_static
150
- }
151
- tLCURLY compstmt tRCURLY
152
- {
153
- @static_env.unextend
154
-
155
- result = @builder.preexe(val[0], val[2], val[3], val[4])
149
+ result = @builder.preexe(val[0], val[1], val[2], val[3])
156
150
  }
157
151
  | klEND tLCURLY compstmt tRCURLY
158
152
  {
@@ -797,7 +791,7 @@ rule
797
791
  result = [ val[0], val[1] << val[3], val[5] ]
798
792
  }
799
793
 
800
- opt_paren_args: none
794
+ opt_paren_args: # nothing
801
795
  {
802
796
  result = [ nil, [], nil ]
803
797
  }
@@ -1015,9 +1009,6 @@ rule
1015
1009
  }
1016
1010
  opt_nl tRPAREN
1017
1011
  {
1018
- # TODO better location info here
1019
- diagnostic :warning, :grouped_expression, val[0]
1020
-
1021
1012
  result = @builder.parenthesize(val[0], val[1], val[3])
1022
1013
  }
1023
1014
  | tLPAREN compstmt tRPAREN
@@ -1346,7 +1337,7 @@ rule
1346
1337
  }
1347
1338
  ;
1348
1339
 
1349
- opt_block_var: none
1340
+ opt_block_var: # nothing
1350
1341
  {
1351
1342
  result = @builder.args(nil, [], nil)
1352
1343
  }
@@ -1483,7 +1474,7 @@ rule
1483
1474
  val[3], val[4]),
1484
1475
  *val[5] ]
1485
1476
  }
1486
- |
1477
+ | # nothing
1487
1478
  {
1488
1479
  result = []
1489
1480
  }
@@ -1545,11 +1536,7 @@ rule
1545
1536
  result = @builder.regexp_compose(val[0], val[1], val[2], opts)
1546
1537
  }
1547
1538
 
1548
- words: tWORDS_BEG tSPACE tSTRING_END
1549
- { # :nocov: TODO: unused with Ragel lexer; remove?
1550
- result = @builder.words_compose(val[0], [], val[2])
1551
- }
1552
- | tWORDS_BEG word_list tSTRING_END
1539
+ words: tWORDS_BEG word_list tSTRING_END
1553
1540
  {
1554
1541
  result = @builder.words_compose(val[0], val[1], val[2])
1555
1542
  }
@@ -1560,20 +1547,19 @@ rule
1560
1547
  }
1561
1548
  | word_list word tSPACE
1562
1549
  {
1563
- result = val[0] << val[1]
1550
+ result = val[0] << @builder.word(val[1])
1564
1551
  }
1565
1552
 
1566
1553
  word: string_content
1554
+ {
1555
+ result = [ val[0] ]
1556
+ }
1567
1557
  | word string_content
1568
- { # :nocov: TODO: test this rule, remove if unused
1569
- raise "unused 'word string_content'"
1558
+ {
1559
+ result = val[0] << val[1]
1570
1560
  }
1571
1561
 
1572
- qwords: tQWORDS_BEG tSPACE tSTRING_END
1573
- { # :nocov: TODO: unused with Ragel lexer; remove?
1574
- result = @builder.words_compose(val[0], [], val[2])
1575
- }
1576
- | tQWORDS_BEG qword_list tSTRING_END
1562
+ qwords: tQWORDS_BEG qword_list tSTRING_END
1577
1563
  {
1578
1564
  result = @builder.words_compose(val[0], val[1], val[2])
1579
1565
  }
@@ -1596,7 +1582,7 @@ rule
1596
1582
  result = val[0] << val[1]
1597
1583
  }
1598
1584
 
1599
- xstring_contents: # nothing # TODO: replace with string_contents?
1585
+ xstring_contents: # nothing
1600
1586
  {
1601
1587
  result = []
1602
1588
  }
@@ -1895,7 +1881,7 @@ xstring_contents: # nothing # TODO: replace with string_contents?
1895
1881
  result = val[1]
1896
1882
  }
1897
1883
 
1898
- assoc_list: none
1884
+ assoc_list: # nothing
1899
1885
  {
1900
1886
  result = []
1901
1887
  }