rubinius-melbourne 2.3.1.0 → 3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rubinius/code/melbourne/.spec_ruby_version +1 -0
  3. data/ext/rubinius/code/melbourne/Makefile +51 -0
  4. data/ext/rubinius/code/melbourne/bstrlib.o +0 -0
  5. data/ext/rubinius/{melbourne → code/melbourne}/encoding_compat.cpp +0 -0
  6. data/ext/rubinius/{melbourne → code/melbourne}/encoding_compat.hpp +0 -0
  7. data/ext/rubinius/{melbourne → code/melbourne}/extconf.rb +2 -2
  8. data/ext/rubinius/{melbourne → code/melbourne}/grammar.cpp +0 -0
  9. data/ext/rubinius/{melbourne → code/melbourne}/grammar.hpp +0 -0
  10. data/ext/rubinius/{melbourne → code/melbourne}/grammar.y +0 -0
  11. data/ext/rubinius/{melbourne → code/melbourne}/lex.c.blt +0 -0
  12. data/ext/rubinius/{melbourne → code/melbourne}/melbourne.cpp +0 -0
  13. data/ext/rubinius/{melbourne → code/melbourne}/melbourne.hpp +0 -0
  14. data/ext/rubinius/code/melbourne/namespace.h +3 -0
  15. data/ext/rubinius/{melbourne → code/melbourne}/node.hpp +0 -0
  16. data/ext/rubinius/{melbourne → code/melbourne}/node_types.cpp +0 -0
  17. data/ext/rubinius/{melbourne → code/melbourne}/node_types.hpp +0 -0
  18. data/ext/rubinius/{melbourne → code/melbourne}/node_types.rb +0 -0
  19. data/ext/rubinius/{melbourne → code/melbourne}/parser_state.hpp +0 -0
  20. data/ext/rubinius/{melbourne → code/melbourne}/symbols.cpp +0 -0
  21. data/ext/rubinius/{melbourne → code/melbourne}/symbols.hpp +0 -0
  22. data/ext/rubinius/{melbourne → code/melbourne}/var_table.cpp +0 -0
  23. data/ext/rubinius/{melbourne → code/melbourne}/var_table.hpp +0 -0
  24. data/ext/rubinius/{melbourne → code/melbourne}/visitor.cpp +0 -0
  25. data/ext/rubinius/{melbourne → code/melbourne}/visitor.hpp +0 -0
  26. data/lib/rubinius/code/melbourne/melbourne.bundle +0 -0
  27. data/lib/rubinius/{melbourne → code/melbourne}/version.rb +1 -1
  28. data/lib/rubinius/{melbourne.rb → code/melbourne.rb} +2 -2
  29. metadata +42 -233
  30. data/.gitignore +0 -24
  31. data/.travis.yml +0 -7
  32. data/Gemfile +0 -4
  33. data/LICENSE +0 -25
  34. data/README.md +0 -29
  35. data/Rakefile +0 -46
  36. data/rubinius-melbourne.gemspec +0 -29
  37. data/spec/alias_spec.rb +0 -35
  38. data/spec/and_spec.rb +0 -13
  39. data/spec/array_spec.rb +0 -75
  40. data/spec/attrasgn_spec.rb +0 -91
  41. data/spec/back_ref_spec.rb +0 -9
  42. data/spec/call_spec.rb +0 -210
  43. data/spec/case_spec.rb +0 -216
  44. data/spec/cdecl_spec.rb +0 -51
  45. data/spec/class_spec.rb +0 -71
  46. data/spec/colon2_spec.rb +0 -5
  47. data/spec/colon3_spec.rb +0 -5
  48. data/spec/const_spec.rb +0 -5
  49. data/spec/custom/matchers/parse_as.rb +0 -28
  50. data/spec/custom/runner/relates.rb +0 -87
  51. data/spec/cvar_spec.rb +0 -23
  52. data/spec/cvasgn_spec.rb +0 -35
  53. data/spec/default.mspec +0 -4
  54. data/spec/defined_spec.rb +0 -119
  55. data/spec/defn_spec.rb +0 -783
  56. data/spec/defs_spec.rb +0 -96
  57. data/spec/dot2_spec.rb +0 -5
  58. data/spec/dot3_spec.rb +0 -5
  59. data/spec/dregx_spec.rb +0 -38
  60. data/spec/dstr_spec.rb +0 -144
  61. data/spec/dsym_spec.rb +0 -8
  62. data/spec/dxstr_spec.rb +0 -9
  63. data/spec/ensure_spec.rb +0 -113
  64. data/spec/false_spec.rb +0 -5
  65. data/spec/flip2_spec.rb +0 -75
  66. data/spec/flip3_spec.rb +0 -25
  67. data/spec/for_spec.rb +0 -63
  68. data/spec/gasgn_spec.rb +0 -9
  69. data/spec/gvar_spec.rb +0 -17
  70. data/spec/hash_spec.rb +0 -74
  71. data/spec/iasgn_spec.rb +0 -19
  72. data/spec/if_spec.rb +0 -101
  73. data/spec/iter_spec.rb +0 -666
  74. data/spec/lambda_spec.rb +0 -107
  75. data/spec/lasgn_spec.rb +0 -320
  76. data/spec/lit_spec.rb +0 -57
  77. data/spec/masgn_spec.rb +0 -171
  78. data/spec/match2_spec.rb +0 -15
  79. data/spec/match3_spec.rb +0 -20
  80. data/spec/match_spec.rb +0 -5
  81. data/spec/module_spec.rb +0 -43
  82. data/spec/nil_spec.rb +0 -5
  83. data/spec/not_spec.rb +0 -15
  84. data/spec/nth_ref_spec.rb +0 -5
  85. data/spec/op_asgn_spec.rb +0 -206
  86. data/spec/or_spec.rb +0 -29
  87. data/spec/postexe_spec.rb +0 -5
  88. data/spec/regex_spec.rb +0 -20
  89. data/spec/rescue_spec.rb +0 -357
  90. data/spec/return_spec.rb +0 -40
  91. data/spec/sclass_spec.rb +0 -56
  92. data/spec/spec_helper.rb +0 -8
  93. data/spec/str_spec.rb +0 -79
  94. data/spec/super_spec.rb +0 -75
  95. data/spec/true_spec.rb +0 -5
  96. data/spec/undef_spec.rb +0 -83
  97. data/spec/until_spec.rb +0 -48
  98. data/spec/valias_spec.rb +0 -5
  99. data/spec/while_spec.rb +0 -113
  100. data/spec/xstr_spec.rb +0 -5
  101. data/spec/yield_spec.rb +0 -45
  102. data/spec/zsuper_spec.rb +0 -37
data/spec/masgn_spec.rb DELETED
@@ -1,171 +0,0 @@
1
- describe "A Masgn node" do
2
- parse "a = 1, 2, 3" do
3
- [:lasgn, :a, [:array, [:lit, 1], [:lit, 2], [:lit, 3]]]
4
- end
5
-
6
- parse "a = *x" do
7
- [:lasgn, :a, [:splat, [:call, nil, :x, [:arglist]]]]
8
- end
9
-
10
- parse "a, = []" do
11
- [:masgn, [:array, [:lasgn, :a]], [:array]]
12
- end
13
-
14
- parse "a, b = b, a" do
15
- [:masgn,
16
- [:array, [:lasgn, :a], [:lasgn, :b]],
17
- [:array, [:lvar, :b], [:lvar, :a]]]
18
- end
19
-
20
- parse "a, _, b, _, c, _ = x" do
21
- [:masgn,
22
- [:array,
23
- [:lasgn, :a],
24
- [:lasgn, :_],
25
- [:lasgn, :b],
26
- [:lasgn, :_],
27
- [:lasgn, :c],
28
- [:lasgn, :_]],
29
- [:call, nil, :x, [:arglist]]]
30
- end
31
-
32
- parse "a.b, a.c = x" do
33
- [:masgn,
34
- [:array,
35
- [:attrasgn, [:call, nil, :a, [:arglist]], :b=, [:arglist]],
36
- [:attrasgn, [:call, nil, :a, [:arglist]], :c=, [:arglist]]],
37
- [:call, nil, :x, [:arglist]]]
38
- end
39
-
40
- parse "a[0], a[1] = 1, 2" do
41
- [:masgn,
42
- [:array,
43
- [:attrasgn, [:call, nil, :a, [:arglist]], :[]=, [:arglist, [:lit, 0]]],
44
- [:attrasgn, [:call, nil, :a, [:arglist]], :[]=, [:arglist, [:lit, 1]]]],
45
- [:array, [:lit, 1], [:lit, 2]]]
46
- end
47
-
48
- parse "* = *1" do
49
- [:masgn, [:array, [:splat]], [:splat, [:lit, 1]]]
50
- end
51
-
52
- parse "*a = nil" do
53
- [:masgn, [:array, [:splat, [:lasgn, :a]]], [:nil]]
54
- end
55
-
56
- parse "*a = x, y, z" do
57
- [:masgn,
58
- [:array, [:splat, [:lasgn, :a]]],
59
- [:array,
60
- [:call, nil, :x, [:arglist]],
61
- [:call, nil, :y, [:arglist]],
62
- [:call, nil, :z, [:arglist]]]]
63
- end
64
-
65
- parse "*a = x, y, *z" do
66
- [:masgn,
67
- [:array, [:splat, [:lasgn, :a]]],
68
- [:argscat,
69
- [:array, [:call, nil, :x, [:arglist]], [:call, nil, :y, [:arglist]]],
70
- [:call, nil, :z, [:arglist]]]]
71
- end
72
-
73
- parse "a, *b, c = *x" do
74
- [:masgn,
75
- [:array, [:lasgn, :a], [:splat, [:lasgn, :b]]],
76
- [:lasgn, :c],
77
- [:splat, [:call, nil, :x, [:arglist]]]]
78
- end
79
-
80
- parse "a, b, *c = *[]" do
81
- [:masgn,
82
- [:array, [:lasgn, :a], [:lasgn, :b], [:splat, [:lasgn, :c]]],
83
- [:splat, [:array]]]
84
- end
85
-
86
- parse "(*) = x" do
87
- [:masgn, [:array, [:splat]], [:call, nil, :x, [:arglist]]]
88
- end
89
-
90
- parse "(*) = *x" do
91
- [:masgn, [:array, [:splat]], [:splat, [:call, nil, :x, [:arglist]]]]
92
- end
93
-
94
- parse "(*a) = (x = 1), *[1]" do
95
- [:masgn,
96
- [:array, [:splat, [:lasgn, :a]]],
97
- [:array, [:lasgn, :x, [:lit, 1]], [:lit, 1]]]
98
- end
99
-
100
- parse "(*a), *b, c = *x" do
101
- [:masgn,
102
- [:array, [:masgn, [:array, [:splat, [:lasgn, :a]]]], [:splat, [:lasgn, :b]]],
103
- [:lasgn, :c],
104
- [:splat, [:call, nil, :x, [:arglist]]]]
105
- end
106
-
107
- parse "(*a, b) = m x" do
108
- [:masgn,
109
- [:array, [:splat, [:lasgn, :a]]],
110
- [:lasgn, :b],
111
- [:call, nil, :m, [:arglist, [:call, nil, :x, [:arglist]]]]]
112
- end
113
-
114
- parse "(*a, b), (*c, d) = 1, 2, 3" do
115
- [:masgn,
116
- [:array,
117
- [:masgn, [:array, [:splat, [:lasgn, :a]]], [:lasgn, :b]],
118
- [:masgn, [:array, [:splat, [:lasgn, :c]]], [:lasgn, :d]]],
119
- [:array, [:lit, 1], [:lit, 2], [:lit, 3]]]
120
- end
121
-
122
- parse "(a, b, *c, d), (*e, f, g), (*h) = x.y, *x.z" do
123
- [:masgn,
124
- [:array,
125
- [:masgn,
126
- [:array, [:lasgn, :a], [:lasgn, :b], [:splat, [:lasgn, :c]]],
127
- [:lasgn, :d]],
128
- [:masgn, [:array, [:splat, [:lasgn, :e]]], [:lasgn, :f], [:lasgn, :g]],
129
- [:masgn, [:array, [:splat, [:lasgn, :h]]]]],
130
- [:argscat,
131
- [:array, [:call, [:call, nil, :x, [:arglist]], :y, [:arglist]]],
132
- [:call, [:call, nil, :x, [:arglist]], :z, [:arglist]]]]
133
- end
134
-
135
- parse "a, (b, (c, *d), *e) = x[0], *y[0]" do
136
- [:masgn,
137
- [:array,
138
- [:lasgn, :a],
139
- [:masgn,
140
- [:array,
141
- [:lasgn, :b],
142
- [:masgn, [:array, [:lasgn, :c], [:splat, [:lasgn, :d]]]],
143
- [:splat, [:lasgn, :e]]]]],
144
- [:argscat,
145
- [:array, [:call, [:call, nil, :x, [:arglist]], :[], [:arglist, [:lit, 0]]]],
146
- [:call, [:call, nil, :y, [:arglist]], :[], [:arglist, [:lit, 0]]]]]
147
- end
148
-
149
- parse "a, (b, (c, *d, (e, (*f)), g), (h, (i, j), k)) = x.y(q, r)" do
150
- [:masgn,
151
- [:array,
152
- [:lasgn, :a],
153
- [:masgn,
154
- [:array,
155
- [:lasgn, :b],
156
- [:masgn,
157
- [:array, [:lasgn, :c], [:splat, [:lasgn, :d]]],
158
- [:masgn,
159
- [:array, [:lasgn, :e], [:masgn, [:array, [:splat, [:lasgn, :f]]]]]],
160
- [:lasgn, :g]],
161
- [:masgn,
162
- [:array,
163
- [:lasgn, :h],
164
- [:masgn, [:array, [:lasgn, :i], [:lasgn, :j]]],
165
- [:lasgn, :k]]]]]],
166
- [:call,
167
- [:call, nil, :x, [:arglist]],
168
- :y,
169
- [:arglist, [:call, nil, :q, [:arglist]], [:call, nil, :r, [:arglist]]]]]
170
- end
171
- end
data/spec/match2_spec.rb DELETED
@@ -1,15 +0,0 @@
1
- describe "A Match2 node" do
2
- parse '/x/ =~ "blah"' do
3
- [:match2, [:regex, "x", 0], [:str, "blah"]]
4
- end
5
-
6
- parse <<-ruby do
7
- x = "x"
8
- /\#{x}/ =~ x
9
- ruby
10
-
11
- [:block,
12
- [:lasgn, :x, [:str, "x"]],
13
- [:match2, [:dregx, "", [:evstr, [:lvar, :x]]], [:lvar, :x]]]
14
- end
15
- end
data/spec/match3_spec.rb DELETED
@@ -1,20 +0,0 @@
1
- describe "A Match3 node" do
2
- parse '"blah" =~ /x/' do
3
- [:match3, [:regex, "x", 0], [:str, "blah"]]
4
- end
5
-
6
- parse <<-ruby do
7
- a = 'abc'
8
- if a =~ /\#{a}/
9
- 1
10
- end
11
- ruby
12
-
13
- [:block,
14
- [:lasgn, :a, [:str, "abc"]],
15
- [:if,
16
- [:match3, [:dregx, "", [:evstr, [:lvar, :a]]], [:lvar, :a]],
17
- [:lit, 1],
18
- nil]]
19
- end
20
- end
data/spec/match_spec.rb DELETED
@@ -1,5 +0,0 @@
1
- describe "A Match node" do
2
- parse "1 if /x/" do
3
- [:if, [:match, [:regex, "x", 0]], [:lit, 1], nil]
4
- end
5
- end
data/spec/module_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- describe "A Module node" do
2
- parse <<-ruby do
3
- module X
4
- def y
5
- end
6
- end
7
- ruby
8
-
9
- [:module,
10
- :X,
11
- [:scope, [:block, [:defn, :y, [:args], [:scope, [:block, [:nil]]]]]]]
12
- end
13
-
14
- parse <<-ruby do
15
- module ::Y
16
- c
17
- end
18
- ruby
19
-
20
- [:module, [:colon3, :Y], [:scope, [:block, [:call, nil, :c, [:arglist]]]]]
21
- end
22
-
23
- parse <<-ruby do
24
- module X::Y
25
- c
26
- end
27
- ruby
28
-
29
- [:module,
30
- [:colon2, [:const, :X], :Y],
31
- [:scope, [:block, [:call, nil, :c, [:arglist]]]]]
32
- end
33
-
34
- parse <<-ruby do
35
- "prevent the above from infecting rdoc"
36
-
37
- module Graffle
38
- end
39
- ruby
40
-
41
- [:module, :Graffle, [:scope]]
42
- end
43
- end
data/spec/nil_spec.rb DELETED
@@ -1,5 +0,0 @@
1
- describe "A Nil node" do
2
- parse "nil" do
3
- [:nil]
4
- end
5
- end
data/spec/not_spec.rb DELETED
@@ -1,15 +0,0 @@
1
- describe "A Not node" do
2
- parse "(not true)" do
3
- [:call, [:true], :!, [:arglist]]
4
- end
5
-
6
- parse <<-ruby do
7
- a = 1
8
- b = !a
9
- ruby
10
-
11
- [:block,
12
- [:lasgn, :a, [:lit, 1]],
13
- [:lasgn, :b, [:call, [:lvar, :a], :!, [:arglist]]]]
14
- end
15
- end
data/spec/nth_ref_spec.rb DELETED
@@ -1,5 +0,0 @@
1
- describe "An Nth_ref node" do
2
- parse "$1" do
3
- [:nth_ref, 1]
4
- end
5
- end
data/spec/op_asgn_spec.rb DELETED
@@ -1,206 +0,0 @@
1
- describe "An Op_asgn1 node" do
2
- parse "a &&= 8" do
3
- [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
4
- end
5
-
6
- parse "hsh[:blah] ||= 8" do
7
- [:op_asgn1,
8
- [:call, nil, :hsh, [:arglist]],
9
- [:arglist, [:lit, :blah]],
10
- :"||",
11
- [:lit, 8]]
12
- end
13
-
14
- parse <<-ruby do
15
- x = 1
16
- hsh[x] ||= 8
17
- ruby
18
-
19
- [:block,
20
- [:lasgn, :x, [:lit, 1]],
21
- [:op_asgn1,
22
- [:call, nil, :hsh, [:arglist]],
23
- [:arglist, [:lvar, :x]],
24
- :"||",
25
- [:lit, 8]]]
26
- end
27
-
28
- parse "hsh[:blah] &&= 8" do
29
- [:op_asgn1,
30
- [:call, nil, :hsh, [:arglist]],
31
- [:arglist, [:lit, :blah]],
32
- :"&&",
33
- [:lit, 8]]
34
- end
35
-
36
- parse "hsh[:blah] ^= 8" do
37
- [:op_asgn1,
38
- [:call, nil, :hsh, [:arglist]],
39
- [:arglist, [:lit, :blah]],
40
- :^,
41
- [:lit, 8]]
42
- end
43
-
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]]]
50
- end
51
-
52
- parse "x.val ||= 6" do
53
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"||", [:lit, 6]]
54
- end
55
-
56
- parse "x.val &&= 7" do
57
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :"&&", [:lit, 7]]
58
- end
59
-
60
- parse <<-ruby do
61
- @b = []
62
- @b[1] ||= 10
63
- @b[2] &&= 11
64
- @b[3] += 12
65
- ruby
66
-
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]]]
72
- end
73
-
74
- parse <<-ruby do
75
- b = []
76
- b[1] ||= 10
77
- b[2] &&= 11
78
- b[3] += 12
79
- ruby
80
-
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]]]
86
- end
87
- end
88
-
89
- describe "An Op_asgn2 node" do
90
- parse "x.val ^= 8" do
91
- [:op_asgn2, [:call, nil, :x, [:arglist]], :val=, :^, [:lit, 8]]
92
- end
93
-
94
- parse "self.Bag ||= Bag.new" do
95
- [:op_asgn2,
96
- [:self],
97
- :"Bag=", :"||", [:call, [:const, :Bag], :new, [:arglist]]]
98
- end
99
-
100
- parse <<-ruby do
101
- s = Struct.new(:var)
102
- c = s.new(nil)
103
- c.var ||= 20
104
- c.var &&= 21
105
- c.var += 22
106
- c.d.e.f ||= 42
107
- ruby
108
-
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]]]
120
- end
121
- end
122
-
123
- describe "An Op_asgn_and node" do
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,
133
- [:call,
134
- [:call, [:const, :Gem], :configuration, [:arglist]],
135
- :[],
136
- [:arglist, [:lit, :http_proxy]]]]]]]
137
- end
138
-
139
- parse <<-ruby do
140
- a = 0
141
- a &&= 2
142
- ruby
143
-
144
- [:block,
145
- [:lasgn, :a, [:lit, 0]],
146
- [:op_asgn_and, [:lvar, :a], [:lasgn, :a, [:lit, 2]]]]
147
- end
148
- end
149
-
150
- describe "An Op_asgn_or node" do
151
- parse "@@var ||= 3" do
152
- [:op_asgn_or, [:cvar, :@@var], [:cvasgn, :@@var, [:lit, 3]]]
153
- end
154
-
155
- parse "a ||= 8" do
156
- [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 8]]]
157
- end
158
-
159
- parse <<-ruby do
160
- a ||= begin
161
- b
162
- rescue
163
- c
164
- end
165
- ruby
166
-
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,
187
- [:call,
188
- [:call, [:const, :Gem], :configuration, [:arglist]],
189
- :[],
190
- [:arglist, [:lit, :http_proxy]]]]]]]
191
- end
192
-
193
- parse "@v ||= { }" do
194
- [:op_asgn_or, [:ivar, :@v], [:iasgn, :@v, [:hash]]]
195
- end
196
-
197
- parse <<-ruby do
198
- a = 0
199
- a ||= 1
200
- ruby
201
-
202
- [:block,
203
- [:lasgn, :a, [:lit, 0]],
204
- [:op_asgn_or, [:lvar, :a], [:lasgn, :a, [:lit, 1]]]]
205
- end
206
- end