rVM 0.0.6 → 0.0.7

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.
@@ -16,8 +16,8 @@ module RVM
16
16
  true
17
17
  end
18
18
 
19
- def call params, env
20
- #Logger.debug "Calling Block...(#{env},#{params})" if $DEBUG
19
+ def call params, env, pos = nil
20
+ RVM::debug "Calling Block at #{pos}...(#{env},#{params})" if $DEBUG
21
21
  env = RVM::Interpreter::Enviroment.new({:params => params||[]}, env)
22
22
  begin
23
23
  @code.execute(env)
@@ -15,7 +15,7 @@ module RVM
15
15
  end
16
16
 
17
17
  def to_s
18
- "##{@value.abs * -1} #{@text}"
18
+ "##{@value} #{@text}"
19
19
  end
20
20
  end
21
21
  end
@@ -11,6 +11,19 @@ module RVM
11
11
  :list
12
12
  end
13
13
 
14
+
15
+ def variables
16
+ @variables ||= {}
17
+ end
18
+
19
+
20
+ def functions
21
+ @functions ||= {
22
+ 'size' => RVM::Functions[:size],
23
+ 'length' => RVM::Functions[:size]
24
+ }
25
+ end
26
+
14
27
  def initialize source= [], sepperator = ' '
15
28
  super()
16
29
  if source.is_a?(::String) # Okay we've to hack here to get sure we get the /real/ String
@@ -28,13 +28,13 @@ module RVM
28
28
  true
29
29
  end
30
30
 
31
- def call params, env
31
+ def call params, env, pos = nil
32
32
  i = 0
33
33
  sig = :any
34
34
  params.map! do |p|
35
35
  sig = signature[i] || sig
36
36
  if sig != :any and p.class != RVM::Classes[sig]
37
- raise "TYPE MISMATCH" if RVM::strict
37
+ raise "TYPE MISMATCH! expected #{sig} got #{p.class}(#{pos}) at " if RVM::strict
38
38
  p = RVM::Classes[sig].new(p)
39
39
  end
40
40
  i+=1
@@ -0,0 +1,22 @@
1
+ module RVM
2
+ module Functions
3
+ class At < Function
4
+ class << self
5
+ def execute params, env
6
+ if params.length == 2
7
+ array = params.shift
8
+ pos = params.shift
9
+ array[pos.to_i]
10
+ else
11
+ RVM::Classes[:error].new(1,"FUNCTION (#{self.class}) EXPECTS 2 ARGUMENTS BUT GOT #{params.length}")
12
+ end
13
+ end
14
+
15
+ def signature
16
+ [:list, :number]
17
+ end
18
+ end
19
+ register_for :at
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module RVM
2
+ module Functions
3
+ class Size < Function
4
+ class << self
5
+ def execute params, env
6
+ if (this = env.read_var_val(:self)).is_a?(RVM::Classes[:list]) and params.empty?
7
+ RVM::Classes[:number].new(this.size)
8
+ elsif params.length == 1
9
+ RVM::Classes[:number].new(params[0].size)
10
+ else
11
+ RVM::Classes[:error].new(1,"FUNCTION (#{self.class}) EXPECTS 2 ARGUMENTS BUT GOT #{params.length}")
12
+ end
13
+ end
14
+
15
+ def signature
16
+ [:any]
17
+ end
18
+ end
19
+ register_for :size
20
+ end
21
+ end
22
+ end
@@ -3,8 +3,8 @@ module RVM
3
3
  class Or < RVM::Functions::Function
4
4
  class << self
5
5
  def execute params, env
6
- while not result and not params.empty?
7
- v = params.shift.execute(env)
6
+ params.each do |p|
7
+ v = p.execute(env)
8
8
  return v if v.is_true?
9
9
  end
10
10
  return RVM::Classes::Boolean.new(false)
@@ -18,8 +18,8 @@ module RVM
18
18
  # This is a helper function that generates a constat of a simple constant,
19
19
  # for example if you've a lot of string constants it is way quickly to call
20
20
  # this then writing it out the whole time.
21
- def Interpreter.const type,value
22
- RVM::Interpreter::Constant.new(RVM::Classes[type].new(value))
21
+ def Interpreter.const type, value, pos = nil
22
+ RVM::Interpreter::Constant.new(RVM::Classes[type].new(value), pos)
23
23
  end
24
24
 
25
25
  class VariableStorage
@@ -98,13 +98,18 @@ module RVM
98
98
  def []= k, v
99
99
  #TODO: add capability to have the privious env variables changed
100
100
  RVM::debug "Setting variable #{k} to #{v}"
101
- if (self[:locals] and r = self[:locals][k])
101
+ if (r = self[k])
102
102
  r.val = v
103
103
  else
104
104
  @data[:locals][k] = VariableStorage.new(v)
105
105
  end
106
106
  v
107
107
  end
108
+ # Defines a varialbe in the current scope, priviose variables are not
109
+ # changed
110
+ def define k, v
111
+ @data[:locals][k] = VariableStorage.new(v)
112
+ end
108
113
 
109
114
  # Returns a function for the current enviroment.
110
115
  # The result is to be execpted to be of the +RVM::Classes::Block+ class.
@@ -121,7 +126,7 @@ module RVM
121
126
  #
122
127
  # It also checks if the given block is truely a +RVM::Classes::Block+ object.
123
128
  def def_function k, b
124
- rise(ArgumentError, "Function definitions must be of block class.")if not b.is_a?(RVM::Classes::Block)
129
+ raise(ArgumentError, "Function definitions must be of block class.") if not b.is_a?(RVM::Classes::Block)
125
130
  @data[:functions][k] = b
126
131
  RVM::debug "Setting functon #{k} (#{b})"
127
132
  nil
@@ -130,9 +135,15 @@ module RVM
130
135
  # This functin is closely related to +[]+ with the difference that it returns the value
131
136
  # And not the VariableData object.
132
137
  def read_var_val name
138
+
139
+ r = nil
133
140
  if (v = self[name])
134
- v.val
141
+ r = v.val
142
+ else
143
+ r = RVM::Classes[:error].new(0, "Variable #{name} is not defined.")
135
144
  end
145
+ RVM::debug "Getting variable value #{name} (#{r})"
146
+ r
136
147
  end
137
148
  end
138
149
 
@@ -144,16 +155,18 @@ module RVM
144
155
  #
145
156
  # The class is stred in :class
146
157
  class ObjectContext
147
- def initialize object, code
158
+ def initialize object, code, pos = nil
148
159
  @object = object
149
160
  @code = code
161
+ @pos = pos
150
162
  end
151
163
 
152
164
  def execute env
153
165
  #The new
154
166
  obj = @object.execute(env)
155
- env = Interpreter::Enviroment.new({:functions => obj.functions, :locals => obj.variables}, env)
156
- @code.execute(env)
167
+ new_env = Interpreter::Enviroment.new({:functions => obj.functions, :locals => obj.variables}, env)
168
+ new_env.define(:self, obj)
169
+ @code.execute(new_env)
157
170
  end
158
171
  end
159
172
 
@@ -162,10 +175,11 @@ module RVM
162
175
  #
163
176
  #To define class functions use ObjectContext and define the function normaly, nifty isn't it?
164
177
  class SetClassFunction
165
- def initialize obj, name, function
178
+ def initialize obj, name, function, pos = nil
166
179
  @object = obj
167
180
  @name = name
168
181
  @function = function
182
+ @pos = pos
169
183
  end
170
184
 
171
185
  def execute env
@@ -181,8 +195,9 @@ module RVM
181
195
  # With outer code.
182
196
  class Block
183
197
  attr_reader :content
184
- def initialize content
198
+ def initialize content, pos = nil
185
199
  @content = content
200
+ @pos = pos
186
201
  end
187
202
 
188
203
  # When executed a temporary enviroment is created with the passed
@@ -210,15 +225,16 @@ module RVM
210
225
  # override:: when true (default) earlyer definitions are
211
226
  # replaced when it is called a second time.
212
227
  # When false a exception is thrown
213
- def initialize name, body, override = true
228
+ def initialize name, body, override = true, pos = nil
214
229
  @name = name
215
230
  @body = body
216
231
  @override = override
232
+ @pos = pos
217
233
  end
218
234
 
219
235
  def execute env
220
236
  if (not @override) and env.function(@name)
221
- raise "Function #{@name} already defined!"
237
+ raise "Function #{@name} already defined at #{@pos}!"
222
238
  end
223
239
  env.def_function(@name.execute(env),@body)
224
240
  nil
@@ -235,9 +251,10 @@ module RVM
235
251
  # to true the loop is executed another time otherwise the
236
252
  # exection ends.
237
253
  # body:: For each itteration of the loop this is executed once.
238
- def initialize(condition, body)
254
+ def initialize(condition, body, pos = nil)
239
255
  @condition = condition
240
256
  @body = body
257
+ @pos = pos
241
258
  end
242
259
 
243
260
  def execute env
@@ -253,8 +270,9 @@ module RVM
253
270
  # value isn't evaluated.
254
271
  class Constant
255
272
  attr_reader :value
256
- def initialize value
273
+ def initialize value, pos = nil
257
274
  @value = value
275
+ @pos = pos
258
276
  end
259
277
 
260
278
  def data_type
@@ -270,7 +288,7 @@ module RVM
270
288
  end
271
289
 
272
290
  def execute env
273
- RVM::debug "Executing Constant: #{@value}"
291
+ RVM::debug "Executing Constant at #{@pos}: #{@value}"
274
292
  @value
275
293
  end
276
294
  end
@@ -304,10 +322,11 @@ module RVM
304
322
  # false casae s executed.
305
323
  # * true_case - is only executed if value evalutes to true (is_true?)
306
324
  # * false_case - is only executed if value evalutes to false (!is_true?)
307
- def initialize value, true_case, false_case = nil
325
+ def initialize value, true_case, false_case = nil, pos = nil
308
326
  @value = value
309
327
  @true_case = true_case
310
328
  @false_case = false_case
329
+ @pos = pos
311
330
  end
312
331
 
313
332
  def data_type
@@ -336,9 +355,10 @@ module RVM
336
355
  # Both the *name* and the *value* are evaluated before the assignment
337
356
  # is done.
338
357
  class Assignment
339
- def initialize name, value
358
+ def initialize name, value, pos = nil
340
359
  @name = name
341
360
  @value = value
361
+ @pos = pos
342
362
  end
343
363
 
344
364
  def data_type
@@ -346,7 +366,7 @@ module RVM
346
366
  end
347
367
 
348
368
  def execute env
349
- RVM::debug "Executing Assignment..."
369
+ RVM::debug "Executing Assignment at #{@pos}..."
350
370
  env[@name.execute(env).to_s] = @value.execute env
351
371
  end
352
372
  end
@@ -355,9 +375,10 @@ module RVM
355
375
  #
356
376
  # The *name* is evaluated before the variable is retrieved.
357
377
  class Variable
358
- def initialize name
378
+ def initialize name, pos = nil
359
379
  @name = name
360
380
  @type = :any
381
+ @pos = pos
361
382
  end
362
383
 
363
384
  # The type can only be tretrieved when the name is aconstant
@@ -367,9 +388,13 @@ module RVM
367
388
  end
368
389
 
369
390
  def execute env
370
- RVM::debug "Executing Variable..."
371
- r = env.read_var_val(@name.execute(env).to_s)
372
- @type = r.data_type if r
391
+ RVM::debug "Executing Variable at #{@pos}..."
392
+ n = @name
393
+ if not @name.is_a?(Symbol)
394
+ n = n.execute(env).to_s
395
+ end
396
+ r = env.read_var_val(n)
397
+ #@type = r.data_type if r
373
398
  r
374
399
  end
375
400
  end
@@ -377,9 +402,10 @@ module RVM
377
402
  # This evauates to the parameter passed to the function call.
378
403
  # The number of it is evaluated and typecasted to an interger.
379
404
  class Parameter
380
- def initialize num
405
+ def initialize num, pos = nil
381
406
  @num = num
382
407
  @type = :any
408
+ @pos = pos
383
409
  end
384
410
 
385
411
  # The type can only be tretrieved when the num is aconstant
@@ -389,7 +415,7 @@ module RVM
389
415
  end
390
416
 
391
417
  def execute env
392
- RVM::debug "Executing Parameter..."
418
+ RVM::debug "Executing Parameter at #{@pos}..."
393
419
  r = env.param(@num.execute(env).to_i)
394
420
  @type = r.data_type if r
395
421
  r
@@ -425,9 +451,10 @@ module RVM
425
451
  # The catching is handled bythe +RVM::Classes::Block+ class.
426
452
  class ReturnException < Exception
427
453
  attr_reader :val
428
- def initialize val
454
+ def initialize val, pos = nil
429
455
  super()
430
456
  @val = val
457
+ @pos = pos
431
458
  end
432
459
  end
433
460
 
@@ -435,8 +462,9 @@ module RVM
435
462
  # +ReturnException+ which can be caught to have the function
436
463
  # or block return what they wish.
437
464
  class Return
438
- def initialize val
465
+ def initialize val, pos = nil
439
466
  @val = val
467
+ @pos = pos
440
468
  end
441
469
 
442
470
  def data_type
@@ -461,9 +489,10 @@ module RVM
461
489
  # class.
462
490
  #
463
491
  # Arguments is a list of the arguments to the function.
464
- def initialize function, arguments
492
+ def initialize function, arguments, pos = nil
465
493
  @function = function
466
494
  @arguments = arguments
495
+ @pos = pos
467
496
  end
468
497
 
469
498
  def data_type
@@ -480,25 +509,25 @@ module RVM
480
509
 
481
510
  def execute env
482
511
  RVM::debug "Executing FunctionCall..."
483
- args = @arguments
512
+ args = @arguments.dup
484
513
  if @function.is_a? RVM::Classes[:block]
485
- args = @arguments.map do |arg|
514
+ args.map! do |arg|
486
515
  arg.execute env
487
516
  end
488
- @function.call(args, env)
517
+ @function.call(args, env, @pos)
489
518
  elsif (fun = env.function(@function))
490
- args = @arguments.map do |arg|
519
+ args.map! do |arg|
491
520
  arg.execute env
492
521
  end
493
- fun.call(args, env)
522
+ fun.call(args, env, @pos)
494
523
  else
495
524
  fun = RVM::Functions[@function]
496
525
  if fun.execargs
497
- args = @arguments.map do |arg|
526
+ args.map! do |arg|
498
527
  arg.execute env
499
528
  end
500
529
  end
501
- fun.call(args, env)
530
+ fun.call(args, env, @pos)
502
531
  end
503
532
  end
504
533
  end
@@ -11,13 +11,14 @@ require 'strscan'
11
11
  require 'rvm/functions/math'
12
12
  require 'rvm/functions/logic'
13
13
  require 'rvm/functions/array'
14
+ require 'rvm/functions/general'
14
15
  require 'pp'
15
16
 
16
17
  module RVM
17
18
  module Languages
18
19
  class ECMA < Racc::Parser
19
20
 
20
- module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 194)
21
+ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 191)
21
22
  extend Plugin
22
23
  plugin_host RVM::Languages
23
24
  register_for :ecma
@@ -27,7 +28,7 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 194)
27
28
  s = StringScanner.new(str)
28
29
  while not s.eos?
29
30
  if s.scan(/\/\/.*?\n/)
30
- elsif s.scan(/\/*.*?*\//)
31
+ elsif s.scan(/\/\*.*?\*\//m)
31
32
  elsif s.scan(/('(\\.|[^'])*')/)
32
33
  m = s.matched.gsub(/^'/,'').gsub(/'$/,'')
33
34
  @q.push [:STRING, [m, s.pos]]
@@ -69,7 +70,7 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 194)
69
70
  :IDENT
70
71
  end
71
72
  @q.push [type, [m, s.pos]]
72
- elsif s.scan(/(([<>]=?)|([!=]=)|[.+*\/(){},=;\[\]-]|&&|\|\|)/) # This ones do not get a new line (sepperator added)
73
+ elsif s.scan(/(([<>]=?)|([!=]=)|[.+*\/(),=;\!-]|&&|\|\|)/) # This ones do not get a new line (sepperator added)
73
74
  m = s.matched
74
75
  @q.push [m, [m, s.pos]]
75
76
  elsif s.scan(/\n+/)
@@ -90,246 +91,296 @@ module_eval(<<'...end ecma.y/module_eval...', 'ecma.y', 194)
90
91
  ##### State transition tables begin ###
91
92
 
92
93
  racc_action_table = [
93
- 33, 2, 61, 62, 113, 42, 61, 62, 69, 77,
94
- 30, 35, 78, 7, 9, 13, 69, 18, 21, 24,
95
- 28, 69, 103, 3, 71, 12, 69, 15, 33, 2,
96
- 72, 26, 69, 33, 2, 112, 69, 69, 30, 35,
97
- 61, 62, 52, 30, 35, 69, 69, 24, 61, 62,
98
- 69, 3, 24, 61, 62, 15, 3, 33, 2, 26,
99
- 15, 61, 62, 114, 26, 115, 110, 30, 35, 51,
100
- 69, 9, 13, 51, 18, 21, 24, 28, 69, 132,
101
- 3, 115, 12, 69, 15, 33, 2, 117, 26, 118,
102
- 109, 69, 108, 69, 12, 30, 35, 106, 70, 9,
103
- 13, 42, 18, 21, 24, 28, 73, 74, 3, 49,
104
- 12, 47, 15, 33, 2, 44, 26, 12, 33, 2,
105
- 42, 129, 130, 30, 35, 131, 82, 69, 30, 35,
106
- 69, 43, 24, 42, 135, 40, 3, 24, nil, nil,
107
- 15, 3, 33, 2, 26, 15, nil, nil, nil, 26,
108
- nil, nil, 30, 35, nil, nil, 9, 13, nil, 18,
109
- 21, 24, 28, nil, nil, 3, nil, 12, nil, 15,
110
- 33, 2, nil, 26, nil, 33, 2, 33, 2, nil,
111
- 30, 35, nil, nil, nil, 30, 35, 30, 35, 24,
112
- nil, nil, nil, 3, 24, nil, 24, 15, 3, nil,
113
- 3, 26, 15, nil, 15, 124, 26, nil, 26, 33,
114
- 2, 61, 62, 63, 64, 65, 66, 67, 68, 30,
115
- 35, nil, nil, 9, 13, nil, 18, 21, 24, 28,
116
- nil, nil, 3, nil, 12, nil, 15, 33, 2, nil,
117
- 26, 69, 33, 2, nil, nil, nil, 30, 35, nil,
118
- nil, nil, 30, 35, nil, nil, 24, nil, nil, nil,
119
- 3, 24, nil, nil, 15, 3, 33, 2, 26, 15,
120
- nil, nil, nil, 26, nil, nil, 30, 35, nil, nil,
121
- 9, 13, nil, 18, 21, 24, 28, nil, nil, 3,
122
- nil, 12, nil, 15, 33, 2, nil, 26, nil, 33,
123
- 2, nil, nil, nil, 30, 35, nil, nil, nil, 30,
124
- 35, nil, nil, 24, nil, nil, nil, 3, 24, nil,
125
- nil, 15, 3, 33, 2, 26, 15, nil, nil, nil,
126
- 26, nil, nil, 30, 35, nil, nil, 9, 13, nil,
127
- 18, 21, 24, 28, nil, nil, 3, nil, 12, nil,
128
- 15, 33, 2, nil, 26, nil, 33, 2, nil, nil,
129
- nil, 30, 35, nil, nil, nil, 30, 35, nil, nil,
130
- 24, nil, nil, nil, 3, 24, nil, nil, 15, 3,
131
- 33, 2, 26, 15, nil, nil, nil, 26, nil, nil,
132
- 30, 35, nil, nil, 9, 13, nil, 18, 21, 24,
133
- 28, nil, nil, 3, nil, 12, nil, 15, 33, 2,
134
- nil, 26, nil, 33, 2, 33, 2, nil, 30, 35,
135
- nil, nil, nil, 30, 35, 30, 35, 24, nil, nil,
136
- nil, 3, 24, nil, 24, 15, 3, nil, 3, 26,
137
- 15, 100, 15, nil, 26, nil, 26, 33, 2, 55,
138
- 56, 57, 58, 54, nil, nil, nil, 30, 35, nil,
139
- nil, nil, 33, 2, nil, nil, 24, nil, nil, nil,
140
- 3, nil, 30, 35, 15, 7, 9, 13, 26, 18,
141
- 21, 24, 28, nil, nil, 3, nil, 12, nil, 15,
142
- 33, 2, nil, 26, nil, 33, 2, 33, 2, nil,
143
- 30, 35, nil, nil, nil, 30, 35, 30, 35, 24,
144
- nil, nil, nil, 3, 24, nil, 24, 15, 3, nil,
145
- 3, 26, 15, nil, 15, nil, 26, nil, 26, 33,
146
- 2, 33, 2, nil, 33, 2, 33, 2, nil, 30,
147
- 35, 30, 35, nil, 30, 35, 30, 35, 24, nil,
148
- 24, nil, 3, 24, 3, 24, 15, 3, 15, 3,
149
- 26, 15, 26, 15, nil, 26, nil, 26, 33, 2,
150
- 33, 2, nil, 33, 2, 33, 2, nil, 30, 35,
151
- 30, 35, nil, 30, 35, 30, 35, 24, nil, 24,
152
- nil, 3, 24, 3, 24, 15, 3, 15, 3, 26,
153
- 15, 26, 15, nil, 26, nil, 26, 33, 2, 33,
154
- 2, nil, 33, 2, 33, 2, nil, 30, 35, 30,
155
- 35, nil, 30, 35, 30, 35, 24, nil, 24, nil,
156
- 3, 24, 3, 24, 15, 3, 15, 3, 26, 15,
157
- 26, 15, nil, 26, nil, 26, 61, 62, 63, 64,
158
- 65, 66, 67, 68, nil, 61, 62, 63, 64, 65,
159
- 66, 67, 68, 61, 62, 63, 64, 65, 66, 67,
160
- 68, nil, 80, nil, nil, nil, 69, 111, nil, nil,
161
- nil, nil, nil, nil, nil, 69, nil, nil, nil, nil,
162
- nil, nil, nil, 69, 61, 62, 63, 64, 65, 66,
163
- 67, 68, 61, 62, 63, 64, 65, 66, 67, 68,
164
- 61, 62, 63, 64, 65, 66, 67, 68, nil, nil,
165
- nil, nil, nil, nil, 69, nil, nil, nil, nil, nil,
166
- nil, nil, 69, nil, nil, nil, nil, nil, nil, nil,
167
- 69 ]
94
+ 63, 65, 67, 68, 55, 63, 65, 67, 63, 110,
95
+ 63, 65, 67, 68, 55, 56, 57, 58, 59, 60,
96
+ 61, 62, 64, 54, 54, 41, 54, 132, 113, 115,
97
+ 54, 54, 66, 66, 54, 66, 54, 111, -68, 66,
98
+ 66, 63, 103, 66, 112, 66, 63, 65, 67, 68,
99
+ 55, 56, 57, 63, 65, 67, 68, 55, 56, 57,
100
+ 63, 65, 67, 68, 55, 56, 57, 54, 54, 69,
101
+ 76, 54, 54, 77, 73, 10, 66, 66, 70, 54,
102
+ 66, 66, 96, 114, 71, 115, 54, 117, 66, 118,
103
+ 72, 81, 69, 106, 50, 66, 63, 65, 67, 68,
104
+ 55, 56, 57, 58, 59, 60, 61, 62, 64, 63,
105
+ 65, 67, 68, 55, 56, 57, 63, 65, 67, 68,
106
+ 55, 48, 54, 63, 65, 67, 68, 55, 56, 57,
107
+ 46, 66, 10, 41, 129, 54, 130, 131, 108, 109,
108
+ 43, 42, 54, 41, 66, 63, 65, 67, 135, 54,
109
+ 39, 66, nil, nil, nil, nil, 32, 1, 66, 63,
110
+ 65, 67, 68, 55, 56, 57, 28, 36, nil, nil,
111
+ nil, 54, nil, nil, nil, 22, nil, nil, 31, 2,
112
+ 66, nil, nil, 13, nil, 54, nil, 25, nil, nil,
113
+ nil, nil, nil, nil, 66, 63, 65, 67, 68, 55,
114
+ 56, 57, 58, 59, 60, 61, 62, 64, 63, 65,
115
+ 67, 68, 55, 56, 57, 58, 59, 60, 61, 62,
116
+ 64, 54, nil, nil, nil, nil, 79, nil, nil, nil,
117
+ 66, nil, nil, nil, 54, nil, nil, nil, nil, nil,
118
+ nil, nil, nil, 66, 63, 65, 67, 68, 55, 56,
119
+ 57, 58, 59, 60, 61, 62, 64, 63, 65, 67,
120
+ 68, 55, 56, 57, 58, 59, 60, 61, 62, 64,
121
+ 54, nil, nil, nil, nil, nil, nil, nil, nil, 66,
122
+ nil, nil, nil, 54, nil, nil, nil, nil, nil, nil,
123
+ nil, nil, 66, 63, 65, 67, 68, 55, 56, 57,
124
+ 58, 59, 60, 61, 62, 64, nil, 32, 1, nil,
125
+ nil, nil, nil, nil, nil, nil, nil, 28, 34, 54,
126
+ nil, 7, 11, nil, 16, 19, 22, 26, 66, 31,
127
+ 2, nil, 10, nil, 13, 32, 1, nil, 25, nil,
128
+ nil, 32, 1, nil, nil, 28, 34, nil, nil, nil,
129
+ nil, 28, 34, nil, 22, nil, nil, 31, 2, nil,
130
+ 22, nil, 13, 31, 2, nil, 25, nil, 13, 32,
131
+ 1, nil, 25, nil, nil, nil, nil, nil, nil, 28,
132
+ 34, nil, 5, 7, 11, nil, 16, 19, 22, 26,
133
+ nil, 31, 2, nil, 10, nil, 13, 32, 1, nil,
134
+ 25, nil, nil, 32, 1, nil, nil, 28, 34, nil,
135
+ nil, nil, nil, 28, 36, nil, 22, nil, nil, 31,
136
+ 2, nil, 22, nil, 13, 31, 2, nil, 25, nil,
137
+ 13, 32, 1, nil, 25, nil, nil, 32, 1, nil,
138
+ nil, 28, 34, nil, nil, nil, nil, 28, 34, nil,
139
+ 22, nil, nil, 31, 2, nil, 22, nil, 13, 31,
140
+ 2, nil, 25, nil, 13, 32, 1, nil, 25, nil,
141
+ nil, 32, 1, nil, nil, 28, 34, nil, nil, nil,
142
+ nil, 28, 36, nil, 22, nil, nil, 31, 2, nil,
143
+ 22, nil, 13, 31, 2, nil, 25, nil, 13, 32,
144
+ 1, nil, 25, nil, nil, 32, 1, nil, nil, 28,
145
+ 34, nil, nil, nil, nil, 28, 36, nil, 22, nil,
146
+ nil, 31, 2, nil, 22, nil, 13, 31, 2, nil,
147
+ 25, nil, 13, 32, 1, nil, 25, nil, nil, nil,
148
+ nil, nil, nil, 28, 34, nil, nil, 7, 11, nil,
149
+ 16, 19, 22, 26, nil, 31, 2, nil, 10, nil,
150
+ 13, 32, 1, nil, 25, nil, nil, 32, 1, nil,
151
+ nil, 28, 36, nil, nil, nil, nil, 28, 36, nil,
152
+ 22, nil, nil, 31, 2, nil, 22, nil, 13, 31,
153
+ 2, nil, 25, nil, 13, 32, 1, nil, 25, nil,
154
+ nil, 32, 1, nil, nil, 28, 36, nil, nil, nil,
155
+ nil, 28, 36, nil, 22, nil, nil, 31, 2, nil,
156
+ 22, nil, 13, 31, 2, nil, 25, nil, 13, 32,
157
+ 1, nil, 25, nil, nil, 32, 1, nil, nil, 28,
158
+ 36, nil, nil, nil, nil, 28, 36, nil, 22, nil,
159
+ nil, 31, 2, nil, 22, nil, 13, 31, 2, nil,
160
+ 25, nil, 13, 32, 1, nil, 25, nil, nil, 32,
161
+ 1, nil, nil, 28, 36, nil, nil, nil, nil, 28,
162
+ 36, nil, 22, nil, nil, 31, 2, nil, 22, nil,
163
+ 13, 31, 2, nil, 25, nil, 13, 32, 1, nil,
164
+ 25, nil, nil, 32, 1, nil, nil, 28, 36, nil,
165
+ nil, nil, nil, 28, 36, nil, 22, nil, nil, 31,
166
+ 2, nil, 22, nil, 13, 31, 2, nil, 25, nil,
167
+ 13, 32, 1, nil, 25, nil, nil, nil, nil, nil,
168
+ nil, 28, 36, nil, nil, nil, 32, 1, nil, nil,
169
+ 22, nil, nil, 31, 2, nil, 28, 34, 13, nil,
170
+ 7, 11, 25, 16, 19, 22, 26, nil, 31, 2,
171
+ nil, 10, nil, 13, 32, 1, nil, 25, nil, nil,
172
+ nil, 32, 1, nil, 28, 36, nil, nil, 32, 1,
173
+ nil, 28, 36, 22, nil, nil, 31, 2, 28, 36,
174
+ 22, 13, 125, 31, 2, 25, nil, 22, 13, nil,
175
+ 31, 2, 25, 32, 1, 13, nil, nil, nil, 25,
176
+ 32, 1, nil, 28, 36, nil, nil, 32, 1, nil,
177
+ 28, 36, 22, nil, nil, 31, 2, 28, 36, 22,
178
+ 13, 100, 31, 2, 25, nil, 22, 13, nil, 31,
179
+ 2, 25, 32, 1, 13, nil, nil, nil, 25, nil,
180
+ nil, nil, 28, 34, nil, nil, 7, 11, nil, 16,
181
+ 19, 22, 26, nil, 31, 2, nil, 10, nil, 13,
182
+ 32, 1, nil, 25, nil, nil, nil, nil, nil, nil,
183
+ 28, 34, nil, nil, 7, 11, nil, 16, 19, 22,
184
+ 26, nil, 31, 2, nil, 10, nil, 13, 32, 1,
185
+ nil, 25, nil, nil, nil, nil, nil, nil, 28, 34,
186
+ nil, nil, nil, 32, 1, nil, nil, 22, nil, nil,
187
+ 31, 2, nil, 28, 34, 13, nil, 7, 11, 25,
188
+ 16, 19, 22, 26, nil, 31, 2, nil, 10, nil,
189
+ 13, 32, 1, nil, 25, nil, nil, nil, nil, nil,
190
+ nil, 28, 34, nil, nil, 7, 11, nil, 16, 19,
191
+ 22, 26, nil, 31, 2, nil, 10, nil, 13, 32,
192
+ 1, nil, 25, nil, nil, 32, 1, nil, nil, 28,
193
+ 36, nil, nil, nil, nil, 28, 36, nil, 22, nil,
194
+ nil, 31, 2, nil, 22, nil, 13, 31, 2, nil,
195
+ 25, nil, 13, 32, 1, nil, 25, nil, nil, nil,
196
+ nil, nil, nil, 28, 34, nil, 5, 7, 11, nil,
197
+ 16, 19, 22, 26, nil, 31, 2, nil, 10, nil,
198
+ 13, 32, 1, nil, 25, nil, nil, nil, nil, nil,
199
+ nil, 28, 36, nil, nil, nil, nil, nil, nil, nil,
200
+ 22, nil, nil, 31, 2, nil, nil, nil, 13, nil,
201
+ nil, nil, 25 ]
168
202
 
169
203
  racc_action_check = [
170
- 0, 0, 95, 95, 98, 74, 93, 93, 60, 45,
171
- 0, 0, 45, 0, 0, 0, 90, 0, 0, 0,
172
- 0, 91, 74, 0, 38, 0, 88, 0, 2, 2,
173
- 38, 0, 95, 3, 3, 98, 93, 87, 2, 2,
174
- 94, 94, 25, 3, 3, 86, 89, 2, 96, 96,
175
- 85, 2, 3, 97, 97, 2, 3, 135, 135, 2,
176
- 3, 92, 92, 99, 3, 99, 82, 135, 135, 25,
177
- 94, 135, 135, 36, 135, 135, 135, 135, 96, 123,
178
- 135, 123, 135, 97, 135, 130, 130, 105, 135, 105,
179
- 81, 92, 79, 37, 103, 130, 130, 76, 35, 130,
180
- 130, 69, 130, 130, 130, 130, 40, 41, 130, 18,
181
- 130, 13, 130, 129, 129, 9, 130, 117, 115, 115,
182
- 118, 119, 120, 129, 129, 122, 50, 125, 115, 115,
183
- 53, 8, 129, 7, 133, 5, 129, 115, nil, nil,
184
- 129, 115, 12, 12, 129, 115, nil, nil, nil, 115,
185
- nil, nil, 12, 12, nil, nil, 12, 12, nil, 12,
186
- 12, 12, 12, nil, nil, 12, nil, 12, nil, 12,
187
- 113, 113, nil, 12, nil, 15, 15, 112, 112, nil,
188
- 113, 113, nil, nil, nil, 15, 15, 112, 112, 113,
189
- nil, nil, nil, 113, 15, nil, 112, 113, 15, nil,
190
- 112, 113, 15, nil, 112, 112, 15, nil, 112, 21,
191
- 21, 126, 126, 126, 126, 126, 126, 126, 126, 21,
192
- 21, nil, nil, 21, 21, nil, 21, 21, 21, 21,
193
- nil, nil, 21, nil, 21, nil, 21, 110, 110, nil,
194
- 21, 126, 26, 26, nil, nil, nil, 110, 110, nil,
195
- nil, nil, 26, 26, nil, nil, 110, nil, nil, nil,
196
- 110, 26, nil, nil, 110, 26, 109, 109, 110, 26,
197
- nil, nil, nil, 26, nil, nil, 109, 109, nil, nil,
198
- 109, 109, nil, 109, 109, 109, 109, nil, nil, 109,
199
- nil, 109, nil, 109, 28, 28, nil, 109, nil, 33,
200
- 33, nil, nil, nil, 28, 28, nil, nil, nil, 33,
201
- 33, nil, nil, 28, nil, nil, nil, 28, 33, nil,
202
- nil, 28, 33, 108, 108, 28, 33, nil, nil, nil,
203
- 33, nil, nil, 108, 108, nil, nil, 108, 108, nil,
204
- 108, 108, 108, 108, nil, nil, 108, nil, 108, nil,
205
- 108, 106, 106, nil, 108, nil, 61, 61, nil, nil,
206
- nil, 106, 106, nil, nil, nil, 61, 61, nil, nil,
207
- 106, nil, nil, nil, 106, 61, nil, nil, 106, 61,
208
- 78, 78, 106, 61, nil, nil, nil, 61, nil, nil,
209
- 78, 78, nil, nil, 78, 78, nil, 78, 78, 78,
210
- 78, nil, nil, 78, nil, 78, nil, 78, 72, 72,
211
- nil, 78, nil, 70, 70, 68, 68, nil, 72, 72,
212
- nil, nil, nil, 70, 70, 68, 68, 72, nil, nil,
213
- nil, 72, 70, nil, 68, 72, 70, nil, 68, 72,
214
- 70, 70, 68, nil, 70, nil, 68, 67, 67, 27,
215
- 27, 27, 27, 27, nil, nil, nil, 67, 67, nil,
216
- nil, nil, 43, 43, nil, nil, 67, nil, nil, nil,
217
- 67, nil, 43, 43, 67, 43, 43, 43, 67, 43,
218
- 43, 43, 43, nil, nil, 43, nil, 43, nil, 43,
219
- 44, 44, nil, 43, nil, 66, 66, 47, 47, nil,
220
- 44, 44, nil, nil, nil, 66, 66, 47, 47, 44,
221
- nil, nil, nil, 44, 66, nil, 47, 44, 66, nil,
222
- 47, 44, 66, nil, 47, nil, 66, nil, 47, 65,
223
- 65, 49, 49, nil, 64, 64, 51, 51, nil, 65,
224
- 65, 49, 49, nil, 64, 64, 51, 51, 65, nil,
225
- 49, nil, 65, 64, 49, 51, 65, 64, 49, 51,
226
- 65, 64, 49, 51, nil, 64, nil, 51, 52, 52,
227
- 63, 63, nil, 54, 54, 55, 55, nil, 52, 52,
228
- 63, 63, nil, 54, 54, 55, 55, 52, nil, 63,
229
- nil, 52, 54, 63, 55, 52, 54, 63, 55, 52,
230
- 54, 63, 55, nil, 54, nil, 55, 56, 56, 57,
231
- 57, nil, 58, 58, 62, 62, nil, 56, 56, 57,
232
- 57, nil, 58, 58, 62, 62, 56, nil, 57, nil,
233
- 56, 58, 57, 62, 56, 58, 57, 62, 56, 58,
234
- 57, 62, nil, 58, nil, 62, 48, 48, 48, 48,
235
- 48, 48, 48, 48, nil, 83, 83, 83, 83, 83,
236
- 83, 83, 83, 34, 34, 34, 34, 34, 34, 34,
237
- 34, nil, 48, nil, nil, nil, 48, 83, nil, nil,
238
- nil, nil, nil, nil, nil, 83, nil, nil, nil, nil,
239
- nil, nil, nil, 34, 39, 39, 39, 39, 39, 39,
240
- 39, 39, 102, 102, 102, 102, 102, 102, 102, 102,
241
- 101, 101, 101, 101, 101, 101, 101, 101, nil, nil,
242
- nil, nil, nil, nil, 39, nil, nil, nil, nil, nil,
243
- nil, nil, 102, nil, nil, nil, nil, nil, nil, nil,
244
- 101 ]
204
+ 85, 85, 85, 85, 85, 84, 84, 84, 94, 81,
205
+ 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
206
+ 83, 83, 83, 123, 53, 73, 85, 124, 96, 124,
207
+ 35, 84, 123, 53, 94, 85, 83, 83, 34, 35,
208
+ 84, 97, 73, 94, 95, 83, 87, 87, 87, 87,
209
+ 87, 87, 87, 88, 88, 88, 88, 88, 88, 88,
210
+ 89, 89, 89, 89, 89, 89, 89, 97, 51, 34,
211
+ 44, 92, 87, 44, 40, 103, 97, 51, 37, 88,
212
+ 92, 87, 66, 99, 37, 99, 89, 105, 88, 105,
213
+ 39, 49, 36, 75, 23, 89, 126, 126, 126, 126,
214
+ 126, 126, 126, 126, 126, 126, 126, 126, 126, 90,
215
+ 90, 90, 90, 90, 90, 90, 86, 86, 86, 86,
216
+ 86, 16, 126, 91, 91, 91, 91, 91, 91, 91,
217
+ 11, 126, 117, 118, 119, 90, 120, 122, 78, 80,
218
+ 7, 6, 86, 5, 90, 98, 98, 98, 133, 91,
219
+ 4, 86, nil, nil, nil, nil, 65, 65, 91, 93,
220
+ 93, 93, 93, 93, 93, 93, 65, 65, nil, nil,
221
+ nil, 98, nil, nil, nil, 65, nil, nil, 65, 65,
222
+ 98, nil, nil, 65, nil, 93, nil, 65, nil, nil,
223
+ nil, nil, nil, nil, 93, 47, 47, 47, 47, 47,
224
+ 47, 47, 47, 47, 47, 47, 47, 47, 101, 101,
225
+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
226
+ 101, 47, nil, nil, nil, nil, 47, nil, nil, nil,
227
+ 47, nil, nil, nil, 101, nil, nil, nil, nil, nil,
228
+ nil, nil, nil, 101, 33, 33, 33, 33, 33, 33,
229
+ 33, 33, 33, 33, 33, 33, 33, 102, 102, 102,
230
+ 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
231
+ 33, nil, nil, nil, nil, nil, nil, nil, nil, 33,
232
+ nil, nil, nil, 102, nil, nil, nil, nil, nil, nil,
233
+ nil, nil, 102, 38, 38, 38, 38, 38, 38, 38,
234
+ 38, 38, 38, 38, 38, 38, nil, 108, 108, nil,
235
+ nil, nil, nil, nil, nil, nil, nil, 108, 108, 38,
236
+ nil, 108, 108, nil, 108, 108, 108, 108, 38, 108,
237
+ 108, nil, 108, nil, 108, 110, 110, nil, 108, nil,
238
+ nil, 106, 106, nil, nil, 110, 110, nil, nil, nil,
239
+ nil, 106, 106, nil, 110, nil, nil, 110, 110, nil,
240
+ 106, nil, 110, 106, 106, nil, 110, nil, 106, 42,
241
+ 42, nil, 106, nil, nil, nil, nil, nil, nil, 42,
242
+ 42, nil, 42, 42, 42, nil, 42, 42, 42, 42,
243
+ nil, 42, 42, nil, 42, nil, 42, 43, 43, nil,
244
+ 42, nil, nil, 32, 32, nil, nil, 43, 43, nil,
245
+ nil, nil, nil, 32, 32, nil, 43, nil, nil, 43,
246
+ 43, nil, 32, nil, 43, 32, 32, nil, 43, nil,
247
+ 32, 46, 46, nil, 32, nil, nil, 26, 26, nil,
248
+ nil, 46, 46, nil, nil, nil, nil, 26, 26, nil,
249
+ 46, nil, nil, 46, 46, nil, 26, nil, 46, 26,
250
+ 26, nil, 46, nil, 26, 48, 48, nil, 26, nil,
251
+ nil, 25, 25, nil, nil, 48, 48, nil, nil, nil,
252
+ nil, 25, 25, nil, 48, nil, nil, 48, 48, nil,
253
+ 25, nil, 48, 25, 25, nil, 48, nil, 25, 50,
254
+ 50, nil, 25, nil, nil, 112, 112, nil, nil, 50,
255
+ 50, nil, nil, nil, nil, 112, 112, nil, 50, nil,
256
+ nil, 50, 50, nil, 112, nil, 50, 112, 112, nil,
257
+ 50, nil, 112, 19, 19, nil, 112, nil, nil, nil,
258
+ nil, nil, nil, 19, 19, nil, nil, 19, 19, nil,
259
+ 19, 19, 19, 19, nil, 19, 19, nil, 19, nil,
260
+ 19, 54, 54, nil, 19, nil, nil, 55, 55, nil,
261
+ nil, 54, 54, nil, nil, nil, nil, 55, 55, nil,
262
+ 54, nil, nil, 54, 54, nil, 55, nil, 54, 55,
263
+ 55, nil, 54, nil, 55, 56, 56, nil, 55, nil,
264
+ nil, 57, 57, nil, nil, 56, 56, nil, nil, nil,
265
+ nil, 57, 57, nil, 56, nil, nil, 56, 56, nil,
266
+ 57, nil, 56, 57, 57, nil, 56, nil, 57, 58,
267
+ 58, nil, 57, nil, nil, 59, 59, nil, nil, 58,
268
+ 58, nil, nil, nil, nil, 59, 59, nil, 58, nil,
269
+ nil, 58, 58, nil, 59, nil, 58, 59, 59, nil,
270
+ 58, nil, 59, 60, 60, nil, 59, nil, nil, 61,
271
+ 61, nil, nil, 60, 60, nil, nil, nil, nil, 61,
272
+ 61, nil, 60, nil, nil, 60, 60, nil, 61, nil,
273
+ 60, 61, 61, nil, 60, nil, 61, 62, 62, nil,
274
+ 61, nil, nil, 63, 63, nil, nil, 62, 62, nil,
275
+ nil, nil, nil, 63, 63, nil, 62, nil, nil, 62,
276
+ 62, nil, 63, nil, 62, 63, 63, nil, 62, nil,
277
+ 63, 64, 64, nil, 63, nil, nil, nil, nil, nil,
278
+ nil, 64, 64, nil, nil, nil, 109, 109, nil, nil,
279
+ 64, nil, nil, 64, 64, nil, 109, 109, 64, nil,
280
+ 109, 109, 64, 109, 109, 109, 109, nil, 109, 109,
281
+ nil, 109, nil, 109, 113, 113, nil, 109, nil, nil,
282
+ nil, 67, 67, nil, 113, 113, nil, nil, 13, 13,
283
+ nil, 67, 67, 113, nil, nil, 113, 113, 13, 13,
284
+ 67, 113, 113, 67, 67, 113, nil, 13, 67, nil,
285
+ 13, 13, 67, 69, 69, 13, nil, nil, nil, 13,
286
+ 71, 71, nil, 69, 69, nil, nil, 115, 115, nil,
287
+ 71, 71, 69, nil, nil, 69, 69, 115, 115, 71,
288
+ 69, 69, 71, 71, 69, nil, 115, 71, nil, 115,
289
+ 115, 71, 10, 10, 115, nil, nil, nil, 115, nil,
290
+ nil, nil, 10, 10, nil, nil, 10, 10, nil, 10,
291
+ 10, 10, 10, nil, 10, 10, nil, 10, nil, 10,
292
+ 77, 77, nil, 10, nil, nil, nil, nil, nil, nil,
293
+ 77, 77, nil, nil, 77, 77, nil, 77, 77, 77,
294
+ 77, nil, 77, 77, nil, 77, nil, 77, 129, 129,
295
+ nil, 77, nil, nil, nil, nil, nil, nil, 129, 129,
296
+ nil, nil, nil, 130, 130, nil, nil, 129, nil, nil,
297
+ 129, 129, nil, 130, 130, 129, nil, 130, 130, 129,
298
+ 130, 130, 130, 130, nil, 130, 130, nil, 130, nil,
299
+ 130, 135, 135, nil, 130, nil, nil, nil, nil, nil,
300
+ nil, 135, 135, nil, nil, 135, 135, nil, 135, 135,
301
+ 135, 135, nil, 135, 135, nil, 135, nil, 135, 2,
302
+ 2, nil, 135, nil, nil, 1, 1, nil, nil, 2,
303
+ 2, nil, nil, nil, nil, 1, 1, nil, 2, nil,
304
+ nil, 2, 2, nil, 1, nil, 2, 1, 1, nil,
305
+ 2, nil, 1, 0, 0, nil, 1, nil, nil, nil,
306
+ nil, nil, nil, 0, 0, nil, 0, 0, 0, nil,
307
+ 0, 0, 0, 0, nil, 0, 0, nil, 0, nil,
308
+ 0, 68, 68, nil, 0, nil, nil, nil, nil, nil,
309
+ nil, 68, 68, nil, nil, nil, nil, nil, nil, nil,
310
+ 68, nil, nil, 68, 68, nil, nil, nil, 68, nil,
311
+ nil, nil, 68 ]
245
312
 
246
313
  racc_action_pointer = [
247
- -10, nil, 18, 23, nil, 135, nil, 112, 92, 78,
248
- nil, nil, 132, 74, nil, 165, nil, nil, 72, nil,
249
- nil, 199, nil, nil, nil, 36, 232, 442, 284, nil,
250
- nil, nil, nil, 289, 651, 61, 40, 51, -10, 682,
251
- 106, 70, nil, 452, 480, -27, nil, 487, 634, 521,
252
- 99, 526, 558, 88, 563, 565, 597, 599, 602, nil,
253
- -34, 346, 604, 560, 524, 519, 485, 437, 405, 80,
254
- 403, nil, 398, nil, -16, nil, 58, nil, 370, 54,
255
- nil, 52, 29, 643, nil, 8, 3, -5, -16, 4,
256
- -26, -21, 49, -6, 28, -10, 36, 41, -2, 25,
257
- nil, 698, 690, 59, nil, 49, 341, nil, 313, 256,
258
- 227, nil, 167, 160, nil, 108, nil, 82, 99, 82,
259
- 96, nil, 87, 41, nil, 85, 199, nil, nil, 103,
260
- 75, nil, nil, 96, nil, 47, nil ]
314
+ 1003, 975, 969, nil, 150, 122, 102, 103, nil, nil,
315
+ 842, 93, nil, 778, nil, nil, 84, nil, nil, 523,
316
+ nil, nil, nil, 88, nil, 461, 427, nil, nil, nil,
317
+ nil, nil, 393, 237, 32, -3, 55, 44, 286, 90,
318
+ 37, nil, 359, 387, 34, nil, 421, 188, 455, 64,
319
+ 489, 35, nil, -9, 551, 557, 585, 591, 619, 625,
320
+ 653, 659, 687, 693, 721, 146, 61, 771, 1031, 803,
321
+ nil, 810, nil, 4, nil, 54, nil, 870, 100, nil,
322
+ 101, -28, nil, 3, -2, -7, 109, 39, 46, 53,
323
+ 102, 116, 38, 152, 1, 38, -9, 34, 138, 45,
324
+ nil, 201, 250, 40, nil, 49, 331, nil, 297, 736,
325
+ 325, nil, 495, 764, nil, 817, nil, 97, 112, 95,
326
+ 110, nil, 99, -10, -11, nil, 89, nil, nil, 898,
327
+ 913, nil, nil, 110, nil, 941, nil ]
261
328
 
262
329
  racc_action_default = [
263
- -2, -52, -70, -70, -22, -70, -56, -70, -1, -70,
264
- -53, -24, -70, -70, -25, -70, -26, -7, -70, -27,
265
- -5, -70, -63, -6, -62, -54, -70, -46, -70, -23,
266
- -61, -37, -51, -70, -16, -69, -54, -49, -70, -30,
267
- -70, -70, -69, -9, -70, -70, -18, -70, -70, -70,
268
- -70, -70, -70, -48, -70, -70, -70, -70, -70, -28,
269
- -50, -70, -70, -70, -70, -70, -70, -70, -70, -70,
270
- -70, -29, -70, 137, -70, -8, -70, -21, -20, -70,
271
- -55, -70, -70, -70, -17, -33, -36, -34, -35, -32,
272
- -44, -45, -39, -38, -42, -43, -40, -41, -57, -70,
273
- -3, -14, -31, -70, -12, -70, -70, -19, -70, -70,
274
- -70, -47, -70, -70, -4, -70, -10, -70, -70, -70,
275
- -65, -67, -70, -70, -60, -58, -15, -11, -13, -70,
276
- -70, -68, -59, -70, -64, -70, -66 ]
330
+ -2, -69, -69, -22, -69, -69, -1, -69, -45, -24,
331
+ -69, -69, -25, -69, -26, -7, -69, -27, -5, -69,
332
+ -62, -6, -61, -69, -43, -69, -69, -23, -60, -44,
333
+ -49, -47, -69, -16, -46, -39, -46, -69, -30, -69,
334
+ -69, -68, -9, -69, -69, -18, -69, -69, -69, -69,
335
+ -69, -38, -28, -40, -69, -69, -69, -69, -69, -69,
336
+ -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
337
+ -29, -69, 137, -69, -8, -69, -21, -20, -69, -48,
338
+ -69, -69, -17, -69, -33, -41, -42, -51, -50, -54,
339
+ -55, -52, -36, -53, -34, -56, -68, -35, -32, -69,
340
+ -3, -14, -31, -69, -12, -69, -69, -19, -69, -69,
341
+ -69, -37, -69, -69, -4, -69, -10, -69, -69, -69,
342
+ -64, -66, -69, -57, -69, -59, -15, -11, -13, -69,
343
+ -69, -67, -58, -69, -63, -69, -65 ]
277
344
 
278
345
  racc_goto_table = [
279
- 25, 46, 17, 59, 99, 5, 116, 41, 105, 8,
280
- 50, 45, 25, 38, nil, nil, nil, nil, nil, 76,
281
- 127, 25, 79, nil, 81, nil, nil, 84, 25, nil,
282
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
283
- nil, nil, nil, 25, 25, 75, 123, 25, nil, 25,
284
- nil, nil, 25, nil, nil, nil, nil, nil, nil, nil,
285
- nil, nil, nil, nil, nil, nil, nil, 107, nil, 98,
286
- nil, nil, nil, nil, 104, nil, nil, nil, 25, nil,
287
- nil, 119, nil, nil, nil, 122, nil, nil, nil, 37,
288
- 39, nil, nil, nil, nil, nil, nil, 120, 121, nil,
289
- nil, nil, 48, nil, 133, nil, 25, nil, 25, 25,
290
- 25, nil, nil, 53, nil, nil, nil, nil, 128, 134,
291
- 60, nil, nil, nil, 136, nil, nil, nil, nil, 25,
292
- 25, nil, nil, nil, nil, 25, nil, nil, 83, nil,
293
- nil, 85, 86, 87, 88, 89, nil, nil, 90, 91,
294
- 92, 93, 94, 95, 96, 97, nil, 101, nil, 102,
295
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
296
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
297
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
298
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 101,
299
- 125, nil, 126 ]
346
+ 45, 52, 35, 38, 99, 15, 116, 4, 105, 49,
347
+ 40, 6, 44, 37, 47, nil, nil, nil, 75, nil,
348
+ 127, 78, nil, 80, nil, 82, 51, nil, nil, nil,
349
+ nil, nil, nil, 53, nil, nil, nil, nil, nil, nil,
350
+ nil, nil, nil, nil, nil, nil, nil, 74, 124, nil,
351
+ nil, nil, nil, nil, nil, 83, 84, 85, 86, 87,
352
+ 88, 89, 90, 91, 92, 93, 94, 107, 97, 98,
353
+ 101, 95, 102, nil, nil, nil, nil, nil, 104, nil,
354
+ nil, 119, nil, nil, nil, 122, nil, nil, nil, nil,
355
+ nil, nil, nil, nil, nil, nil, nil, nil, 120, 121,
356
+ nil, nil, nil, nil, 133, nil, nil, nil, nil, nil,
357
+ nil, nil, nil, 123, 101, nil, 126, nil, nil, nil,
358
+ 134, nil, nil, 128, nil, 136 ]
300
359
 
301
360
  racc_goto_check = [
302
- 8, 6, 5, 12, 4, 1, 9, 8, 10, 2,
303
- 6, 13, 8, 19, nil, nil, nil, nil, nil, 12,
304
- 9, 8, 12, nil, 12, nil, nil, 12, 8, nil,
305
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
306
- nil, nil, nil, 8, 8, 5, 4, 8, nil, 8,
307
- nil, nil, 8, nil, nil, nil, nil, nil, nil, nil,
308
- nil, nil, nil, nil, nil, nil, nil, 6, nil, 8,
309
- nil, nil, nil, nil, 8, nil, nil, nil, 8, nil,
310
- nil, 12, nil, nil, nil, 12, nil, nil, nil, 11,
311
- 11, nil, nil, nil, nil, nil, nil, 6, 6, nil,
312
- nil, nil, 11, nil, 12, nil, 8, nil, 8, 8,
313
- 8, nil, nil, 11, nil, nil, nil, nil, 8, 6,
314
- 11, nil, nil, nil, 6, nil, nil, nil, nil, 8,
315
- 8, nil, nil, nil, nil, 8, nil, nil, 11, nil,
316
- nil, 11, 11, 11, 11, 11, nil, nil, 11, 11,
317
- 11, 11, 11, 11, 11, 11, nil, 11, nil, 11,
318
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
319
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
320
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
321
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 11,
322
- 11, nil, 11 ]
361
+ 6, 12, 11, 11, 4, 5, 9, 1, 10, 6,
362
+ 8, 2, 13, 19, 11, nil, nil, nil, 12, nil,
363
+ 9, 12, nil, 12, nil, 12, 11, nil, nil, nil,
364
+ nil, nil, nil, 11, nil, nil, nil, nil, nil, nil,
365
+ nil, nil, nil, nil, nil, nil, nil, 5, 4, nil,
366
+ nil, nil, nil, nil, nil, 11, 11, 11, 11, 11,
367
+ 11, 11, 11, 11, 11, 11, 11, 6, 11, 11,
368
+ 11, 8, 11, nil, nil, nil, nil, nil, 8, nil,
369
+ nil, 12, nil, nil, nil, 12, nil, nil, nil, nil,
370
+ nil, nil, nil, nil, nil, nil, nil, nil, 6, 6,
371
+ nil, nil, nil, nil, 12, nil, nil, nil, nil, nil,
372
+ nil, nil, nil, 11, 11, nil, 11, nil, nil, nil,
373
+ 6, nil, nil, 8, nil, 6 ]
323
374
 
324
375
  racc_goto_pointer = [
325
- nil, 5, 9, nil, -66, 2, -11, nil, 0, -97,
326
- -66, 87, -25, -1, nil, nil, nil, nil, nil, 10,
327
- nil, nil, nil, nil, nil ]
376
+ nil, 7, 11, nil, -65, 5, -10, nil, 5, -97,
377
+ -65, 1, -25, 2, nil, nil, nil, nil, nil, 11,
378
+ nil, nil, nil ]
328
379
 
329
380
  racc_goto_default = [
330
- nil, nil, nil, 10, nil, nil, 20, 23, 36, 29,
331
- nil, 34, 4, nil, 11, 14, 16, 19, 22, nil,
332
- 27, 31, 32, 1, 6 ]
381
+ nil, nil, nil, 8, nil, nil, 18, 21, 23, 27,
382
+ nil, 33, 3, nil, 9, 12, 14, 17, 20, nil,
383
+ 24, 29, 30 ]
333
384
 
334
385
  racc_reduce_table = [
335
386
  0, 0, :racc_error,
@@ -369,41 +420,40 @@ racc_reduce_table = [
369
420
  3, 54, :_reduce_34,
370
421
  3, 54, :_reduce_35,
371
422
  3, 54, :_reduce_36,
423
+ 4, 54, :_reduce_37,
424
+ 2, 54, :_reduce_38,
425
+ 2, 54, :_reduce_39,
426
+ 2, 54, :_reduce_none,
427
+ 3, 54, :_reduce_41,
428
+ 3, 54, :_reduce_42,
372
429
  1, 54, :_reduce_none,
373
- 3, 65, :_reduce_38,
374
- 3, 65, :_reduce_39,
375
- 3, 65, :_reduce_40,
376
- 3, 65, :_reduce_41,
377
- 3, 65, :_reduce_42,
378
- 3, 65, :_reduce_43,
379
- 3, 65, :_reduce_44,
380
- 3, 65, :_reduce_45,
381
- 1, 64, :_reduce_none,
382
- 4, 64, :_reduce_47,
383
- 2, 64, :_reduce_48,
384
- 2, 64, :_reduce_49,
385
- 2, 64, :_reduce_none,
386
- 1, 64, :_reduce_none,
387
- 1, 64, :_reduce_none,
388
- 1, 64, :_reduce_none,
389
- 1, 63, :_reduce_54,
430
+ 1, 54, :_reduce_none,
431
+ 1, 54, :_reduce_none,
432
+ 1, 54, :_reduce_46,
433
+ 1, 54, :_reduce_47,
434
+ 3, 54, :_reduce_48,
435
+ 1, 54, :_reduce_none,
436
+ 3, 63, :_reduce_50,
437
+ 3, 63, :_reduce_51,
438
+ 3, 63, :_reduce_52,
439
+ 3, 63, :_reduce_53,
440
+ 3, 63, :_reduce_54,
390
441
  3, 63, :_reduce_55,
391
- 1, 63, :_reduce_56,
392
- 3, 66, :_reduce_57,
393
- 5, 66, :_reduce_58,
394
- 6, 66, :_reduce_59,
395
- 5, 66, :_reduce_60,
396
- 1, 67, :_reduce_61,
397
- 1, 67, :_reduce_62,
398
- 1, 67, :_reduce_none,
399
- 7, 58, :_reduce_64,
400
- 5, 58, :_reduce_65,
401
- 9, 57, :_reduce_66,
402
- 5, 59, :_reduce_67,
403
- 6, 59, :_reduce_68,
404
- 1, 51, :_reduce_69 ]
405
-
406
- racc_reduce_n = 70
442
+ 3, 64, :_reduce_56,
443
+ 5, 64, :_reduce_57,
444
+ 6, 64, :_reduce_58,
445
+ 5, 64, :_reduce_59,
446
+ 1, 65, :_reduce_60,
447
+ 1, 65, :_reduce_61,
448
+ 1, 65, :_reduce_none,
449
+ 7, 58, :_reduce_63,
450
+ 5, 58, :_reduce_64,
451
+ 9, 57, :_reduce_65,
452
+ 5, 59, :_reduce_66,
453
+ 6, 59, :_reduce_67,
454
+ 1, 51, :_reduce_68 ]
455
+
456
+ racc_reduce_n = 69
407
457
 
408
458
  racc_shift_n = 137
409
459
 
@@ -536,8 +586,6 @@ Racc_token_to_s_table = [
536
586
  "return",
537
587
  "ARRAY",
538
588
  "array_content",
539
- "atom",
540
- "exp0",
541
589
  "comp",
542
590
  "objcall",
543
591
  "const" ]
@@ -559,14 +607,14 @@ module_eval(<<'.,.,', 'ecma.y', 31)
559
607
 
560
608
  module_eval(<<'.,.,', 'ecma.y', 33)
561
609
  def _reduce_3(val, _values, result)
562
- result = RVM::Interpreter::FunctionCall.new(val[0], [])
610
+ result = RVM::Interpreter::FunctionCall.new(val[0][0], [], val[0][1])
563
611
  result
564
612
  end
565
613
  .,.,
566
614
 
567
615
  module_eval(<<'.,.,', 'ecma.y', 34)
568
616
  def _reduce_4(val, _values, result)
569
- result = RVM::Interpreter::FunctionCall.new(val[0], val[2])
617
+ result = RVM::Interpreter::FunctionCall.new(val[0][0], val[2], val[0][1])
570
618
  result
571
619
  end
572
620
  .,.,
@@ -764,176 +812,174 @@ module_eval(<<'.,.,', 'ecma.y', 106)
764
812
  end
765
813
  .,.,
766
814
 
767
- # reduce 37 omitted
815
+ module_eval(<<'.,.,', 'ecma.y', 107)
816
+ def _reduce_37(val, _values, result)
817
+ result = RVM::Interpreter::FunctionCall.new(:at, [result, val[2]])
818
+ result
819
+ end
820
+ .,.,
768
821
 
769
- module_eval(<<'.,.,', 'ecma.y', 109)
822
+ module_eval(<<'.,.,', 'ecma.y', 108)
770
823
  def _reduce_38(val, _values, result)
771
- result = RVM::Interpreter::FunctionCall.new(:lt, [result, val[2]])
824
+ result = RVM::Interpreter::FunctionCall.new(:not, [val[1]])
772
825
  result
773
826
  end
774
827
  .,.,
775
828
 
776
- module_eval(<<'.,.,', 'ecma.y', 110)
829
+ module_eval(<<'.,.,', 'ecma.y', 109)
777
830
  def _reduce_39(val, _values, result)
778
- result = RVM::Interpreter::FunctionCall.new(:gt, [result, val[2]])
831
+ result = RVM::Interpreter::FunctionCall.new(:neg, [val[1]])
779
832
  result
780
833
  end
781
834
  .,.,
782
835
 
836
+ # reduce 40 omitted
837
+
783
838
  module_eval(<<'.,.,', 'ecma.y', 111)
784
- def _reduce_40(val, _values, result)
785
- result = RVM::Interpreter::FunctionCall.new(:eq, [result, val[2]])
839
+ def _reduce_41(val, _values, result)
840
+ result = RVM::Interpreter::FunctionCall.new(:and, [result, val[2]])
786
841
  result
787
842
  end
788
843
  .,.,
789
844
 
790
845
  module_eval(<<'.,.,', 'ecma.y', 112)
791
- def _reduce_41(val, _values, result)
792
- result = RVM::Interpreter::FunctionCall.new(:neq, [result, val[2]])
846
+ def _reduce_42(val, _values, result)
847
+ result = RVM::Interpreter::FunctionCall.new(:or, [result, val[2]])
793
848
  result
794
849
  end
795
850
  .,.,
796
851
 
797
- module_eval(<<'.,.,', 'ecma.y', 113)
798
- def _reduce_42(val, _values, result)
799
- result = RVM::Interpreter::FunctionCall.new(:gte, [result, val[2]])
852
+ # reduce 43 omitted
853
+
854
+ # reduce 44 omitted
855
+
856
+ # reduce 45 omitted
857
+
858
+ module_eval(<<'.,.,', 'ecma.y', 116)
859
+ def _reduce_46(val, _values, result)
860
+ result = RVM::Interpreter::Variable.new(RVM::Interpreter.const(:string,result[0], result[1][1]))
800
861
  result
801
862
  end
802
863
  .,.,
803
864
 
804
- module_eval(<<'.,.,', 'ecma.y', 114)
805
- def _reduce_43(val, _values, result)
806
- result = RVM::Interpreter::FunctionCall.new(:lte, [result, val[2]])
865
+ module_eval(<<'.,.,', 'ecma.y', 117)
866
+ def _reduce_47(val, _values, result)
867
+ result = RVM::Interpreter::Variable.new(:self)
807
868
  result
808
869
  end
809
870
  .,.,
810
871
 
811
- module_eval(<<'.,.,', 'ecma.y', 115)
812
- def _reduce_44(val, _values, result)
813
- result = RVM::Interpreter::FunctionCall.new(:and, [result, val[2]])
872
+ module_eval(<<'.,.,', 'ecma.y', 118)
873
+ def _reduce_48(val, _values, result)
874
+ result = val[1]
814
875
  result
815
876
  end
816
877
  .,.,
817
878
 
818
- module_eval(<<'.,.,', 'ecma.y', 116)
819
- def _reduce_45(val, _values, result)
820
- result = RVM::Interpreter::FunctionCall.new(:or, [result, val[2]])
879
+ # reduce 49 omitted
880
+
881
+ module_eval(<<'.,.,', 'ecma.y', 121)
882
+ def _reduce_50(val, _values, result)
883
+ result = RVM::Interpreter::FunctionCall.new(:lt, [result, val[2]])
821
884
  result
822
885
  end
823
886
  .,.,
824
887
 
825
- # reduce 46 omitted
826
-
827
- module_eval(<<'.,.,', 'ecma.y', 119)
828
- def _reduce_47(val, _values, result)
829
- result = RVM::Interpreter::FunctionCall.new(:at, val[0])
888
+ module_eval(<<'.,.,', 'ecma.y', 122)
889
+ def _reduce_51(val, _values, result)
890
+ result = RVM::Interpreter::FunctionCall.new(:gt, [result, val[2]])
830
891
  result
831
892
  end
832
893
  .,.,
833
894
 
834
- module_eval(<<'.,.,', 'ecma.y', 120)
835
- def _reduce_48(val, _values, result)
836
- result = RVM::Interpreter::FunctionCall.new(:not, [result, val[2]])
895
+ module_eval(<<'.,.,', 'ecma.y', 123)
896
+ def _reduce_52(val, _values, result)
897
+ result = RVM::Interpreter::FunctionCall.new(:eq, [result, val[2]])
837
898
  result
838
899
  end
839
900
  .,.,
840
901
 
841
- module_eval(<<'.,.,', 'ecma.y', 121)
842
- def _reduce_49(val, _values, result)
843
- result = RVM::Interpreter::FunctionCall.new(:neg, [val[1]])
902
+ module_eval(<<'.,.,', 'ecma.y', 124)
903
+ def _reduce_53(val, _values, result)
904
+ result = RVM::Interpreter::FunctionCall.new(:neq, [result, val[2]])
844
905
  result
845
906
  end
846
907
  .,.,
847
908
 
848
- # reduce 50 omitted
849
-
850
- # reduce 51 omitted
851
-
852
- # reduce 52 omitted
853
-
854
- # reduce 53 omitted
855
-
856
- module_eval(<<'.,.,', 'ecma.y', 128)
909
+ module_eval(<<'.,.,', 'ecma.y', 125)
857
910
  def _reduce_54(val, _values, result)
858
- result = RVM::Interpreter::Variable.new(result)
911
+ result = RVM::Interpreter::FunctionCall.new(:gte, [result, val[2]])
859
912
  result
860
913
  end
861
914
  .,.,
862
915
 
863
- module_eval(<<'.,.,', 'ecma.y', 129)
916
+ module_eval(<<'.,.,', 'ecma.y', 126)
864
917
  def _reduce_55(val, _values, result)
865
- result = val[1]
918
+ result = RVM::Interpreter::FunctionCall.new(:lte, [result, val[2]])
866
919
  result
867
920
  end
868
921
  .,.,
869
922
 
870
- module_eval(<<'.,.,', 'ecma.y', 130)
923
+ module_eval(<<'.,.,', 'ecma.y', 128)
871
924
  def _reduce_56(val, _values, result)
872
- result
925
+ result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Variable.new(val[2]))
873
926
  result
874
927
  end
875
928
  .,.,
876
929
 
877
- module_eval(<<'.,.,', 'ecma.y', 132)
930
+ module_eval(<<'.,.,', 'ecma.y', 129)
878
931
  def _reduce_57(val, _values, result)
879
- result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Variable.new(val[2]))
932
+ result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Assignment.new(val[2], val[4]))
880
933
  result
881
934
  end
882
935
  .,.,
883
936
 
884
- module_eval(<<'.,.,', 'ecma.y', 133)
937
+ module_eval(<<'.,.,', 'ecma.y', 130)
885
938
  def _reduce_58(val, _values, result)
886
- result = RVM::Interpreter::ObjectContext.new(val[0], RVM::Interpreter::Assignment.new(val[2], val[4]))
939
+ result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2][0], val[4]))
887
940
  result
888
941
  end
889
942
  .,.,
890
943
 
891
- module_eval(<<'.,.,', 'ecma.y', 134)
944
+ module_eval(<<'.,.,', 'ecma.y', 131)
892
945
  def _reduce_59(val, _values, result)
893
- result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2], val[3]))
946
+ result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2][0], []))
894
947
  result
895
948
  end
896
949
  .,.,
897
950
 
898
- module_eval(<<'.,.,', 'ecma.y', 135)
951
+ module_eval(<<'.,.,', 'ecma.y', 133)
899
952
  def _reduce_60(val, _values, result)
900
- result = RVM::Interpreter::ObjectContext.new(val[0],RVM::Interpreter::FunctionCall.new(val[2], []))
953
+ result = RVM::Interpreter.const(:number, val[0][0], val[0][1])
901
954
  result
902
955
  end
903
956
  .,.,
904
957
 
905
- module_eval(<<'.,.,', 'ecma.y', 137)
958
+ module_eval(<<'.,.,', 'ecma.y', 134)
906
959
  def _reduce_61(val, _values, result)
907
- result = RVM::Interpreter.const(:number, val[0][0])
960
+ result = RVM::Interpreter.const(:string, val[0][0], val[0][1])
908
961
  result
909
962
  end
910
963
  .,.,
911
964
 
912
- module_eval(<<'.,.,', 'ecma.y', 138)
913
- def _reduce_62(val, _values, result)
914
- result = RVM::Interpreter.const(:string, val[0][0])
915
- result
916
- end
917
- .,.,
965
+ # reduce 62 omitted
918
966
 
919
- # reduce 63 omitted
920
-
921
- module_eval(<<'.,.,', 'ecma.y', 141)
922
- def _reduce_64(val, _values, result)
967
+ module_eval(<<'.,.,', 'ecma.y', 137)
968
+ def _reduce_63(val, _values, result)
923
969
  result = RVM::Interpreter::Condition.new(val[2], val[4], val[6])
924
970
  result
925
971
  end
926
972
  .,.,
927
973
 
928
- module_eval(<<'.,.,', 'ecma.y', 142)
929
- def _reduce_65(val, _values, result)
974
+ module_eval(<<'.,.,', 'ecma.y', 138)
975
+ def _reduce_64(val, _values, result)
930
976
  result = RVM::Interpreter::Condition.new(val[2], val[4])
931
977
  result
932
978
  end
933
979
  .,.,
934
980
 
935
- module_eval(<<'.,.,', 'ecma.y', 145)
936
- def _reduce_66(val, _values, result)
981
+ module_eval(<<'.,.,', 'ecma.y', 141)
982
+ def _reduce_65(val, _values, result)
937
983
  init = val[2]
938
984
  cond = val[4]
939
985
  event = val[6]
@@ -955,8 +1001,8 @@ module_eval(<<'.,.,', 'ecma.y', 145)
955
1001
  end
956
1002
  .,.,
957
1003
 
958
- module_eval(<<'.,.,', 'ecma.y', 164)
959
- def _reduce_67(val, _values, result)
1004
+ module_eval(<<'.,.,', 'ecma.y', 160)
1005
+ def _reduce_66(val, _values, result)
960
1006
  cond = val[2]
961
1007
  body = val[4]
962
1008
  result = RVM::Interpreter::Block.new(
@@ -967,8 +1013,8 @@ module_eval(<<'.,.,', 'ecma.y', 164)
967
1013
  end
968
1014
  .,.,
969
1015
 
970
- module_eval(<<'.,.,', 'ecma.y', 171)
971
- def _reduce_68(val, _values, result)
1016
+ module_eval(<<'.,.,', 'ecma.y', 167)
1017
+ def _reduce_67(val, _values, result)
972
1018
  cond = val[4]
973
1019
  body = val[1]
974
1020
  result = RVM::Interpreter::Block.new(
@@ -981,9 +1027,9 @@ module_eval(<<'.,.,', 'ecma.y', 171)
981
1027
  end
982
1028
  .,.,
983
1029
 
984
- module_eval(<<'.,.,', 'ecma.y', 180)
985
- def _reduce_69(val, _values, result)
986
- result = RVM::Interpreter.const(:string,result[0])
1030
+ module_eval(<<'.,.,', 'ecma.y', 176)
1031
+ def _reduce_68(val, _values, result)
1032
+ result = RVM::Interpreter.const(:string,result[0], result[1][1])
987
1033
  result
988
1034
  end
989
1035
  .,.,