rVM 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,10 +2,23 @@ module RVM
2
2
  module Classes
3
3
  class Boolean < RVM::Classes::Class
4
4
  register_for :boolean
5
+
5
6
  def data_type
6
7
  :boolean
7
8
  end
8
9
 
10
+ def hash
11
+ @value.hash
12
+ end
13
+
14
+ def eql?(o)
15
+ if o.is_a?(RVM::Classes::Boolean)
16
+ o.is_true? == is_true?
17
+ else
18
+ @value == o
19
+ end
20
+ end
21
+
9
22
  def initialize value
10
23
  super()
11
24
  if value
@@ -4,6 +4,24 @@ module RVM
4
4
  register_for :number
5
5
  @@type = :number
6
6
 
7
+ # Fix for comparing numbers.
8
+ # We need to have the values hash here.
9
+ def hash
10
+ @value.hash
11
+ end
12
+
13
+ def eql?(o)
14
+ if o.is_a?(RVM::Classes::Number)
15
+ @value == o.value
16
+ elsif o.is_a?(@value.class)
17
+ @value == o
18
+ else
19
+ false
20
+ end
21
+ end
22
+
23
+
24
+
7
25
  def initialize value
8
26
  super()
9
27
  if value.is_a? Numeric
@@ -21,7 +21,7 @@ module RVM
21
21
  module Languages
22
22
  class ECMA < Racc::Parser
23
23
 
24
- module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 201)
24
+ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 219)
25
25
  extend Plugin
26
26
  plugin_host RVM::Languages
27
27
  register_for :ecma
@@ -41,9 +41,19 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 201)
41
41
  m = s.matched.gsub(/^'/,'').gsub(/'$/,'')
42
42
  @q.push [:STRING, [m, [line, s.pos - pos]]]
43
43
  elsif s.scan(/("(\\.|[^"])*")/)
44
- m = s.matched.gsub('\n',"\n").gsub('\t',"\t").gsub(/^"/,'').gsub(/"$/,'')
44
+ m = s.matched.gsub(/^"/,'').gsub(/"$/,'')
45
+ m.gsub!(/\\./) do |repl|
46
+ case repl
47
+ when '\n'
48
+ "\n"
49
+ when '\t'
50
+ "\t"
51
+ when '\\\\'
52
+ '\\'
53
+ end
54
+ end
45
55
  @q.push [:STRING, [m, [line, s.pos - pos]]]
46
- elsif s.scan(/((\d+(\.\d+)?)|(\.\d+))(e-?\d+)?/)
56
+ elsif s.scan(/((\d+(\.\d+)?)|(\.\d+))(e[+-]?\d+)?/i)
47
57
  @q.push [:NUMBER, [s.matched, [line, s.pos - pos]]]
48
58
  elsif s.scan(/\[/)
49
59
  @q.push [:SBRACKET_OPEN, [s.matched, [line, s.pos - pos]]]
@@ -84,12 +94,12 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 201)
84
94
  :IDENT
85
95
  end
86
96
  @q.push [type, [m, [line, s.pos - pos]]]
87
- elsif s.scan(/(([<>]=?)|([!=]=)|[.+*\/(),=;\!-]|&&|\|\|)/) # This ones do not get a new line (sepperator added)
97
+ elsif s.scan(/(([<>]=?)|([!=]=)|[.+*\/(),:=;\!-]|&&|\|\|)/) # This ones do not get a new line (sepperator added)
88
98
  m = s.matched
89
99
  @q.push [m, [m, [line, s.pos - pos]]]
90
100
  elsif s.scan(/\s+/)
91
101
  else
92
- raise "Woops! I can daeal with char at #{line}:{s.pos - pos}: #{s.pre_match} #{s.post_match}"
102
+ raise "Woops! I can daeal with char at #{line}:#{s.pos - pos}: #{s.pre_match} #{s.post_match}"
93
103
  end
94
104
  end
95
105
  @q.push([false, '$end'])
@@ -104,410 +114,483 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 201)
104
114
  ##### State transition tables begin ###
105
115
 
106
116
  racc_action_table = [
107
- 55, 57, 58, 59, 45, 47, 48, 49, 51, 52,
108
- 53, 54, 56, 55, 57, 58, 59, 45, 47, 48,
109
- 55, 57, 58, 59, 45, -71, 42, 50, 50, 50,
110
- 113, 55, 57, 58, 59, 45, 46, 46, 46, 50,
111
- 112, 55, 50, 50, 93, 120, 108, 121, 46, 50,
112
- 94, 46, 46, 55, 57, 58, 55, 118, 46, 73,
113
- 50, 55, 57, 58, 59, 45, 47, 48, 116, 46,
114
- 50, 55, 57, 58, 59, 45, 47, 48, 50, 46,
115
- 98, 77, 50, 99, 122, 50, 123, 46, 114, 100,
116
- 50, 46, 20, 74, 46, 55, 57, 58, 95, 46,
117
- 50, 73, 55, 57, 58, 59, 45, 47, 48, 46,
118
- 55, 57, 58, 59, 45, 47, 48, 49, 51, 52,
119
- 53, 54, 56, 136, 50, 121, 102, 72, 42, 65,
120
- 64, 50, 20, 46, 42, 135, 110, 111, 137, 50,
121
- 46, 55, 57, 58, 59, 45, 47, 48, 46, 55,
122
- 57, 58, 59, 45, 47, 48, 49, 51, 52, 53,
123
- 54, 56, 138, 63, 60, 44, 141, 42, nil, nil,
124
- 50, nil, nil, nil, nil, nil, nil, nil, 50, 46,
125
- 55, 57, 58, 59, 45, 47, 48, 46, 55, 57,
126
- 58, 59, 45, 47, 48, 49, 51, 52, 53, 54,
127
- 56, nil, nil, nil, nil, nil, nil, nil, nil, 50,
128
- nil, nil, nil, nil, nil, nil, nil, 50, 46, nil,
129
- nil, nil, 101, nil, nil, nil, 46, 55, 57, 58,
130
- 59, 45, 47, 48, 49, 51, 52, 53, 54, 56,
131
- 55, 57, 58, 59, 45, 47, 48, 49, 51, 52,
132
- 53, 54, 56, nil, nil, nil, 50, nil, nil, nil,
133
- nil, nil, nil, nil, nil, 46, nil, nil, nil, 50,
134
- nil, nil, nil, nil, nil, nil, nil, nil, 46, 55,
135
- 57, 58, 59, 45, 47, 48, 49, 51, 52, 53,
136
- 54, 56, nil, 35, 2, nil, nil, nil, nil, nil,
137
- 35, 2, nil, 32, 39, nil, nil, nil, 50, nil,
138
- 32, 39, nil, 27, 30, 34, nil, 46, 10, 13,
139
- 27, 30, 34, 23, nil, 10, 13, 3, 35, 2,
140
- 23, nil, nil, nil, 3, nil, nil, nil, 32, 39,
141
- nil, nil, nil, nil, nil, 35, 2, nil, 27, 30,
142
- 34, nil, nil, 10, 13, 32, 37, nil, 23, 127,
143
- nil, nil, 3, nil, 25, 27, 30, 34, nil, nil,
144
- 10, 13, 35, 2, nil, 23, nil, nil, nil, 3,
145
- nil, nil, 32, 37, nil, nil, nil, nil, nil, 35,
146
- 2, 25, 27, 30, 34, nil, nil, 10, 13, 32,
147
- 39, nil, 23, nil, nil, nil, 3, 35, 2, 27,
148
- 30, 34, nil, nil, 10, 13, nil, 32, 39, 23,
149
- nil, nil, nil, 3, 35, 2, nil, 27, 30, 34,
150
- nil, nil, 10, 13, 32, 39, nil, 23, nil, nil,
151
- nil, 3, 35, 2, 27, 30, 34, nil, nil, 10,
152
- 13, nil, 32, 39, 23, nil, nil, nil, 3, 35,
153
- 2, nil, 27, 30, 34, nil, nil, 10, 13, 32,
154
- 39, nil, 23, nil, nil, nil, 3, 35, 2, 27,
155
- 30, 34, nil, nil, 10, 13, nil, 32, 39, 23,
156
- nil, nil, nil, 3, 35, 2, nil, 27, 30, 34,
157
- nil, nil, 10, 13, 32, 39, nil, 23, nil, nil,
158
- nil, 3, 35, 2, 27, 30, 34, nil, nil, 10,
159
- 13, nil, 32, 39, 23, nil, nil, nil, 3, 35,
160
- 2, nil, 27, 30, 34, nil, nil, 10, 13, 32,
161
- 39, nil, 23, nil, nil, nil, 3, 35, 2, 27,
162
- 30, 34, nil, nil, 10, 13, nil, 32, 39, 23,
163
- nil, nil, nil, 3, 35, 2, nil, 27, 30, 34,
164
- nil, nil, 10, 13, 32, 39, nil, 23, nil, nil,
165
- nil, 3, 35, 2, 27, 30, 34, nil, nil, 10,
166
- 13, nil, 32, 39, 23, nil, nil, nil, 3, 35,
167
- 2, nil, 27, 30, 34, nil, nil, 10, 13, 32,
168
- 39, nil, 23, nil, nil, nil, 3, 35, 2, 27,
169
- 30, 34, nil, nil, 10, 13, nil, 32, 39, 23,
170
- nil, nil, nil, 3, 35, 2, nil, 27, 30, 34,
171
- nil, nil, 10, 13, 32, 37, nil, 23, nil, nil,
172
- nil, 3, nil, 25, 27, 30, 34, nil, nil, 10,
173
- 13, 35, 2, nil, 23, nil, nil, nil, 3, nil,
174
- nil, 32, 39, nil, nil, nil, nil, nil, nil, 35,
175
- 2, 27, 30, 34, nil, nil, 10, 13, nil, 32,
176
- 37, 23, nil, 8, 12, 3, 17, 21, 25, 27,
177
- 30, 34, 4, nil, 10, 13, nil, 20, nil, 23,
178
- 35, 2, nil, 3, nil, nil, nil, nil, nil, nil,
179
- 32, 37, nil, nil, 8, 12, nil, 17, 21, 25,
180
- 27, 30, 34, 4, nil, 10, 13, nil, 20, nil,
181
- 23, 35, 2, nil, 3, nil, nil, nil, nil, nil,
182
- nil, 32, 37, nil, 7, 8, 12, nil, 17, 21,
183
- 25, 27, 30, 34, 4, nil, 10, 13, nil, 20,
184
- nil, 23, 35, 2, nil, 3, nil, nil, nil, nil,
185
- nil, nil, 32, 37, nil, nil, nil, nil, nil, nil,
186
- nil, 25, 27, 30, 34, nil, nil, 10, 13, 35,
187
- 2, nil, 23, nil, nil, nil, 3, nil, nil, 32,
188
- 37, nil, nil, 8, 12, nil, 17, 21, 25, 27,
189
- 30, 34, 4, nil, 10, 13, nil, 20, nil, 23,
190
- 35, 2, nil, 3, nil, nil, nil, nil, nil, nil,
191
- 32, 39, nil, nil, nil, nil, nil, nil, 35, 2,
192
- 27, 30, 34, nil, nil, 10, 13, nil, 32, 37,
193
- 23, nil, 8, 12, 3, 17, 21, 25, 27, 30,
194
- 34, 4, nil, 10, 13, nil, 20, nil, 23, 35,
195
- 2, nil, 3, nil, nil, nil, nil, nil, nil, 32,
196
- 37, nil, nil, 8, 12, nil, 17, 21, 25, 27,
197
- 30, 34, 4, nil, 10, 13, nil, 20, nil, 23,
198
- 35, 2, nil, 3, nil, nil, nil, nil, nil, nil,
199
- 32, 37, nil, nil, nil, nil, nil, 35, 2, 25,
200
- 27, 30, 34, nil, nil, 10, 13, 32, 37, nil,
201
- 23, nil, nil, nil, 3, nil, 25, 27, 30, 34,
202
- nil, nil, 10, 13, 35, 2, nil, 23, nil, nil,
203
- nil, 3, nil, nil, 32, 39, nil, nil, nil, nil,
204
- nil, 35, 2, nil, 27, 30, 34, nil, nil, 10,
205
- 13, 32, 39, nil, 23, 106, nil, nil, 3, 35,
206
- 2, 27, 30, 34, nil, nil, 10, 13, nil, 32,
207
- 39, 23, nil, nil, nil, 3, 35, 2, nil, 27,
208
- 30, 34, nil, nil, 10, 13, 32, 37, nil, 23,
209
- nil, nil, nil, 3, nil, 25, 27, 30, 34, nil,
210
- nil, 10, 13, 35, 2, nil, 23, nil, nil, nil,
211
- 3, nil, nil, 32, 37, nil, nil, 8, 12, nil,
212
- 17, 21, 25, 27, 30, 34, 4, nil, 10, 13,
213
- nil, 20, nil, 23, 35, 2, nil, 3, nil, nil,
214
- nil, nil, nil, nil, 32, 37, nil, nil, 8, 12,
215
- nil, 17, 21, 25, 27, 30, 34, 4, nil, 10,
216
- 13, nil, 20, nil, 23, 35, 2, nil, 3, nil,
217
- nil, nil, 35, 2, nil, 32, 37, nil, nil, nil,
218
- nil, nil, 32, 39, 25, 27, 30, 34, nil, nil,
219
- 10, 13, 27, 30, 34, 23, nil, 10, 13, 3,
220
- 35, 2, 23, nil, nil, nil, 3, nil, nil, nil,
221
- 32, 39, nil, nil, nil, nil, nil, nil, 35, 2,
222
- 27, 30, 34, nil, nil, 10, 13, nil, 32, 37,
223
- 23, 7, 8, 12, 3, 17, 21, 25, 27, 30,
224
- 34, 4, nil, 10, 13, nil, 20, nil, 23, 35,
225
- 2, nil, 3, nil, nil, nil, nil, nil, nil, 32,
226
- 37, nil, nil, nil, nil, nil, nil, nil, 25, 27,
227
- 30, 34, nil, nil, 10, 13, nil, nil, nil, 23,
228
- nil, nil, nil, 3 ]
117
+ 62, 64, 65, 66, 52, 53, 55, 56, 58, 59,
118
+ 60, 61, 63, 62, 64, 65, 66, 52, 53, 55,
119
+ 62, 64, 65, 66, 52, 109, 125, 91, 110, 57,
120
+ 126, 62, 64, 65, 66, 52, 53, 55, 46, 54,
121
+ 62, -78, 57, 62, 64, 65, 66, 52, 62, 57,
122
+ 131, 86, 54, 112, 62, 64, 65, 87, 120, 54,
123
+ 57, 62, 64, 65, 66, 52, 53, 55, 57, 57,
124
+ 54, 57, 57, 138, 57, 80, 57, 57, 54, 54,
125
+ 127, 54, 54, 57, 54, 106, 54, 54, 57, 107,
126
+ 57, 83, 104, 54, 62, 64, 65, 151, 54, 134,
127
+ 54, 62, 64, 65, 66, 52, 53, 55, 56, 58,
128
+ 59, 60, 61, 63, 62, 64, 65, 66, 52, 53,
129
+ 55, 80, 135, 57, 136, 133, 114, 134, 121, 46,
130
+ 57, 75, 68, 54, 138, 46, 67, 149, 150, 122,
131
+ 54, 124, 152, 57, 48, 62, 64, 65, 66, 52,
132
+ 53, 55, 47, 54, 62, 64, 65, 66, 52, 53,
133
+ 55, 56, 58, 59, 60, 61, 63, 46, 155, 43,
134
+ nil, nil, nil, nil, 57, nil, nil, nil, nil, nil,
135
+ nil, nil, nil, 57, 54, nil, nil, nil, nil, nil,
136
+ nil, nil, nil, 54, 62, 64, 65, 66, 52, 53,
137
+ 55, 56, 58, 59, 60, 61, 63, 62, 64, 65,
138
+ 66, 52, 53, 55, 56, 58, 59, 60, 61, 63,
139
+ nil, nil, nil, 57, nil, nil, nil, nil, nil, nil,
140
+ nil, 108, nil, 54, nil, nil, 57, nil, nil, nil,
141
+ nil, 113, nil, nil, nil, nil, 54, 62, 64, 65,
142
+ 66, 52, 53, 55, 56, 58, 59, 60, 61, 63,
143
+ 62, 64, 65, 66, 52, 53, 55, 56, 58, 59,
144
+ 60, 61, 63, nil, nil, nil, 57, 62, 64, 65,
145
+ 66, 52, 53, 55, nil, nil, 54, nil, nil, 57,
146
+ nil, nil, nil, nil, nil, nil, nil, 108, nil, 54,
147
+ nil, nil, nil, nil, nil, nil, 57, nil, nil, nil,
148
+ nil, nil, nil, nil, nil, nil, 54, 62, 64, 65,
149
+ 66, 52, 53, 55, 56, 58, 59, 60, 61, 63,
150
+ 62, 64, 65, 66, 52, 53, 55, 56, 58, 59,
151
+ 60, 61, 63, nil, nil, nil, 57, nil, nil, nil,
152
+ nil, nil, nil, nil, nil, nil, 54, nil, nil, 57,
153
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 54,
154
+ 62, 64, 65, 66, 52, 53, 55, 56, 58, 59,
155
+ 60, 61, 63, nil, nil, nil, nil, nil, nil, nil,
156
+ nil, nil, nil, 36, 1, nil, nil, nil, nil, 57,
157
+ nil, nil, nil, 31, 38, nil, 7, 8, 10, 54,
158
+ 16, 20, 26, 27, 30, 35, 2, nil, 9, 11,
159
+ nil, 18, nil, 24, 36, 1, nil, nil, 5, nil,
160
+ nil, nil, nil, nil, 31, 41, nil, nil, nil, nil,
161
+ nil, nil, nil, nil, 27, 30, 35, 36, 1, 9,
162
+ 11, nil, 40, nil, 24, nil, nil, 31, 38, 5,
163
+ nil, 8, 10, nil, 16, 20, 26, 27, 30, 35,
164
+ 2, nil, 9, 11, nil, 18, nil, 24, 36, 1,
165
+ nil, nil, 5, nil, nil, nil, nil, nil, 31, 38,
166
+ nil, nil, nil, nil, nil, nil, nil, 26, 27, 30,
167
+ 35, 36, 1, 9, 11, nil, 40, nil, 24, nil,
168
+ nil, 31, 38, 5, nil, nil, nil, nil, nil, nil,
169
+ 26, 27, 30, 35, 36, 1, 9, 11, nil, 40,
170
+ nil, 24, nil, nil, 31, 38, 5, nil, nil, nil,
171
+ nil, nil, nil, 26, 27, 30, 35, 36, 1, 9,
172
+ 11, nil, 40, nil, 24, nil, nil, 31, 41, 5,
173
+ nil, nil, nil, nil, nil, nil, nil, 27, 30, 35,
174
+ 36, 1, 9, 11, nil, 40, 73, 24, nil, nil,
175
+ 31, 41, 5, nil, nil, nil, nil, nil, nil, nil,
176
+ 27, 30, 35, 36, 1, 9, 11, nil, 40, nil,
177
+ 24, nil, nil, 31, 41, 5, nil, nil, nil, nil,
178
+ nil, nil, nil, 27, 30, 35, 36, 1, 9, 11,
179
+ nil, 40, nil, 24, nil, nil, 31, 41, 5, nil,
180
+ nil, nil, nil, nil, nil, nil, 27, 30, 35, 36,
181
+ 1, 9, 11, nil, 40, nil, 24, 143, nil, 31,
182
+ 41, 5, nil, nil, nil, nil, nil, nil, nil, 27,
183
+ 30, 35, 36, 1, 9, 11, nil, 40, nil, 24,
184
+ nil, nil, 31, 41, 5, nil, nil, nil, nil, nil,
185
+ nil, nil, 27, 30, 35, 36, 1, 9, 11, nil,
186
+ 40, nil, 24, nil, nil, 31, 41, 5, nil, nil,
187
+ nil, nil, nil, nil, nil, 27, 30, 35, 36, 1,
188
+ 9, 11, nil, 40, nil, 24, nil, nil, 31, 41,
189
+ 5, nil, nil, nil, nil, nil, nil, nil, 27, 30,
190
+ 35, 36, 1, 9, 11, nil, 40, nil, 24, nil,
191
+ nil, 31, 41, 5, nil, nil, nil, nil, nil, nil,
192
+ nil, 27, 30, 35, 36, 1, 9, 11, nil, 40,
193
+ nil, 24, nil, nil, 31, 41, 5, nil, nil, nil,
194
+ nil, nil, nil, nil, 27, 30, 35, 36, 1, 9,
195
+ 11, nil, 40, nil, 24, nil, nil, 31, 41, 5,
196
+ nil, nil, nil, nil, nil, nil, nil, 27, 30, 35,
197
+ 36, 1, 9, 11, nil, 40, nil, 24, nil, nil,
198
+ 31, 41, 5, nil, nil, nil, nil, nil, nil, nil,
199
+ 27, 30, 35, 36, 1, 9, 11, nil, 40, nil,
200
+ 24, nil, nil, 31, 41, 5, nil, nil, nil, nil,
201
+ nil, nil, nil, 27, 30, 35, 36, 1, 9, 11,
202
+ nil, 40, nil, 24, nil, nil, 31, 41, 5, nil,
203
+ nil, nil, nil, nil, nil, nil, 27, 30, 35, 36,
204
+ 1, 9, 11, nil, 40, nil, 24, nil, nil, 31,
205
+ 41, 5, nil, nil, nil, nil, nil, nil, nil, 27,
206
+ 30, 35, 36, 1, 9, 11, nil, 40, nil, 24,
207
+ nil, nil, 31, 41, 5, nil, nil, nil, nil, nil,
208
+ nil, nil, 27, 30, 35, 36, 1, 9, 11, nil,
209
+ 40, nil, 24, nil, nil, 31, 38, 5, nil, 8,
210
+ 10, nil, 16, 20, 26, 27, 30, 35, 2, nil,
211
+ 9, 11, nil, 18, nil, 24, 36, 1, nil, nil,
212
+ 5, nil, nil, nil, nil, nil, 31, 38, nil, nil,
213
+ nil, nil, nil, nil, nil, 26, 27, 30, 35, 36,
214
+ 1, 9, 11, nil, 40, nil, 24, nil, nil, 31,
215
+ 38, 5, nil, 8, 10, nil, 16, 20, 26, 27,
216
+ 30, 35, 2, nil, 9, 11, nil, 18, nil, 24,
217
+ 36, 1, nil, nil, 5, nil, nil, nil, nil, nil,
218
+ 31, 41, nil, nil, nil, nil, nil, nil, nil, nil,
219
+ 27, 30, 35, 36, 1, 9, 11, nil, 40, nil,
220
+ 24, nil, nil, 31, 41, 5, nil, nil, nil, nil,
221
+ nil, nil, nil, 27, 30, 35, 36, 1, 9, 11,
222
+ nil, 40, nil, 24, nil, nil, 31, 38, 5, nil,
223
+ nil, nil, nil, nil, nil, 26, 27, 30, 35, 36,
224
+ 1, 9, 11, nil, 40, nil, 24, nil, nil, 31,
225
+ 41, 5, nil, nil, nil, nil, nil, nil, nil, 27,
226
+ 30, 35, 36, 1, 9, 11, nil, 40, nil, 24,
227
+ nil, nil, 31, 41, 5, nil, nil, nil, nil, nil,
228
+ nil, nil, 27, 30, 35, 36, 1, 9, 11, nil,
229
+ 40, nil, 24, nil, nil, 31, 38, 5, nil, 8,
230
+ 10, nil, 16, 20, 26, 27, 30, 35, 2, nil,
231
+ 9, 11, nil, 18, nil, 24, 36, 1, nil, nil,
232
+ 5, nil, nil, nil, nil, nil, 31, 38, nil, nil,
233
+ nil, nil, nil, nil, nil, 26, 27, 30, 35, 36,
234
+ 1, 9, 11, nil, 40, nil, 24, nil, nil, 31,
235
+ 41, 5, nil, nil, nil, nil, nil, nil, nil, 27,
236
+ 30, 35, 36, 1, 9, 11, nil, 40, nil, 24,
237
+ 117, nil, 31, 38, 5, nil, 8, 10, nil, 16,
238
+ 20, 26, 27, 30, 35, 2, nil, 9, 11, nil,
239
+ 18, 73, 24, 36, 1, nil, nil, 5, nil, nil,
240
+ nil, nil, nil, 31, 41, nil, nil, nil, nil, nil,
241
+ nil, nil, nil, 27, 30, 35, 36, 1, 9, 11,
242
+ nil, 40, nil, 24, nil, nil, 31, 38, 5, nil,
243
+ 8, 10, nil, 16, 20, 26, 27, 30, 35, 2,
244
+ nil, 9, 11, nil, 18, nil, 24, 36, 1, nil,
245
+ nil, 5, nil, nil, nil, nil, nil, 31, 41, nil,
246
+ nil, nil, nil, nil, nil, nil, nil, 27, 30, 35,
247
+ 36, 1, 9, 11, 51, 40, nil, 24, nil, nil,
248
+ 31, 41, 5, nil, nil, nil, nil, nil, nil, nil,
249
+ 27, 30, 35, 36, 1, 9, 11, nil, 40, nil,
250
+ 24, nil, nil, 31, 38, 5, nil, nil, nil, nil,
251
+ nil, nil, 26, 27, 30, 35, 36, 1, 9, 11,
252
+ nil, 40, nil, 24, nil, nil, 31, 38, 5, nil,
253
+ 8, 10, nil, 16, 20, 26, 27, 30, 35, 2,
254
+ nil, 9, 11, nil, 18, nil, 24, 36, 1, nil,
255
+ nil, 5, nil, nil, nil, nil, nil, 31, 41, nil,
256
+ nil, nil, nil, nil, nil, nil, nil, 27, 30, 35,
257
+ 36, 1, 9, 11, nil, 40, nil, 24, nil, nil,
258
+ 31, 38, 5, nil, 8, 10, nil, 16, 20, 26,
259
+ 27, 30, 35, 2, nil, 9, 11, nil, 18, nil,
260
+ 24, 36, 1, nil, nil, 5, nil, nil, nil, nil,
261
+ nil, 31, 38, nil, nil, nil, nil, nil, nil, nil,
262
+ 26, 27, 30, 35, 36, 1, 9, 11, nil, 40,
263
+ nil, 24, nil, nil, 31, 41, 5, nil, nil, nil,
264
+ nil, nil, nil, nil, 27, 30, 35, 36, 1, 9,
265
+ 11, nil, 40, nil, 24, nil, nil, 31, 38, 5,
266
+ 7, 8, 10, nil, 16, 20, 26, 27, 30, 35,
267
+ 2, nil, 9, 11, nil, 18, nil, 24, 36, 1,
268
+ nil, nil, 5, nil, nil, nil, nil, nil, 31, 38,
269
+ nil, nil, nil, nil, nil, nil, nil, 26, 27, 30,
270
+ 35, nil, nil, 9, 11, nil, 40, nil, 24, nil,
271
+ nil, nil, nil, 5 ]
229
272
 
230
273
  racc_action_check = [
231
- 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
232
- 82, 82, 82, 81, 81, 81, 81, 81, 81, 81,
233
- 80, 80, 80, 80, 80, 37, 74, 38, 128, 82,
234
- 82, 79, 79, 79, 79, 79, 38, 128, 82, 87,
235
- 78, 89, 81, 40, 62, 105, 74, 105, 87, 80,
236
- 62, 81, 40, 76, 76, 76, 90, 100, 80, 37,
237
- 79, 84, 84, 84, 84, 84, 84, 84, 97, 79,
238
- 89, 85, 85, 85, 85, 85, 85, 85, 71, 89,
239
- 66, 46, 76, 66, 107, 90, 107, 71, 92, 68,
240
- 84, 76, 108, 43, 90, 91, 91, 91, 63, 84,
241
- 85, 39, 86, 86, 86, 86, 86, 86, 86, 85,
242
- 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
243
- 11, 11, 11, 126, 91, 126, 70, 36, 25, 17,
244
- 16, 86, 122, 91, 123, 125, 75, 77, 129, 11,
245
- 86, 88, 88, 88, 88, 88, 88, 88, 11, 132,
246
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
247
- 132, 132, 131, 15, 12, 8, 139, 7, nil, nil,
248
- 88, nil, nil, nil, nil, nil, nil, nil, 132, 88,
249
- 83, 83, 83, 83, 83, 83, 83, 132, 69, 69,
250
- 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
251
- 69, nil, nil, nil, nil, nil, nil, nil, nil, 83,
252
- nil, nil, nil, nil, nil, nil, nil, 69, 83, nil,
253
- nil, nil, 69, nil, nil, nil, 69, 61, 61, 61,
254
- 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
274
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
275
+ 94, 94, 94, 93, 93, 93, 93, 93, 93, 93,
276
+ 92, 92, 92, 92, 92, 72, 91, 54, 72, 94,
277
+ 94, 96, 96, 96, 96, 96, 96, 96, 83, 94,
278
+ 101, 38, 93, 89, 89, 89, 89, 89, 102, 92,
279
+ 112, 49, 93, 76, 88, 88, 88, 49, 83, 92,
280
+ 96, 97, 97, 97, 97, 97, 97, 97, 99, 101,
281
+ 96, 141, 89, 120, 39, 38, 44, 102, 99, 101,
282
+ 105, 141, 89, 88, 39, 69, 44, 102, 79, 69,
283
+ 97, 45, 67, 88, 103, 103, 103, 142, 79, 142,
284
+ 97, 146, 146, 146, 146, 146, 146, 146, 146, 146,
285
+ 146, 146, 146, 146, 98, 98, 98, 98, 98, 98,
286
+ 98, 41, 119, 103, 119, 116, 78, 116, 84, 26,
287
+ 146, 19, 16, 103, 135, 136, 15, 139, 140, 85,
288
+ 146, 90, 145, 98, 10, 100, 100, 100, 100, 100,
289
+ 100, 100, 8, 98, 12, 12, 12, 12, 12, 12,
290
+ 12, 12, 12, 12, 12, 12, 12, 7, 153, 3,
291
+ nil, nil, nil, nil, 100, nil, nil, nil, nil, nil,
292
+ nil, nil, nil, 12, 100, nil, nil, nil, nil, nil,
293
+ nil, nil, nil, 12, 81, 81, 81, 81, 81, 81,
294
+ 81, 81, 81, 81, 81, 81, 81, 77, 77, 77,
295
+ 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
296
+ nil, nil, nil, 81, nil, nil, nil, nil, nil, nil,
297
+ nil, 81, nil, 81, nil, nil, 77, nil, nil, nil,
298
+ nil, 77, nil, nil, nil, nil, 77, 129, 129, 129,
299
+ 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
300
+ 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
301
+ 71, 71, 71, nil, nil, nil, 129, 95, 95, 95,
302
+ 95, 95, 95, 95, nil, nil, 129, nil, nil, 71,
303
+ nil, nil, nil, nil, nil, nil, nil, 71, nil, 71,
304
+ nil, nil, nil, nil, nil, nil, 95, nil, nil, nil,
305
+ nil, nil, nil, nil, nil, nil, 95, 115, 115, 115,
255
306
  115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
256
- 115, 115, 115, nil, nil, nil, 61, nil, nil, nil,
257
- nil, nil, nil, nil, nil, 61, nil, nil, nil, 115,
258
- nil, nil, nil, nil, nil, nil, nil, nil, 115, 104,
259
- 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
260
- 104, 104, nil, 94, 94, nil, nil, nil, nil, nil,
261
- 112, 112, nil, 94, 94, nil, nil, nil, 104, nil,
262
- 112, 112, nil, 94, 94, 94, nil, 104, 94, 94,
263
- 112, 112, 112, 94, nil, 112, 112, 94, 111, 111,
264
- 112, nil, nil, nil, 112, nil, nil, nil, 111, 111,
265
- nil, nil, nil, nil, nil, 110, 110, nil, 111, 111,
266
- 111, nil, nil, 111, 111, 110, 110, nil, 111, 111,
267
- nil, nil, 111, nil, 110, 110, 110, 110, nil, nil,
268
- 110, 110, 44, 44, nil, 110, nil, nil, nil, 110,
269
- nil, nil, 44, 44, nil, nil, nil, nil, nil, 45,
270
- 45, 44, 44, 44, 44, nil, nil, 44, 44, 45,
271
- 45, nil, 44, nil, nil, nil, 44, 47, 47, 45,
272
- 45, 45, nil, nil, 45, 45, nil, 47, 47, 45,
273
- nil, nil, nil, 45, 48, 48, nil, 47, 47, 47,
274
- nil, nil, 47, 47, 48, 48, nil, 47, nil, nil,
275
- nil, 47, 49, 49, 48, 48, 48, nil, nil, 48,
276
- 48, nil, 49, 49, 48, nil, nil, nil, 48, 50,
277
- 50, nil, 49, 49, 49, nil, nil, 49, 49, 50,
278
- 50, nil, 49, nil, nil, nil, 49, 51, 51, 50,
279
- 50, 50, nil, nil, 50, 50, nil, 51, 51, 50,
280
- nil, nil, nil, 50, 52, 52, nil, 51, 51, 51,
281
- nil, nil, 51, 51, 52, 52, nil, 51, nil, nil,
282
- nil, 51, 53, 53, 52, 52, 52, nil, nil, 52,
283
- 52, nil, 53, 53, 52, nil, nil, nil, 52, 54,
284
- 54, nil, 53, 53, 53, nil, nil, 53, 53, 54,
285
- 54, nil, 53, nil, nil, nil, 53, 55, 55, 54,
286
- 54, 54, nil, nil, 54, 54, nil, 55, 55, 54,
287
- nil, nil, nil, 54, 56, 56, nil, 55, 55, 55,
288
- nil, nil, 55, 55, 56, 56, nil, 55, nil, nil,
289
- nil, 55, 57, 57, 56, 56, 56, nil, nil, 56,
290
- 56, nil, 57, 57, 56, nil, nil, nil, 56, 58,
291
- 58, nil, 57, 57, 57, nil, nil, 57, 57, 58,
292
- 58, nil, 57, nil, nil, nil, 57, 59, 59, 58,
293
- 58, 58, nil, nil, 58, 58, nil, 59, 59, 58,
294
- nil, nil, nil, 58, 60, 60, nil, 59, 59, 59,
295
- nil, nil, 59, 59, 60, 60, nil, 59, nil, nil,
296
- nil, 59, nil, 60, 60, 60, 60, nil, nil, 60,
297
- 60, 35, 35, nil, 60, nil, nil, nil, 60, nil,
298
- nil, 35, 35, nil, nil, nil, nil, nil, nil, 116,
299
- 116, 35, 35, 35, nil, nil, 35, 35, nil, 116,
300
- 116, 35, nil, 116, 116, 35, 116, 116, 116, 116,
301
- 116, 116, 116, nil, 116, 116, nil, 116, nil, 116,
302
- 99, 99, nil, 116, nil, nil, nil, nil, nil, nil,
303
- 99, 99, nil, nil, 99, 99, nil, 99, 99, 99,
304
- 99, 99, 99, 99, nil, 99, 99, nil, 99, nil,
305
- 99, 64, 64, nil, 99, nil, nil, nil, nil, nil,
306
- nil, 64, 64, nil, 64, 64, 64, nil, 64, 64,
307
- 64, 64, 64, 64, 64, nil, 64, 64, nil, 64,
308
- nil, 64, 65, 65, nil, 64, nil, nil, nil, nil,
309
- nil, nil, 65, 65, nil, nil, nil, nil, nil, nil,
310
- nil, 65, 65, 65, 65, nil, nil, 65, 65, 114,
311
- 114, nil, 65, nil, nil, nil, 65, nil, nil, 114,
312
- 114, nil, nil, 114, 114, nil, 114, 114, 114, 114,
313
- 114, 114, 114, nil, 114, 114, nil, 114, nil, 114,
314
- 23, 23, nil, 114, nil, nil, nil, nil, nil, nil,
315
- 23, 23, nil, nil, nil, nil, nil, nil, 21, 21,
316
- 23, 23, 23, nil, nil, 23, 23, nil, 21, 21,
317
- 23, nil, 21, 21, 23, 21, 21, 21, 21, 21,
318
- 21, 21, nil, 21, 21, nil, 21, nil, 21, 20,
319
- 20, nil, 21, nil, nil, nil, nil, nil, nil, 20,
320
- 20, nil, nil, 20, 20, nil, 20, 20, 20, 20,
321
- 20, 20, 20, nil, 20, 20, nil, 20, nil, 20,
322
- 118, 118, nil, 20, nil, nil, nil, nil, nil, nil,
323
- 118, 118, nil, nil, nil, nil, nil, 72, 72, 118,
324
- 118, 118, 118, nil, nil, 118, 118, 72, 72, nil,
325
- 118, nil, nil, nil, 118, nil, 72, 72, 72, 72,
326
- nil, nil, 72, 72, 73, 73, nil, 72, nil, nil,
327
- nil, 72, nil, nil, 73, 73, nil, nil, nil, nil,
328
- nil, 121, 121, nil, 73, 73, 73, nil, nil, 73,
329
- 73, 121, 121, nil, 73, 73, nil, nil, 73, 13,
330
- 13, 121, 121, 121, nil, nil, 121, 121, nil, 13,
331
- 13, 121, nil, nil, nil, 121, 135, 135, nil, 13,
332
- 13, 13, nil, nil, 13, 13, 135, 135, nil, 13,
333
- nil, nil, nil, 13, nil, 135, 135, 135, 135, nil,
334
- nil, 135, 135, 137, 137, nil, 135, nil, nil, nil,
335
- 135, nil, nil, 137, 137, nil, nil, 137, 137, nil,
336
- 137, 137, 137, 137, 137, 137, 137, nil, 137, 137,
337
- nil, 137, nil, 137, 141, 141, nil, 137, nil, nil,
338
- nil, nil, nil, nil, 141, 141, nil, nil, 141, 141,
339
- nil, 141, 141, 141, 141, 141, 141, 141, nil, 141,
340
- 141, nil, 141, nil, 141, 4, 4, nil, 141, nil,
341
- nil, nil, 3, 3, nil, 4, 4, nil, nil, nil,
342
- nil, nil, 3, 3, 4, 4, 4, 4, nil, nil,
343
- 4, 4, 3, 3, 3, 4, nil, 3, 3, 4,
344
- 2, 2, 3, nil, nil, nil, 3, nil, nil, nil,
345
- 2, 2, nil, nil, nil, nil, nil, nil, 0, 0,
346
- 2, 2, 2, nil, nil, 2, 2, nil, 0, 0,
347
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0,
348
- 0, 0, nil, 0, 0, nil, 0, nil, 0, 102,
349
- 102, nil, 0, nil, nil, nil, nil, nil, nil, 102,
350
- 102, nil, nil, nil, nil, nil, nil, nil, 102, 102,
351
- 102, 102, nil, nil, 102, 102, nil, nil, nil, 102,
352
- nil, nil, nil, 102 ]
307
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
308
+ 50, 50, 50, nil, nil, nil, 115, nil, nil, nil,
309
+ nil, nil, nil, nil, nil, nil, 115, nil, nil, 50,
310
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 50,
311
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
312
+ 123, 123, 123, nil, nil, nil, nil, nil, nil, nil,
313
+ nil, nil, nil, 75, 75, nil, nil, nil, nil, 123,
314
+ nil, nil, nil, 75, 75, nil, 75, 75, 75, 123,
315
+ 75, 75, 75, 75, 75, 75, 75, nil, 75, 75,
316
+ nil, 75, nil, 75, 124, 124, nil, nil, 75, nil,
317
+ nil, nil, nil, nil, 124, 124, nil, nil, nil, nil,
318
+ nil, nil, nil, nil, 124, 124, 124, 122, 122, 124,
319
+ 124, nil, 124, nil, 124, nil, nil, 122, 122, 124,
320
+ nil, 122, 122, nil, 122, 122, 122, 122, 122, 122,
321
+ 122, nil, 122, 122, nil, 122, nil, 122, 47, 47,
322
+ nil, nil, 122, nil, nil, nil, nil, nil, 47, 47,
323
+ nil, nil, nil, nil, nil, nil, nil, 47, 47, 47,
324
+ 47, 48, 48, 47, 47, nil, 47, nil, 47, nil,
325
+ nil, 48, 48, 47, nil, nil, nil, nil, nil, nil,
326
+ 48, 48, 48, 48, 121, 121, 48, 48, nil, 48,
327
+ nil, 48, nil, nil, 121, 121, 48, nil, nil, nil,
328
+ nil, nil, nil, 121, 121, 121, 121, 40, 40, 121,
329
+ 121, nil, 121, nil, 121, nil, nil, 40, 40, 121,
330
+ nil, nil, nil, nil, nil, nil, nil, 40, 40, 40,
331
+ 52, 52, 40, 40, nil, 40, 40, 40, nil, nil,
332
+ 52, 52, 40, nil, nil, nil, nil, nil, nil, nil,
333
+ 52, 52, 52, 53, 53, 52, 52, nil, 52, nil,
334
+ 52, nil, nil, 53, 53, 52, nil, nil, nil, nil,
335
+ nil, nil, nil, 53, 53, 53, 125, 125, 53, 53,
336
+ nil, 53, nil, 53, nil, nil, 125, 125, 53, nil,
337
+ nil, nil, nil, nil, nil, nil, 125, 125, 125, 55,
338
+ 55, 125, 125, nil, 125, nil, 125, 125, nil, 55,
339
+ 55, 125, nil, nil, nil, nil, nil, nil, nil, 55,
340
+ 55, 55, 56, 56, 55, 55, nil, 55, nil, 55,
341
+ nil, nil, 56, 56, 55, nil, nil, nil, nil, nil,
342
+ nil, nil, 56, 56, 56, 57, 57, 56, 56, nil,
343
+ 56, nil, 56, nil, nil, 57, 57, 56, nil, nil,
344
+ nil, nil, nil, nil, nil, 57, 57, 57, 58, 58,
345
+ 57, 57, nil, 57, nil, 57, nil, nil, 58, 58,
346
+ 57, nil, nil, nil, nil, nil, nil, nil, 58, 58,
347
+ 58, 59, 59, 58, 58, nil, 58, nil, 58, nil,
348
+ nil, 59, 59, 58, nil, nil, nil, nil, nil, nil,
349
+ nil, 59, 59, 59, 60, 60, 59, 59, nil, 59,
350
+ nil, 59, nil, nil, 60, 60, 59, nil, nil, nil,
351
+ nil, nil, nil, nil, 60, 60, 60, 61, 61, 60,
352
+ 60, nil, 60, nil, 60, nil, nil, 61, 61, 60,
353
+ nil, nil, nil, nil, nil, nil, nil, 61, 61, 61,
354
+ 62, 62, 61, 61, nil, 61, nil, 61, nil, nil,
355
+ 62, 62, 61, nil, nil, nil, nil, nil, nil, nil,
356
+ 62, 62, 62, 63, 63, 62, 62, nil, 62, nil,
357
+ 62, nil, nil, 63, 63, 62, nil, nil, nil, nil,
358
+ nil, nil, nil, 63, 63, 63, 64, 64, 63, 63,
359
+ nil, 63, nil, 63, nil, nil, 64, 64, 63, nil,
360
+ nil, nil, nil, nil, nil, nil, 64, 64, 64, 65,
361
+ 65, 64, 64, nil, 64, nil, 64, nil, nil, 65,
362
+ 65, 64, nil, nil, nil, nil, nil, nil, nil, 65,
363
+ 65, 65, 66, 66, 65, 65, nil, 65, nil, 65,
364
+ nil, nil, 66, 66, 65, nil, nil, nil, nil, nil,
365
+ nil, nil, 66, 66, 66, 127, 127, 66, 66, nil,
366
+ 66, nil, 66, nil, nil, 127, 127, 66, nil, 127,
367
+ 127, nil, 127, 127, 127, 127, 127, 127, 127, nil,
368
+ 127, 127, nil, 127, nil, 127, 68, 68, nil, nil,
369
+ 127, nil, nil, nil, nil, nil, 68, 68, nil, nil,
370
+ nil, nil, nil, nil, nil, 68, 68, 68, 68, 110,
371
+ 110, 68, 68, nil, 68, nil, 68, nil, nil, 110,
372
+ 110, 68, nil, 110, 110, nil, 110, 110, 110, 110,
373
+ 110, 110, 110, nil, 110, 110, nil, 110, nil, 110,
374
+ 36, 36, nil, nil, 110, nil, nil, nil, nil, nil,
375
+ 36, 36, nil, nil, nil, nil, nil, nil, nil, nil,
376
+ 36, 36, 36, 108, 108, 36, 36, nil, 36, nil,
377
+ 36, nil, nil, 108, 108, 36, nil, nil, nil, nil,
378
+ nil, nil, nil, 108, 108, 108, 43, 43, 108, 108,
379
+ nil, 108, nil, 108, nil, nil, 43, 43, 108, nil,
380
+ nil, nil, nil, nil, nil, 43, 43, 43, 43, 107,
381
+ 107, 43, 43, nil, 43, nil, 43, nil, nil, 107,
382
+ 107, 43, nil, nil, nil, nil, nil, nil, nil, 107,
383
+ 107, 107, 24, 24, 107, 107, nil, 107, nil, 107,
384
+ nil, nil, 24, 24, 107, nil, nil, nil, nil, nil,
385
+ nil, nil, 24, 24, 24, 20, 20, 24, 24, nil,
386
+ 24, nil, 24, nil, nil, 20, 20, 24, nil, 20,
387
+ 20, nil, 20, 20, 20, 20, 20, 20, 20, nil,
388
+ 20, 20, nil, 20, nil, 20, 131, 131, nil, nil,
389
+ 20, nil, nil, nil, nil, nil, 131, 131, nil, nil,
390
+ nil, nil, nil, nil, nil, 131, 131, 131, 131, 80,
391
+ 80, 131, 131, nil, 131, nil, 131, nil, nil, 80,
392
+ 80, 131, nil, nil, nil, nil, nil, nil, nil, 80,
393
+ 80, 80, 18, 18, 80, 80, nil, 80, nil, 80,
394
+ 80, nil, 18, 18, 80, nil, 18, 18, nil, 18,
395
+ 18, 18, 18, 18, 18, 18, nil, 18, 18, nil,
396
+ 18, 18, 18, 134, 134, nil, nil, 18, nil, nil,
397
+ nil, nil, nil, 134, 134, nil, nil, nil, nil, nil,
398
+ nil, nil, nil, 134, 134, 134, 138, 138, 134, 134,
399
+ nil, 134, nil, 134, nil, nil, 138, 138, 134, nil,
400
+ 138, 138, nil, 138, 138, 138, 138, 138, 138, 138,
401
+ nil, 138, 138, nil, 138, nil, 138, 11, 11, nil,
402
+ nil, 138, nil, nil, nil, nil, nil, 11, 11, nil,
403
+ nil, nil, nil, nil, nil, nil, nil, 11, 11, 11,
404
+ 87, 87, 11, 11, 11, 11, nil, 11, nil, nil,
405
+ 87, 87, 11, nil, nil, nil, nil, nil, nil, nil,
406
+ 87, 87, 87, 149, 149, 87, 87, nil, 87, nil,
407
+ 87, nil, nil, 149, 149, 87, nil, nil, nil, nil,
408
+ nil, nil, 149, 149, 149, 149, 150, 150, 149, 149,
409
+ nil, 149, nil, 149, nil, nil, 150, 150, 149, nil,
410
+ 150, 150, nil, 150, 150, 150, 150, 150, 150, 150,
411
+ nil, 150, 150, nil, 150, nil, 150, 5, 5, nil,
412
+ nil, 150, nil, nil, nil, nil, nil, 5, 5, nil,
413
+ nil, nil, nil, nil, nil, nil, nil, 5, 5, 5,
414
+ 155, 155, 5, 5, nil, 5, nil, 5, nil, nil,
415
+ 155, 155, 5, nil, 155, 155, nil, 155, 155, 155,
416
+ 155, 155, 155, 155, nil, 155, 155, nil, 155, nil,
417
+ 155, 2, 2, nil, nil, 155, nil, nil, nil, nil,
418
+ nil, 2, 2, nil, nil, nil, nil, nil, nil, nil,
419
+ 2, 2, 2, 2, 1, 1, 2, 2, nil, 2,
420
+ nil, 2, nil, nil, 1, 1, 2, nil, nil, nil,
421
+ nil, nil, nil, nil, 1, 1, 1, 0, 0, 1,
422
+ 1, nil, 1, nil, 1, nil, nil, 0, 0, 1,
423
+ 0, 0, 0, nil, 0, 0, 0, 0, 0, 0,
424
+ 0, nil, 0, 0, nil, 0, nil, 0, 114, 114,
425
+ nil, nil, 0, nil, nil, nil, nil, nil, 114, 114,
426
+ nil, nil, nil, nil, nil, nil, nil, 114, 114, 114,
427
+ 114, nil, nil, 114, 114, nil, 114, nil, 114, nil,
428
+ nil, nil, nil, 114 ]
353
429
 
354
430
  racc_action_pointer = [
355
- 1138, nil, 1120, 1092, 1085, nil, nil, 146, 125, nil,
356
- nil, 103, 124, 979, nil, 163, 88, 89, nil, nil,
357
- 869, 838, nil, 820, nil, 107, nil, nil, nil, nil,
358
- nil, nil, nil, nil, nil, 651, 121, 19, -9, 61,
359
- 7, nil, nil, 53, 362, 379, 60, 397, 414, 432,
360
- 449, 467, 484, 502, 519, 537, 554, 572, 589, 607,
361
- 624, 220, 7, 98, 731, 762, 41, nil, 62, 181,
362
- 120, 42, 917, 944, 5, 94, 46, 97, 34, 24,
363
- 13, 6, -7, 173, 54, 64, 95, 3, 134, 34,
364
- 49, 88, 47, nil, 283, nil, nil, 27, nil, 700,
365
- 17, nil, 1169, nil, 272, 4, nil, 43, 54, nil,
366
- 335, 318, 290, nil, 789, 233, 669, nil, 900, nil,
367
- nil, 961, 94, 113, nil, 93, 82, nil, -8, 112,
368
- nil, 121, 142, nil, nil, 996, nil, 1023, nil, 125,
369
- nil, 1054, nil ]
431
+ 1467, 1444, 1421, 163, nil, 1367, nil, 146, 112, nil,
432
+ 104, 1267, 147, nil, nil, 136, 92, nil, 1182, 89,
433
+ 1105, nil, nil, nil, 1082, nil, 108, nil, nil, nil,
434
+ nil, nil, nil, nil, nil, nil, 990, nil, 35, 38,
435
+ 537, 81, nil, 1036, 40, 51, nil, 468, 491, 14,
436
+ 323, nil, 560, 583, 6, 629, 652, 675, 698, 721,
437
+ 744, 767, 790, 813, 836, 859, 882, 92, 936, 46,
438
+ nil, 253, -14, nil, nil, 383, 26, 200, 120, 52,
439
+ 1159, 187, nil, 17, 86, 98, nil, 1290, 47, 36,
440
+ 135, -14, 13, 6, -7, 270, 24, 54, 107, 32,
441
+ 138, 33, 41, 87, nil, 39, nil, 1059, 1013, nil,
442
+ 959, nil, 10, nil, 1498, 310, 84, nil, nil, 81,
443
+ 35, 514, 437, 363, 414, 606, nil, 905, nil, 240,
444
+ nil, 1136, nil, nil, 1213, 96, 114, nil, 1236, 95,
445
+ 112, 35, 56, nil, nil, 101, 94, nil, nil, 1313,
446
+ 1336, nil, nil, 127, nil, 1390, nil ]
370
447
 
371
448
  racc_action_default = [
372
- -2, -44, -72, -72, -72, -24, -45, -72, -72, -50,
373
- -48, -16, -72, -72, -23, -72, -1, -72, -46, -25,
374
- -72, -72, -26, -72, -27, -72, -7, -64, -28, -5,
375
- -65, -63, -61, -6, -62, -72, -72, -47, -40, -47,
376
- -39, -29, -71, -72, -72, -72, -72, -72, -72, -72,
377
- -72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
378
- -72, -31, -72, -72, -9, -72, -72, -19, -72, -72,
379
- -72, -41, -72, -72, -72, -72, -34, -71, -57, -42,
380
- -43, -52, -72, -51, -55, -56, -53, -37, -54, -35,
381
- -36, -33, -72, -30, -72, 143, -8, -72, -22, -21,
382
- -72, -49, -72, -17, -14, -72, -3, -72, -72, -12,
383
- -72, -72, -72, -38, -72, -32, -72, -20, -72, -18,
384
- -4, -72, -72, -72, -10, -72, -72, -60, -58, -67,
385
- -69, -72, -15, -11, -13, -72, -59, -72, -70, -72,
386
- -66, -72, -68 ]
449
+ -2, -79, -79, -79, -70, -79, -24, -79, -79, -54,
450
+ -79, -79, -16, -50, -23, -79, -79, -51, -79, -1,
451
+ -79, -56, -52, -25, -79, -26, -79, -71, -27, -7,
452
+ -72, -67, -28, -5, -69, -68, -79, -6, -53, -46,
453
+ -79, -53, -29, -79, -45, -79, -78, -79, -79, -79,
454
+ -32, -30, -79, -79, -79, -79, -79, -79, -79, -79,
455
+ -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
456
+ -37, -16, -79, -34, -19, -9, -79, -79, -79, -47,
457
+ -79, -79, -17, -79, -79, -79, -31, -79, -40, -48,
458
+ -63, -78, -49, -58, -79, -57, -61, -62, -59, -43,
459
+ -60, -41, -42, -39, 157, -79, -35, -79, -79, -22,
460
+ -21, -8, -79, -55, -79, -14, -79, -3, -12, -79,
461
+ -79, -79, -79, -33, -79, -79, -44, -79, -38, -36,
462
+ -20, -79, -18, -4, -79, -79, -79, -10, -79, -79,
463
+ -74, -64, -79, -66, -76, -79, -15, -11, -13, -79,
464
+ -79, -65, -77, -79, -73, -79, -75 ]
387
465
 
388
466
  racc_goto_table = [
389
- 41, 67, 68, 43, 124, 105, 15, 26, 107, 16,
390
- 66, 62, nil, nil, nil, nil, nil, nil, 133, nil,
391
- nil, 70, nil, nil, nil, nil, nil, nil, nil, nil,
392
- nil, nil, nil, nil, nil, nil, 38, 40, nil, nil,
393
- 75, nil, 78, 126, nil, nil, nil, 61, nil, nil,
394
- nil, nil, nil, nil, nil, nil, 92, 69, nil, nil,
395
- nil, 97, nil, nil, nil, nil, nil, nil, 103, 71,
396
- 109, 96, nil, nil, nil, nil, nil, nil, nil, 76,
397
- 117, 79, 80, 81, 82, 83, 84, 85, 86, 87,
398
- 88, 89, 90, 91, nil, 129, nil, 130, 119, nil,
399
- nil, nil, nil, nil, nil, nil, 125, 104, nil, nil,
400
- nil, nil, nil, nil, 131, nil, nil, nil, 140, 134,
401
- nil, nil, 142, nil, nil, nil, nil, nil, 115, nil,
402
- nil, 139, nil, nil, nil, nil, nil, nil, nil, nil,
403
- nil, nil, nil, nil, nil, 104, 128, nil, nil, nil,
404
- nil, nil, nil, nil, nil, 132 ]
467
+ 42, 74, 116, 76, 137, 15, 45, 119, 29, 19,
468
+ 49, 128, nil, nil, nil, nil, 39, nil, nil, 147,
469
+ 44, nil, nil, nil, nil, 78, 50, nil, nil, nil,
470
+ nil, nil, nil, 71, nil, nil, nil, nil, nil, 77,
471
+ nil, 82, nil, nil, nil, 84, 85, 142, nil, nil,
472
+ nil, 79, nil, 90, nil, 81, nil, nil, nil, nil,
473
+ nil, nil, nil, nil, nil, nil, 105, 88, 89, nil,
474
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
475
+ 102, 103, 118, 111, nil, nil, nil, nil, nil, nil,
476
+ nil, nil, nil, 130, nil, 115, nil, nil, nil, nil,
477
+ nil, nil, 123, nil, nil, 140, nil, nil, nil, nil,
478
+ 144, nil, 132, nil, nil, nil, nil, nil, nil, 139,
479
+ nil, 74, 81, 129, nil, nil, nil, nil, nil, 145,
480
+ nil, nil, nil, 154, nil, 148, nil, nil, 156, 141,
481
+ 115, nil, nil, nil, nil, nil, nil, 153, nil, 146 ]
405
482
 
406
483
  racc_goto_check = [
407
- 12, 6, 6, 8, 9, 4, 1, 5, 10, 2,
408
- 13, 19, nil, nil, nil, nil, nil, nil, 9, nil,
409
- nil, 8, nil, nil, nil, nil, nil, nil, nil, nil,
410
- nil, nil, nil, nil, nil, nil, 11, 11, nil, nil,
411
- 12, nil, 8, 4, nil, nil, nil, 11, nil, nil,
412
- nil, nil, nil, nil, nil, nil, 12, 11, nil, nil,
413
- nil, 12, nil, nil, nil, nil, nil, nil, 12, 11,
414
- 8, 5, nil, nil, nil, nil, nil, nil, nil, 11,
415
- 6, 11, 11, 11, 11, 11, 11, 11, 11, 11,
416
- 11, 11, 11, 11, nil, 6, nil, 6, 12, nil,
417
- nil, nil, nil, nil, nil, nil, 12, 11, nil, nil,
418
- nil, nil, nil, nil, 12, nil, nil, nil, 6, 8,
419
- nil, nil, 6, nil, nil, nil, nil, nil, 11, nil,
420
- nil, 12, nil, nil, nil, nil, nil, nil, nil, nil,
421
- nil, nil, nil, nil, nil, 11, 11, nil, nil, nil,
422
- nil, nil, nil, nil, nil, 11 ]
484
+ 12, 6, 4, 6, 9, 1, 8, 10, 5, 2,
485
+ 19, 22, nil, nil, nil, nil, 11, nil, nil, 9,
486
+ 11, nil, nil, nil, nil, 8, 11, nil, nil, nil,
487
+ nil, nil, nil, 11, nil, nil, nil, nil, nil, 11,
488
+ nil, 12, nil, nil, nil, 12, 12, 4, nil, nil,
489
+ nil, 11, nil, 8, nil, 11, nil, nil, nil, nil,
490
+ nil, nil, nil, nil, nil, nil, 12, 11, 11, nil,
491
+ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
492
+ 11, 11, 8, 5, nil, nil, nil, nil, nil, nil,
493
+ nil, nil, nil, 6, nil, 11, nil, nil, nil, nil,
494
+ nil, nil, 11, nil, nil, 6, nil, nil, nil, nil,
495
+ 6, nil, 12, nil, nil, nil, nil, nil, nil, 12,
496
+ nil, 6, 11, 11, nil, nil, nil, nil, nil, 12,
497
+ nil, nil, nil, 6, nil, 8, nil, nil, 6, 11,
498
+ 11, nil, nil, nil, nil, nil, nil, 12, nil, 11 ]
423
499
 
424
500
  racc_goto_pointer = [
425
- nil, 6, 9, nil, -68, 7, -19, nil, -4, -104,
426
- -66, 34, -4, -10, nil, nil, nil, nil, nil, -2,
427
- nil, nil, nil ]
501
+ nil, 5, 9, nil, -78, 8, -17, nil, -1, -116,
502
+ -76, 15, -2, nil, nil, nil, nil, nil, nil, -1,
503
+ nil, nil, -96, nil, nil, nil ]
428
504
 
429
505
  racc_goto_default = [
430
- nil, nil, nil, 18, nil, nil, 29, 33, 36, 5,
431
- nil, 11, 14, nil, 19, 22, 24, 28, 31, nil,
432
- 1, 6, 9 ]
506
+ nil, nil, nil, 22, nil, nil, 33, 37, 3, 6,
507
+ nil, 12, 14, 72, 23, 25, 28, 32, 34, nil,
508
+ 4, 69, 70, 13, 17, 21 ]
433
509
 
434
510
  racc_reduce_table = [
435
511
  0, 0, :racc_error,
436
- 1, 47, :_reduce_none,
437
- 0, 47, :_reduce_2,
438
- 3, 49, :_reduce_3,
439
- 4, 49, :_reduce_4,
440
- 1, 51, :_reduce_none,
441
- 1, 51, :_reduce_none,
442
- 1, 48, :_reduce_7,
443
- 3, 48, :_reduce_8,
444
- 2, 48, :_reduce_none,
445
- 5, 53, :_reduce_10,
446
- 6, 53, :_reduce_11,
447
- 1, 56, :_reduce_12,
448
- 3, 56, :_reduce_13,
449
- 1, 50, :_reduce_14,
450
- 3, 50, :_reduce_15,
451
- 1, 58, :_reduce_none,
452
- 3, 58, :_reduce_17,
453
- 4, 58, :_reduce_18,
454
- 1, 59, :_reduce_19,
455
- 3, 59, :_reduce_20,
456
- 2, 59, :_reduce_none,
457
- 3, 55, :_reduce_22,
458
- 1, 52, :_reduce_none,
512
+ 1, 48, :_reduce_none,
513
+ 0, 48, :_reduce_2,
514
+ 3, 50, :_reduce_3,
515
+ 4, 50, :_reduce_4,
459
516
  1, 52, :_reduce_none,
460
517
  1, 52, :_reduce_none,
461
- 1, 52, :_reduce_none,
462
- 1, 52, :_reduce_none,
463
- 1, 52, :_reduce_none,
464
- 2, 63, :_reduce_29,
465
- 3, 64, :_reduce_30,
466
- 1, 65, :_reduce_31,
467
- 3, 65, :_reduce_32,
468
- 3, 57, :_reduce_33,
469
- 3, 57, :_reduce_34,
470
- 3, 57, :_reduce_35,
471
- 3, 57, :_reduce_36,
472
- 3, 57, :_reduce_37,
473
- 4, 57, :_reduce_38,
474
- 2, 57, :_reduce_39,
475
- 2, 57, :_reduce_40,
476
- 2, 57, :_reduce_none,
477
- 3, 57, :_reduce_42,
478
- 3, 57, :_reduce_43,
479
- 1, 57, :_reduce_none,
480
- 1, 57, :_reduce_none,
481
- 1, 57, :_reduce_none,
482
- 1, 57, :_reduce_47,
483
- 1, 57, :_reduce_48,
484
- 3, 57, :_reduce_49,
485
- 1, 57, :_reduce_none,
486
- 3, 66, :_reduce_51,
487
- 3, 66, :_reduce_52,
488
- 3, 66, :_reduce_53,
489
- 3, 66, :_reduce_54,
490
- 3, 66, :_reduce_55,
491
- 3, 66, :_reduce_56,
492
- 3, 67, :_reduce_57,
493
- 5, 67, :_reduce_58,
494
- 6, 67, :_reduce_59,
495
- 5, 67, :_reduce_60,
496
- 1, 68, :_reduce_61,
497
- 1, 68, :_reduce_62,
498
- 1, 68, :_reduce_none,
499
- 1, 68, :_reduce_64,
500
- 1, 68, :_reduce_65,
501
- 7, 61, :_reduce_66,
502
- 5, 61, :_reduce_67,
503
- 9, 60, :_reduce_68,
504
- 5, 62, :_reduce_69,
505
- 6, 62, :_reduce_70,
506
- 1, 54, :_reduce_71 ]
507
-
508
- racc_reduce_n = 72
509
-
510
- racc_shift_n = 143
518
+ 1, 49, :_reduce_7,
519
+ 3, 49, :_reduce_8,
520
+ 2, 49, :_reduce_none,
521
+ 5, 54, :_reduce_10,
522
+ 6, 54, :_reduce_11,
523
+ 1, 57, :_reduce_12,
524
+ 3, 57, :_reduce_13,
525
+ 1, 51, :_reduce_14,
526
+ 3, 51, :_reduce_15,
527
+ 1, 59, :_reduce_none,
528
+ 3, 59, :_reduce_17,
529
+ 4, 59, :_reduce_18,
530
+ 1, 60, :_reduce_19,
531
+ 3, 60, :_reduce_20,
532
+ 2, 60, :_reduce_none,
533
+ 3, 56, :_reduce_22,
534
+ 1, 53, :_reduce_none,
535
+ 1, 53, :_reduce_none,
536
+ 1, 53, :_reduce_none,
537
+ 1, 53, :_reduce_none,
538
+ 1, 53, :_reduce_none,
539
+ 1, 53, :_reduce_none,
540
+ 2, 64, :_reduce_29,
541
+ 2, 65, :_reduce_30,
542
+ 3, 65, :_reduce_31,
543
+ 1, 66, :_reduce_32,
544
+ 3, 66, :_reduce_33,
545
+ 2, 67, :_reduce_34,
546
+ 3, 67, :_reduce_35,
547
+ 3, 69, :_reduce_36,
548
+ 1, 68, :_reduce_37,
549
+ 3, 68, :_reduce_38,
550
+ 3, 58, :_reduce_39,
551
+ 3, 58, :_reduce_40,
552
+ 3, 58, :_reduce_41,
553
+ 3, 58, :_reduce_42,
554
+ 3, 58, :_reduce_43,
555
+ 4, 58, :_reduce_44,
556
+ 2, 58, :_reduce_45,
557
+ 2, 58, :_reduce_46,
558
+ 2, 58, :_reduce_none,
559
+ 3, 58, :_reduce_48,
560
+ 3, 58, :_reduce_49,
561
+ 1, 58, :_reduce_none,
562
+ 1, 58, :_reduce_none,
563
+ 1, 58, :_reduce_none,
564
+ 1, 58, :_reduce_53,
565
+ 1, 58, :_reduce_54,
566
+ 3, 58, :_reduce_55,
567
+ 1, 58, :_reduce_none,
568
+ 3, 70, :_reduce_57,
569
+ 3, 70, :_reduce_58,
570
+ 3, 70, :_reduce_59,
571
+ 3, 70, :_reduce_60,
572
+ 3, 70, :_reduce_61,
573
+ 3, 70, :_reduce_62,
574
+ 3, 71, :_reduce_63,
575
+ 5, 71, :_reduce_64,
576
+ 6, 71, :_reduce_65,
577
+ 5, 71, :_reduce_66,
578
+ 1, 72, :_reduce_67,
579
+ 1, 72, :_reduce_68,
580
+ 1, 72, :_reduce_none,
581
+ 1, 72, :_reduce_none,
582
+ 1, 72, :_reduce_71,
583
+ 1, 72, :_reduce_72,
584
+ 7, 62, :_reduce_73,
585
+ 5, 62, :_reduce_74,
586
+ 9, 61, :_reduce_75,
587
+ 5, 63, :_reduce_76,
588
+ 6, 63, :_reduce_77,
589
+ 1, 55, :_reduce_78 ]
590
+
591
+ racc_reduce_n = 79
592
+
593
+ racc_shift_n = 157
511
594
 
512
595
  racc_token_table = {
513
596
  false => 0,
@@ -554,10 +637,11 @@ racc_token_table = {
554
637
  ")" => 41,
555
638
  ";" => 42,
556
639
  "," => 43,
557
- "!" => 44,
558
- "." => 45 }
640
+ ":" => 44,
641
+ "!" => 45,
642
+ "." => 46 }
559
643
 
560
- racc_nt_base = 46
644
+ racc_nt_base = 47
561
645
 
562
646
  racc_use_result_var = true
563
647
 
@@ -622,6 +706,7 @@ Racc_token_to_s_table = [
622
706
  "\")\"",
623
707
  "\";\"",
624
708
  "\",\"",
709
+ "\":\"",
625
710
  "\"!\"",
626
711
  "\".\"",
627
712
  "$start",
@@ -644,6 +729,9 @@ Racc_token_to_s_table = [
644
729
  "return",
645
730
  "array",
646
731
  "array_content",
732
+ "hash",
733
+ "hash_content",
734
+ "hash_element",
647
735
  "comp",
648
736
  "objcall",
649
737
  "const" ]
@@ -815,251 +903,302 @@ module_eval(<<'.,.,', 'ecma.y', 92)
815
903
  end
816
904
  .,.,
817
905
 
818
- module_eval(<<'.,.,', 'ecma.y', 95)
906
+ module_eval(<<'.,.,', 'ecma.y', 94)
819
907
  def _reduce_30(val, _values, result)
908
+ result = RVM::Interpreter.const(:list, [])
909
+ result
910
+ end
911
+ .,.,
912
+
913
+ module_eval(<<'.,.,', 'ecma.y', 96)
914
+ def _reduce_31(val, _values, result)
820
915
  seq = RVM::Interpreter::Sequence.new()
821
- seq << RVM::Interpreter::Assignment.new(RVM::Interpreter.const(:string,'!temp'), RVM::Interpreter.const(:list, Array.new(val[1].size)))
916
+ seq << RVM::Interpreter::Assignment.new(RVM::Interpreter.const(:string,"!array-#{val[1].hash}"), RVM::Interpreter.const(:list, Array.new(val[1].size)))
822
917
  val[1].size.times do |i|
823
- seq << RVM::Interpreter::FunctionCall.new(:set_at, [RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,'!temp')), RVM::Interpreter.const(:number,val[1].size - i - 1), val[1][i]])
918
+ seq << RVM::Interpreter::FunctionCall.new(:set_at, [RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,"!array-#{val[1].hash}")), RVM::Interpreter.const(:number,val[1].size - i - 1), val[1][i]])
824
919
  end
825
- seq << RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,'!temp'))
920
+ seq << RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,"!array-#{val[1].hash}"))
826
921
  result = RVM::Interpreter::Block.new(seq)
827
922
 
828
923
  result
829
924
  end
830
925
  .,.,
831
926
 
832
- module_eval(<<'.,.,', 'ecma.y', 104)
833
- def _reduce_31(val, _values, result)
927
+ module_eval(<<'.,.,', 'ecma.y', 105)
928
+ def _reduce_32(val, _values, result)
834
929
  result = [result]
835
930
  result
836
931
  end
837
932
  .,.,
838
933
 
839
- module_eval(<<'.,.,', 'ecma.y', 105)
840
- def _reduce_32(val, _values, result)
934
+ module_eval(<<'.,.,', 'ecma.y', 106)
935
+ def _reduce_33(val, _values, result)
841
936
  result.unshift val[2]
842
937
  result
843
938
  end
844
939
  .,.,
845
940
 
846
- module_eval(<<'.,.,', 'ecma.y', 107)
847
- def _reduce_33(val, _values, result)
941
+ module_eval(<<'.,.,', 'ecma.y', 108)
942
+ def _reduce_34(val, _values, result)
943
+ result = RVM::Interpreter.const(:association, nil)
944
+ result
945
+ end
946
+ .,.,
947
+
948
+ module_eval(<<'.,.,', 'ecma.y', 110)
949
+ def _reduce_35(val, _values, result)
950
+ seq = RVM::Interpreter::Sequence.new()
951
+ seq << RVM::Interpreter::Assignment.new(RVM::Interpreter.const(:string, "!hash-#{val[1].hash}"), RVM::Interpreter.const(:association, nil))
952
+ val[1].each do |k,v|
953
+ seq << RVM::Interpreter::FunctionCall.new(:assoc_set, [RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string, "!hash-#{val[1].hash}")), k, v])
954
+ end
955
+ seq << RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string, "!hash-#{val[1].hash}"))
956
+ result = RVM::Interpreter::Block.new(seq)
957
+
958
+ result
959
+ end
960
+ .,.,
961
+
962
+ module_eval(<<'.,.,', 'ecma.y', 119)
963
+ def _reduce_36(val, _values, result)
964
+ result = [val[0], val[2]]
965
+ result
966
+ end
967
+ .,.,
968
+
969
+ module_eval(<<'.,.,', 'ecma.y', 121)
970
+ def _reduce_37(val, _values, result)
971
+ result = [result]
972
+ result
973
+ end
974
+ .,.,
975
+
976
+ module_eval(<<'.,.,', 'ecma.y', 122)
977
+ def _reduce_38(val, _values, result)
978
+ result.unshift val[2]
979
+ result
980
+ end
981
+ .,.,
982
+
983
+ module_eval(<<'.,.,', 'ecma.y', 124)
984
+ def _reduce_39(val, _values, result)
848
985
  result = RVM::Interpreter::FunctionCall.new(:add, [result, val[2]], val[1][1])
849
986
  result
850
987
  end
851
988
  .,.,
852
989
 
853
- module_eval(<<'.,.,', 'ecma.y', 108)
854
- def _reduce_34(val, _values, result)
990
+ module_eval(<<'.,.,', 'ecma.y', 125)
991
+ def _reduce_40(val, _values, result)
855
992
  result = RVM::Interpreter::FunctionCall.new(:sub, [result, val[2]], val[1][1])
856
993
  result
857
994
  end
858
995
  .,.,
859
996
 
860
- module_eval(<<'.,.,', 'ecma.y', 109)
861
- def _reduce_35(val, _values, result)
997
+ module_eval(<<'.,.,', 'ecma.y', 126)
998
+ def _reduce_41(val, _values, result)
862
999
  result = RVM::Interpreter::FunctionCall.new(:mul, [result, val[2]], val[1][1])
863
1000
  result
864
1001
  end
865
1002
  .,.,
866
1003
 
867
- module_eval(<<'.,.,', 'ecma.y', 110)
868
- def _reduce_36(val, _values, result)
1004
+ module_eval(<<'.,.,', 'ecma.y', 127)
1005
+ def _reduce_42(val, _values, result)
869
1006
  result = RVM::Interpreter::FunctionCall.new(:sub, [result, val[2]], val[1][1])
870
1007
  result
871
1008
  end
872
1009
  .,.,
873
1010
 
874
- module_eval(<<'.,.,', 'ecma.y', 111)
875
- def _reduce_37(val, _values, result)
1011
+ module_eval(<<'.,.,', 'ecma.y', 128)
1012
+ def _reduce_43(val, _values, result)
876
1013
  result = RVM::Interpreter::FunctionCall.new(:power, [result, val[2]], val[1][1])
877
1014
  result
878
1015
  end
879
1016
  .,.,
880
1017
 
881
- module_eval(<<'.,.,', 'ecma.y', 112)
882
- def _reduce_38(val, _values, result)
1018
+ module_eval(<<'.,.,', 'ecma.y', 129)
1019
+ def _reduce_44(val, _values, result)
883
1020
  result = RVM::Interpreter::FunctionCall.new(:at, [result, val[2]], val[1][1])
884
1021
  result
885
1022
  end
886
1023
  .,.,
887
1024
 
888
- module_eval(<<'.,.,', 'ecma.y', 113)
889
- def _reduce_39(val, _values, result)
1025
+ module_eval(<<'.,.,', 'ecma.y', 130)
1026
+ def _reduce_45(val, _values, result)
890
1027
  result = RVM::Interpreter::FunctionCall.new(:not, [val[1]], val[0][1])
891
1028
  result
892
1029
  end
893
1030
  .,.,
894
1031
 
895
- module_eval(<<'.,.,', 'ecma.y', 114)
896
- def _reduce_40(val, _values, result)
1032
+ module_eval(<<'.,.,', 'ecma.y', 131)
1033
+ def _reduce_46(val, _values, result)
897
1034
  result = RVM::Interpreter::FunctionCall.new(:neg, [val[1]], val[0][1])
898
1035
  result
899
1036
  end
900
1037
  .,.,
901
1038
 
902
- # reduce 41 omitted
1039
+ # reduce 47 omitted
903
1040
 
904
- module_eval(<<'.,.,', 'ecma.y', 116)
905
- def _reduce_42(val, _values, result)
1041
+ module_eval(<<'.,.,', 'ecma.y', 133)
1042
+ def _reduce_48(val, _values, result)
906
1043
  result = RVM::Interpreter::FunctionCall.new(:and, [result, val[2]])
907
1044
  result
908
1045
  end
909
1046
  .,.,
910
1047
 
911
- module_eval(<<'.,.,', 'ecma.y', 117)
912
- def _reduce_43(val, _values, result)
1048
+ module_eval(<<'.,.,', 'ecma.y', 134)
1049
+ def _reduce_49(val, _values, result)
913
1050
  result = RVM::Interpreter::FunctionCall.new(:or, [result, val[2]])
914
1051
  result
915
1052
  end
916
1053
  .,.,
917
1054
 
918
- # reduce 44 omitted
1055
+ # reduce 50 omitted
919
1056
 
920
- # reduce 45 omitted
1057
+ # reduce 51 omitted
921
1058
 
922
- # reduce 46 omitted
1059
+ # reduce 52 omitted
923
1060
 
924
- module_eval(<<'.,.,', 'ecma.y', 121)
925
- def _reduce_47(val, _values, result)
1061
+ module_eval(<<'.,.,', 'ecma.y', 138)
1062
+ def _reduce_53(val, _values, result)
926
1063
  result = RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,result[0], result[1][1]))
927
1064
  result
928
1065
  end
929
1066
  .,.,
930
1067
 
931
- module_eval(<<'.,.,', 'ecma.y', 122)
932
- def _reduce_48(val, _values, result)
1068
+ module_eval(<<'.,.,', 'ecma.y', 139)
1069
+ def _reduce_54(val, _values, result)
933
1070
  result = RVM::Interpreter::Variable.new(:self, val[0][1])
934
1071
  result
935
1072
  end
936
1073
  .,.,
937
1074
 
938
- module_eval(<<'.,.,', 'ecma.y', 123)
939
- def _reduce_49(val, _values, result)
1075
+ module_eval(<<'.,.,', 'ecma.y', 140)
1076
+ def _reduce_55(val, _values, result)
940
1077
  result = val[1]
941
1078
  result
942
1079
  end
943
1080
  .,.,
944
1081
 
945
- # reduce 50 omitted
1082
+ # reduce 56 omitted
946
1083
 
947
- module_eval(<<'.,.,', 'ecma.y', 126)
948
- def _reduce_51(val, _values, result)
1084
+ module_eval(<<'.,.,', 'ecma.y', 143)
1085
+ def _reduce_57(val, _values, result)
949
1086
  result = RVM::Interpreter::FunctionCall.new(:lt, [result, val[2]], val[1][1])
950
1087
  result
951
1088
  end
952
1089
  .,.,
953
1090
 
954
- module_eval(<<'.,.,', 'ecma.y', 127)
955
- def _reduce_52(val, _values, result)
1091
+ module_eval(<<'.,.,', 'ecma.y', 144)
1092
+ def _reduce_58(val, _values, result)
956
1093
  result = RVM::Interpreter::FunctionCall.new(:gt, [result, val[2]], val[1][1])
957
1094
  result
958
1095
  end
959
1096
  .,.,
960
1097
 
961
- module_eval(<<'.,.,', 'ecma.y', 128)
962
- def _reduce_53(val, _values, result)
1098
+ module_eval(<<'.,.,', 'ecma.y', 145)
1099
+ def _reduce_59(val, _values, result)
963
1100
  result = RVM::Interpreter::FunctionCall.new(:eq, [result, val[2]], val[1][1])
964
1101
  result
965
1102
  end
966
1103
  .,.,
967
1104
 
968
- module_eval(<<'.,.,', 'ecma.y', 129)
969
- def _reduce_54(val, _values, result)
1105
+ module_eval(<<'.,.,', 'ecma.y', 146)
1106
+ def _reduce_60(val, _values, result)
970
1107
  result = RVM::Interpreter::FunctionCall.new(:neq, [result, val[2]], val[1][1])
971
1108
  result
972
1109
  end
973
1110
  .,.,
974
1111
 
975
- module_eval(<<'.,.,', 'ecma.y', 130)
976
- def _reduce_55(val, _values, result)
1112
+ module_eval(<<'.,.,', 'ecma.y', 147)
1113
+ def _reduce_61(val, _values, result)
977
1114
  result = RVM::Interpreter::FunctionCall.new(:gte, [result, val[2]], val[1][1])
978
1115
  result
979
1116
  end
980
1117
  .,.,
981
1118
 
982
- module_eval(<<'.,.,', 'ecma.y', 131)
983
- def _reduce_56(val, _values, result)
1119
+ module_eval(<<'.,.,', 'ecma.y', 148)
1120
+ def _reduce_62(val, _values, result)
984
1121
  result = RVM::Interpreter::FunctionCall.new(:lte, [result, val[2]], val[1][1])
985
1122
  result
986
1123
  end
987
1124
  .,.,
988
1125
 
989
- module_eval(<<'.,.,', 'ecma.y', 133)
990
- def _reduce_57(val, _values, result)
1126
+ module_eval(<<'.,.,', 'ecma.y', 150)
1127
+ def _reduce_63(val, _values, result)
991
1128
  result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Variable.new(val[2]))
992
1129
  result
993
1130
  end
994
1131
  .,.,
995
1132
 
996
- module_eval(<<'.,.,', 'ecma.y', 134)
997
- def _reduce_58(val, _values, result)
1133
+ module_eval(<<'.,.,', 'ecma.y', 151)
1134
+ def _reduce_64(val, _values, result)
998
1135
  result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Assignment.new(val[2], val[4]))
999
1136
  result
1000
1137
  end
1001
1138
  .,.,
1002
1139
 
1003
- module_eval(<<'.,.,', 'ecma.y', 135)
1004
- def _reduce_59(val, _values, result)
1140
+ module_eval(<<'.,.,', 'ecma.y', 152)
1141
+ def _reduce_65(val, _values, result)
1005
1142
  result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2][0], val[4], val[2][1]))
1006
1143
  result
1007
1144
  end
1008
1145
  .,.,
1009
1146
 
1010
- module_eval(<<'.,.,', 'ecma.y', 136)
1011
- def _reduce_60(val, _values, result)
1147
+ module_eval(<<'.,.,', 'ecma.y', 153)
1148
+ def _reduce_66(val, _values, result)
1012
1149
  result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2][0], [], val[2][1]))
1013
1150
  result
1014
1151
  end
1015
1152
  .,.,
1016
1153
 
1017
- module_eval(<<'.,.,', 'ecma.y', 138)
1018
- def _reduce_61(val, _values, result)
1154
+ module_eval(<<'.,.,', 'ecma.y', 155)
1155
+ def _reduce_67(val, _values, result)
1019
1156
  result = RVM::Interpreter.const(:number, val[0][0], val[0][1])
1020
1157
  result
1021
1158
  end
1022
1159
  .,.,
1023
1160
 
1024
- module_eval(<<'.,.,', 'ecma.y', 139)
1025
- def _reduce_62(val, _values, result)
1161
+ module_eval(<<'.,.,', 'ecma.y', 156)
1162
+ def _reduce_68(val, _values, result)
1026
1163
  result = RVM::Interpreter.const(:string, val[0][0], val[0][1])
1027
1164
  result
1028
1165
  end
1029
1166
  .,.,
1030
1167
 
1031
- # reduce 63 omitted
1168
+ # reduce 69 omitted
1032
1169
 
1033
- module_eval(<<'.,.,', 'ecma.y', 141)
1034
- def _reduce_64(val, _values, result)
1170
+ # reduce 70 omitted
1171
+
1172
+ module_eval(<<'.,.,', 'ecma.y', 159)
1173
+ def _reduce_71(val, _values, result)
1035
1174
  result = RVM::Interpreter.const(:boolean, true, val[0][1])
1036
1175
  result
1037
1176
  end
1038
1177
  .,.,
1039
1178
 
1040
- module_eval(<<'.,.,', 'ecma.y', 142)
1041
- def _reduce_65(val, _values, result)
1179
+ module_eval(<<'.,.,', 'ecma.y', 160)
1180
+ def _reduce_72(val, _values, result)
1042
1181
  result = RVM::Interpreter.const(:boolean, false, val[0][1])
1043
1182
  result
1044
1183
  end
1045
1184
  .,.,
1046
1185
 
1047
- module_eval(<<'.,.,', 'ecma.y', 144)
1048
- def _reduce_66(val, _values, result)
1186
+ module_eval(<<'.,.,', 'ecma.y', 162)
1187
+ def _reduce_73(val, _values, result)
1049
1188
  result = RVM::Interpreter::Condition.new(val[2], val[4], val[6], val[0][1])
1050
1189
  result
1051
1190
  end
1052
1191
  .,.,
1053
1192
 
1054
- module_eval(<<'.,.,', 'ecma.y', 145)
1055
- def _reduce_67(val, _values, result)
1193
+ module_eval(<<'.,.,', 'ecma.y', 163)
1194
+ def _reduce_74(val, _values, result)
1056
1195
  result = RVM::Interpreter::Condition.new(val[2], val[4], nil, val[0][1])
1057
1196
  result
1058
1197
  end
1059
1198
  .,.,
1060
1199
 
1061
- module_eval(<<'.,.,', 'ecma.y', 148)
1062
- def _reduce_68(val, _values, result)
1200
+ module_eval(<<'.,.,', 'ecma.y', 166)
1201
+ def _reduce_75(val, _values, result)
1063
1202
  init = val[2]
1064
1203
  cond = val[4]
1065
1204
  event = val[6]
@@ -1081,8 +1220,8 @@ module_eval(<<'.,.,', 'ecma.y', 148)
1081
1220
  end
1082
1221
  .,.,
1083
1222
 
1084
- module_eval(<<'.,.,', 'ecma.y', 167)
1085
- def _reduce_69(val, _values, result)
1223
+ module_eval(<<'.,.,', 'ecma.y', 185)
1224
+ def _reduce_76(val, _values, result)
1086
1225
  cond = val[2]
1087
1226
  body = val[4]
1088
1227
  result = RVM::Interpreter::Block.new(
@@ -1093,8 +1232,8 @@ module_eval(<<'.,.,', 'ecma.y', 167)
1093
1232
  end
1094
1233
  .,.,
1095
1234
 
1096
- module_eval(<<'.,.,', 'ecma.y', 174)
1097
- def _reduce_70(val, _values, result)
1235
+ module_eval(<<'.,.,', 'ecma.y', 192)
1236
+ def _reduce_77(val, _values, result)
1098
1237
  cond = val[4]
1099
1238
  block = val[1]
1100
1239
  result = RVM::Interpreter::Block.new(
@@ -1107,8 +1246,8 @@ module_eval(<<'.,.,', 'ecma.y', 174)
1107
1246
  end
1108
1247
  .,.,
1109
1248
 
1110
- module_eval(<<'.,.,', 'ecma.y', 183)
1111
- def _reduce_71(val, _values, result)
1249
+ module_eval(<<'.,.,', 'ecma.y', 201)
1250
+ def _reduce_78(val, _values, result)
1112
1251
  result = RVM::Interpreter.const(:string,result[0], result[1][1])
1113
1252
  result
1114
1253
  end