rubinius-melbourne 2.0.1.0 → 2.1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +2 -9
  4. data/Gemfile +0 -4
  5. data/Rakefile +26 -19
  6. data/ext/rubinius/melbourne/extconf.rb +4 -3
  7. data/ext/rubinius/melbourne/grammar.cpp +2 -2
  8. data/ext/rubinius/melbourne/grammar.y +2 -2
  9. data/ext/rubinius/melbourne/melbourne.cpp +4 -5
  10. data/lib/rubinius/melbourne/version.rb +2 -2
  11. data/lib/rubinius/melbourne.rb +1 -21
  12. data/rubinius-melbourne.gemspec +6 -3
  13. data/spec/alias_spec.rb +13 -18
  14. data/spec/and_spec.rb +6 -12
  15. data/spec/array_spec.rb +28 -54
  16. data/spec/attrasgn_spec.rb +60 -85
  17. data/spec/back_ref_spec.rb +6 -8
  18. data/spec/call_spec.rb +137 -225
  19. data/spec/case_spec.rb +94 -112
  20. data/spec/cdecl_spec.rb +16 -28
  21. data/spec/class_spec.rb +28 -40
  22. data/spec/colon2_spec.rb +2 -4
  23. data/spec/colon3_spec.rb +2 -4
  24. data/spec/const_spec.rb +2 -4
  25. data/spec/custom/runner/relates.rb +4 -0
  26. data/spec/cvar_spec.rb +6 -12
  27. data/spec/cvasgn_spec.rb +20 -15
  28. data/spec/defined_spec.rb +57 -55
  29. data/spec/defn_spec.rb +218 -280
  30. data/spec/defs_spec.rb +30 -38
  31. data/spec/dot2_spec.rb +2 -4
  32. data/spec/dot3_spec.rb +2 -4
  33. data/spec/dregx_spec.rb +20 -34
  34. data/spec/dstr_spec.rb +87 -111
  35. data/spec/dsym_spec.rb +5 -7
  36. data/spec/dxstr_spec.rb +2 -4
  37. data/spec/ensure_spec.rb +32 -40
  38. data/spec/false_spec.rb +2 -4
  39. data/spec/flip2_spec.rb +22 -26
  40. data/spec/flip3_spec.rb +15 -17
  41. data/spec/for_spec.rb +25 -23
  42. data/spec/gasgn_spec.rb +4 -8
  43. data/spec/gvar_spec.rb +8 -16
  44. data/spec/hash_spec.rb +14 -18
  45. data/spec/iasgn_spec.rb +8 -14
  46. data/spec/if_spec.rb +50 -80
  47. data/spec/iter_spec.rb +328 -402
  48. data/spec/lasgn_spec.rb +143 -200
  49. data/spec/lit_spec.rb +20 -40
  50. data/spec/masgn_spec.rb +278 -309
  51. data/spec/match2_spec.rb +6 -10
  52. data/spec/match3_spec.rb +9 -13
  53. data/spec/match_spec.rb +2 -4
  54. data/spec/module_spec.rb +12 -16
  55. data/spec/nil_spec.rb +2 -4
  56. data/spec/not_spec.rb +6 -8
  57. data/spec/nth_ref_spec.rb +2 -4
  58. data/spec/op_asgn_spec.rb +118 -158
  59. data/spec/or_spec.rb +18 -24
  60. data/spec/postexe_spec.rb +2 -4
  61. data/spec/regex_spec.rb +11 -19
  62. data/spec/rescue_spec.rb +135 -143
  63. data/spec/return_spec.rb +19 -36
  64. data/spec/sclass_spec.rb +26 -25
  65. data/spec/spec_helper.rb +9 -0
  66. data/spec/str_spec.rb +25 -43
  67. data/spec/super_spec.rb +31 -49
  68. data/spec/true_spec.rb +2 -4
  69. data/spec/undef_spec.rb +38 -53
  70. data/spec/until_spec.rb +13 -105
  71. data/spec/valias_spec.rb +2 -4
  72. data/spec/while_spec.rb +35 -117
  73. data/spec/xstr_spec.rb +2 -4
  74. data/spec/yield_spec.rb +22 -42
  75. data/spec/zsuper_spec.rb +8 -16
  76. metadata +64 -22
  77. data/spec/cvdecl_spec.rb +0 -12
data/spec/match2_spec.rb CHANGED
@@ -1,19 +1,15 @@
1
1
  describe "A Match2 node" do
2
- relates '/x/ =~ "blah"' do
3
- parse do
4
- [:match2, [:regex, "x", 0], [:str, "blah"]]
5
- end
2
+ parse '/x/ =~ "blah"' do
3
+ [:match2, [:regex, "x", 0], [:str, "blah"]]
6
4
  end
7
5
 
8
- relates <<-ruby do
6
+ parse <<-ruby do
9
7
  x = "x"
10
8
  /\#{x}/ =~ x
11
9
  ruby
12
10
 
13
- parse do
14
- [:block,
15
- [:lasgn, :x, [:str, "x"]],
16
- [:match2, [:dregx, "", [:evstr, [:lvar, :x]]], [:lvar, :x]]]
17
- end
11
+ [:block,
12
+ [:lasgn, :x, [:str, "x"]],
13
+ [:match2, [:dregx, "", [:evstr, [:lvar, :x]]], [:lvar, :x]]]
18
14
  end
19
15
  end
data/spec/match3_spec.rb CHANGED
@@ -1,24 +1,20 @@
1
1
  describe "A Match3 node" do
2
- relates '"blah" =~ /x/' do
3
- parse do
4
- [:match3, [:regex, "x", 0], [:str, "blah"]]
5
- end
2
+ parse '"blah" =~ /x/' do
3
+ [:match3, [:regex, "x", 0], [:str, "blah"]]
6
4
  end
7
5
 
8
- relates <<-ruby do
6
+ parse <<-ruby do
9
7
  a = 'abc'
10
8
  if a =~ /\#{a}/
11
9
  1
12
10
  end
13
11
  ruby
14
12
 
15
- parse do
16
- [:block,
17
- [:lasgn, :a, [:str, "abc"]],
18
- [:if,
19
- [:match3, [:dregx, "", [:evstr, [:lvar, :a]]], [:lvar, :a]],
20
- [:lit, 1],
21
- nil]]
22
- end
13
+ [:block,
14
+ [:lasgn, :a, [:str, "abc"]],
15
+ [:if,
16
+ [:match3, [:dregx, "", [:evstr, [:lvar, :a]]], [:lvar, :a]],
17
+ [:lit, 1],
18
+ nil]]
23
19
  end
24
20
  end
data/spec/match_spec.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  describe "A Match node" do
2
- relates "1 if /x/" do
3
- parse do
4
- [:if, [:match, [:regex, "x", 0]], [:lit, 1], nil]
5
- end
2
+ parse "1 if /x/" do
3
+ [:if, [:match, [:regex, "x", 0]], [:lit, 1], nil]
6
4
  end
7
5
  end
data/spec/module_spec.rb CHANGED
@@ -1,47 +1,43 @@
1
1
  describe "A Module node" do
2
- relates <<-ruby do
2
+ parse <<-ruby do
3
3
  module X
4
4
  def y
5
5
  end
6
6
  end
7
7
  ruby
8
8
 
9
- parse do
10
- [:module, :X, [:scope, [:defn, :y, [:args], [:scope, [:block, [:nil]]]]]]
11
- end
9
+ [:module,
10
+ :X,
11
+ [:scope, [:block, [:defn, :y, [:args], [:scope, [:block, [:nil]]]]]]]
12
12
  end
13
13
 
14
- relates <<-ruby do
14
+ parse <<-ruby do
15
15
  module ::Y
16
16
  c
17
17
  end
18
18
  ruby
19
19
 
20
- parse do
21
- [:module, [:colon3, :Y], [:scope, [:call, nil, :c, [:arglist]]]]
22
- end
20
+ [:module, [:colon3, :Y], [:scope, [:block, [:call, nil, :c, [:arglist]]]]]
23
21
  end
24
22
 
25
- relates <<-ruby do
23
+ parse <<-ruby do
26
24
  module X::Y
27
25
  c
28
26
  end
29
27
  ruby
30
28
 
31
- parse do
32
- [:module, [:colon2, [:const, :X], :Y], [:scope, [:call, nil, :c, [:arglist]]]]
33
- end
29
+ [:module,
30
+ [:colon2, [:const, :X], :Y],
31
+ [:scope, [:block, [:call, nil, :c, [:arglist]]]]]
34
32
  end
35
33
 
36
- relates <<-ruby do
34
+ parse <<-ruby do
37
35
  "prevent the above from infecting rdoc"
38
36
 
39
37
  module Graffle
40
38
  end
41
39
  ruby
42
40
 
43
- parse do
44
- [:module, :Graffle, [:scope]]
45
- end
41
+ [:module, :Graffle, [:scope]]
46
42
  end
47
43
  end
data/spec/nil_spec.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  describe "A Nil node" do
2
- relates "nil" do
3
- parse do
4
- [:nil]
5
- end
2
+ parse "nil" do
3
+ [:nil]
6
4
  end
7
5
  end
data/spec/not_spec.rb CHANGED
@@ -1,17 +1,15 @@
1
1
  describe "A Not node" do
2
- relates "(not true)" do
3
- parse do
4
- [:not, [:true]]
5
- end
2
+ parse "(not true)" do
3
+ [:call, [:true], :!, [:arglist]]
6
4
  end
7
5
 
8
- relates <<-ruby do
6
+ parse <<-ruby do
9
7
  a = 1
10
8
  b = !a
11
9
  ruby
12
10
 
13
- parse do
14
- [:block, [:lasgn, :a, [:lit, 1]], [:lasgn, :b, [:not, [:lvar, :a]]]]
15
- end
11
+ [:block,
12
+ [:lasgn, :a, [:lit, 1]],
13
+ [:lasgn, :b, [:call, [:lvar, :a], :!, [:arglist]]]]
16
14
  end
17
15
  end
data/spec/nth_ref_spec.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  describe "An Nth_ref node" do
2
- relates "$1" do
3
- parse do
4
- [:nth_ref, 1]
5
- end
2
+ parse "$1" do
3
+ [:nth_ref, 1]
6
4
  end
7
5
  end
data/spec/op_asgn_spec.rb CHANGED
@@ -1,127 +1,103 @@
1
1
  describe "An Op_asgn1 node" do
2
- relates "a &&= 8" do
3
- parse do
4
- [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
5
- end
2
+ parse "a &&= 8" do
3
+ [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
6
4
  end
7
5
 
8
- relates "hsh[:blah] ||= 8" do
9
- parse do
10
- [:op_asgn1,
11
- [:call, nil, :hsh, [:arglist]],
12
- [:arglist, [:lit, :blah]],
13
- :"||",
14
- [:lit, 8]]
15
- end
6
+ parse "hsh[:blah] ||= 8" do
7
+ [:op_asgn1,
8
+ [:call, nil, :hsh, [:arglist]],
9
+ [:arglist, [:lit, :blah]],
10
+ :"||",
11
+ [:lit, 8]]
16
12
  end
17
13
 
18
- relates <<-ruby do
14
+ parse <<-ruby do
19
15
  x = 1
20
16
  hsh[x] ||= 8
21
17
  ruby
22
18
 
23
- parse do
24
- [:block,
25
- [:lasgn, :x, [:lit, 1]],
26
- [:op_asgn1,
27
- [:call, nil, :hsh, [:arglist]],
28
- [:arglist, [:lvar, :x]],
29
- :"||",
30
- [:lit, 8]]]
31
- end
19
+ [:block,
20
+ [:lasgn, :x, [:lit, 1]],
21
+ [:op_asgn1,
22
+ [:call, nil, :hsh, [:arglist]],
23
+ [:arglist, [:lvar, :x]],
24
+ :"||",
25
+ [:lit, 8]]]
32
26
  end
33
27
 
34
- relates "hsh[:blah] &&= 8" do
35
- parse do
36
- [:op_asgn1,
37
- [:call, nil, :hsh, [:arglist]],
38
- [:arglist, [:lit, :blah]],
39
- :"&&",
40
- [:lit, 8]]
41
- end
28
+ parse "hsh[:blah] &&= 8" do
29
+ [:op_asgn1,
30
+ [:call, nil, :hsh, [:arglist]],
31
+ [:arglist, [:lit, :blah]],
32
+ :"&&",
33
+ [:lit, 8]]
42
34
  end
43
35
 
44
- relates "hsh[:blah] ^= 8" do
45
- parse do
46
- [:op_asgn1,
47
- [:call, nil, :hsh, [:arglist]],
48
- [:arglist, [:lit, :blah]],
49
- :^,
50
- [:lit, 8]]
51
- end
36
+ parse "hsh[:blah] ^= 8" do
37
+ [:op_asgn1,
38
+ [:call, nil, :hsh, [:arglist]],
39
+ [:arglist, [:lit, :blah]],
40
+ :^,
41
+ [:lit, 8]]
52
42
  end
53
43
 
54
- relates "ary[0,1] += [4]" do
55
- parse do
56
- [:op_asgn1,
57
- [:call, nil, :ary, [:arglist]],
58
- [:arglist, [:lit, 0], [:lit, 1]],
59
- :+,
60
- [:array, [:lit, 4]]]
61
- end
44
+ parse "ary[0,1] += [4]" do
45
+ [:op_asgn1,
46
+ [:call, nil, :ary, [:arglist]],
47
+ [:arglist, [:lit, 0], [:lit, 1]],
48
+ :+,
49
+ [:array, [:lit, 4]]]
62
50
  end
63
51
 
64
- relates "x.val ||= 6" do
65
- parse do
66
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"||", [:lit, 6]]
67
- end
52
+ parse "x.val ||= 6" do
53
+ [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"||", [:lit, 6]]
68
54
  end
69
55
 
70
- relates "x.val &&= 7" do
71
- parse do
72
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"&&", [:lit, 7]]
73
- end
56
+ parse "x.val &&= 7" do
57
+ [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"&&", [:lit, 7]]
74
58
  end
75
59
 
76
- relates <<-ruby do
60
+ parse <<-ruby do
77
61
  @b = []
78
62
  @b[1] ||= 10
79
63
  @b[2] &&= 11
80
64
  @b[3] += 12
81
65
  ruby
82
66
 
83
- parse do
84
- [:block,
85
- [:iasgn, :@b, [:array]],
86
- [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 1]], :"||", [:lit, 10]],
87
- [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 2]], :"&&", [:lit, 11]],
88
- [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 3]], :+, [:lit, 12]]]
89
- end
67
+ [:block,
68
+ [:iasgn, :@b, [:array]],
69
+ [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 1]], :"||", [:lit, 10]],
70
+ [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 2]], :"&&", [:lit, 11]],
71
+ [:op_asgn1, [:ivar, :@b], [:arglist, [:lit, 3]], :+, [:lit, 12]]]
90
72
  end
91
73
 
92
- relates <<-ruby do
74
+ parse <<-ruby do
93
75
  b = []
94
76
  b[1] ||= 10
95
77
  b[2] &&= 11
96
78
  b[3] += 12
97
79
  ruby
98
80
 
99
- parse do
100
- [:block,
101
- [:lasgn, :b, [:array]],
102
- [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 1]], :"||", [:lit, 10]],
103
- [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 2]], :"&&", [:lit, 11]],
104
- [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 3]], :+, [:lit, 12]]]
105
- end
81
+ [:block,
82
+ [:lasgn, :b, [:array]],
83
+ [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 1]], :"||", [:lit, 10]],
84
+ [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 2]], :"&&", [:lit, 11]],
85
+ [:op_asgn1, [:lvar, :b], [:arglist, [:lit, 3]], :+, [:lit, 12]]]
106
86
  end
107
87
  end
108
88
 
109
89
  describe "An Op_asgn2 node" do
110
- relates "x.val ^= 8" do
111
- parse do
112
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :^, [:lit, 8]]
113
- end
90
+ parse "x.val ^= 8" do
91
+ [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :^, [:lit, 8]]
114
92
  end
115
93
 
116
- relates "self.Bag ||= Bag.new" do
117
- parse do
118
- [:op_asgn2,
119
- [:self],
120
- :"Bag=", :"||", [:call, [:const, :Bag], :new, [:arglist]]]
121
- end
94
+ parse "self.Bag ||= Bag.new" do
95
+ [:op_asgn2,
96
+ [:self],
97
+ :"Bag=", :"||", [:call, [:const, :Bag], :new, [:arglist]]]
122
98
  end
123
99
 
124
- relates <<-ruby do
100
+ parse <<-ruby do
125
101
  s = Struct.new(:var)
126
102
  c = s.new(nil)
127
103
  c.var ||= 20
@@ -130,67 +106,57 @@ describe "An Op_asgn2 node" do
130
106
  c.d.e.f ||= 42
131
107
  ruby
132
108
 
133
- parse do
134
- [:block,
135
- [:lasgn, :s, [:call, [:const, :Struct], :new, [:arglist, [:lit, :var]]]],
136
- [:lasgn, :c, [:call, [:lvar, :s], :new, [:arglist, [:nil]]]],
137
- [:op_asgn2, [:lvar, :c], :var=, :"||", [:lit, 20]],
138
- [:op_asgn2, [:lvar, :c], :var=, :"&&", [:lit, 21]],
139
- [:op_asgn2, [:lvar, :c], :var=, :+, [:lit, 22]],
140
- [:op_asgn2,
141
- [:call, [:call, [:lvar, :c], :d, [:arglist]], :e, [:arglist]],
142
- :f=,
143
- :"||",
144
- [:lit, 42]]]
145
- end
109
+ [:block,
110
+ [:lasgn, :s, [:call, [:const, :Struct], :new, [:arglist, [:lit, :var]]]],
111
+ [:lasgn, :c, [:call, [:lvar, :s], :new, [:arglist, [:nil]]]],
112
+ [:op_asgn2, [:lvar, :c], :var=, :"||", [:lit, 20]],
113
+ [:op_asgn2, [:lvar, :c], :var=, :"&&", [:lit, 21]],
114
+ [:op_asgn2, [:lvar, :c], :var=, :+, [:lit, 22]],
115
+ [:op_asgn2,
116
+ [:call, [:call, [:lvar, :c], :d, [:arglist]], :e, [:arglist]],
117
+ :f=,
118
+ :"||",
119
+ [:lit, 42]]]
146
120
  end
147
121
  end
148
122
 
149
123
  describe "An Op_asgn_and node" do
150
- relates "@fetcher &&= new(Gem.configuration[:http_proxy])" do
151
- parse do
152
- [:op_asgn_and,
153
- [:ivar, :@fetcher],
154
- [:iasgn,
155
- :@fetcher,
124
+ parse "@fetcher &&= new(Gem.configuration[:http_proxy])" do
125
+ [:op_asgn_and,
126
+ [:ivar, :@fetcher],
127
+ [:iasgn,
128
+ :@fetcher,
129
+ [:call,
130
+ nil,
131
+ :new,
132
+ [:arglist,
156
133
  [:call,
157
- nil,
158
- :new,
159
- [:arglist,
160
- [:call,
161
- [:call, [:const, :Gem], :configuration, [:arglist]],
162
- :[],
163
- [:arglist, [:lit, :http_proxy]]]]]]]
164
- end
134
+ [:call, [:const, :Gem], :configuration, [:arglist]],
135
+ :[],
136
+ [:arglist, [:lit, :http_proxy]]]]]]]
165
137
  end
166
138
 
167
- relates <<-ruby do
139
+ parse <<-ruby do
168
140
  a = 0
169
141
  a &&= 2
170
142
  ruby
171
143
 
172
- parse do
173
- [:block,
174
- [:lasgn, :a, [:lit, 0]],
175
- [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 2]]]]
176
- end
144
+ [:block,
145
+ [:lasgn, :a, [:lit, 0]],
146
+ [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 2]]]]
177
147
  end
178
148
  end
179
149
 
180
150
  describe "An Op_asgn_or node" do
181
- relates "@@var ||= 3" do
182
- parse do
183
- [:op_asgn_or, [:cvar, :@@var], [:cvdecl, :@@var, [:lit, 3]]]
184
- end
151
+ parse "@@var ||= 3" do
152
+ [:op_asgn_or, [:cvar, :@@var], [:cvasgn, :@@var, [:lit, 3]]]
185
153
  end
186
154
 
187
- relates "a ||= 8" do
188
- parse do
189
- [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
190
- end
155
+ parse "a ||= 8" do
156
+ [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
191
157
  end
192
158
 
193
- relates <<-ruby do
159
+ parse <<-ruby do
194
160
  a ||= begin
195
161
  b
196
162
  rescue
@@ -198,49 +164,43 @@ describe "An Op_asgn_or node" do
198
164
  end
199
165
  ruby
200
166
 
201
- parse do
202
- [:op_asgn_or,
203
- [:lvar, :a],
204
- [:lasgn,
205
- :a,
206
- [:rescue,
207
- [:call, nil, :b, [:arglist]],
208
- [:resbody, [:array], [:call, nil, :c, [:arglist]]]]]]
209
- end
210
- end
211
-
212
- relates "@fetcher ||= new(Gem.configuration[:http_proxy])" do
213
- parse do
214
- [:op_asgn_or,
215
- [:ivar, :@fetcher],
216
- [:iasgn,
217
- :@fetcher,
167
+ [:op_asgn_or,
168
+ [:lvar, :a],
169
+ [:lasgn,
170
+ :a,
171
+ [:rescue,
172
+ [:call, nil, :b, [:arglist]],
173
+ [:resbody,
174
+ [:array, [:const, :StandardError]],
175
+ [:call, nil, :c, [:arglist]]]]]]
176
+ end
177
+
178
+ parse "@fetcher ||= new(Gem.configuration[:http_proxy])" do
179
+ [:op_asgn_or,
180
+ [:ivar, :@fetcher],
181
+ [:iasgn,
182
+ :@fetcher,
183
+ [:call,
184
+ nil,
185
+ :new,
186
+ [:arglist,
218
187
  [:call,
219
- nil,
220
- :new,
221
- [:arglist,
222
- [:call,
223
- [:call, [:const, :Gem], :configuration, [:arglist]],
224
- :[],
225
- [:arglist, [:lit, :http_proxy]]]]]]]
226
- end
188
+ [:call, [:const, :Gem], :configuration, [:arglist]],
189
+ :[],
190
+ [:arglist, [:lit, :http_proxy]]]]]]]
227
191
  end
228
192
 
229
- relates "@v ||= { }" do
230
- parse do
231
- [:op_asgn_or, [:ivar, :@v], [:iasgn, :@v, [:hash]]]
232
- end
193
+ parse "@v ||= { }" do
194
+ [:op_asgn_or, [:ivar, :@v], [:iasgn, :@v, [:hash]]]
233
195
  end
234
196
 
235
- relates <<-ruby do
197
+ parse <<-ruby do
236
198
  a = 0
237
199
  a ||= 1
238
200
  ruby
239
201
 
240
- parse do
241
- [:block,
242
- [:lasgn, :a, [:lit, 0]],
243
- [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 1]]]]
244
- end
202
+ [:block,
203
+ [:lasgn, :a, [:lit, 0]],
204
+ [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 1]]]]
245
205
  end
246
206
  end