fabulator 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. data/History.txt +30 -1
  2. data/VERSION +1 -1
  3. data/features/functions.feature +7 -0
  4. data/features/primitives.feature +1 -1
  5. data/features/step_definitions/template_steps.rb +40 -3
  6. data/features/step_definitions/xml_steps.rb +3 -2
  7. data/features/templates.feature +49 -22
  8. data/features/types.feature +4 -4
  9. data/lib/fabulator.rb +4 -0
  10. data/lib/fabulator/compiler.rb +27 -0
  11. data/lib/fabulator/core.rb +3 -8
  12. data/lib/fabulator/core/actions/choose.rb +0 -18
  13. data/lib/fabulator/core/actions/for_each.rb +0 -48
  14. data/lib/fabulator/core/{actions.rb → lib.rb} +189 -117
  15. data/lib/fabulator/core/structurals.rb +7 -0
  16. data/lib/fabulator/core/{constraint.rb → structurals/constraint.rb} +2 -0
  17. data/lib/fabulator/core/{filter.rb → structurals/filter.rb} +2 -0
  18. data/lib/fabulator/core/{group.rb → structurals/group.rb} +2 -0
  19. data/lib/fabulator/core/{parameter.rb → structurals/parameter.rb} +2 -0
  20. data/lib/fabulator/core/{state.rb → structurals/state.rb} +2 -0
  21. data/lib/fabulator/core/{state_machine.rb → structurals/state_machine.rb} +2 -0
  22. data/lib/fabulator/core/{transition.rb → structurals/transition.rb} +2 -0
  23. data/lib/fabulator/expr.rb +6 -0
  24. data/lib/fabulator/expr/context.rb +65 -10
  25. data/lib/fabulator/expr/node_logic.rb +3 -2
  26. data/lib/fabulator/expr/parser.rb +787 -638
  27. data/lib/fabulator/expr/statement_list.rb +27 -0
  28. data/lib/fabulator/lib.rb +3 -0
  29. data/lib/fabulator/lib/action.rb +12 -9
  30. data/lib/fabulator/lib/lib.rb +85 -9
  31. data/lib/fabulator/structural.rb +24 -5
  32. data/lib/fabulator/tag_lib.rb +78 -124
  33. data/lib/fabulator/tag_lib/presentations.rb +39 -0
  34. data/lib/fabulator/tag_lib/transformations.rb +66 -0
  35. data/lib/fabulator/tag_lib/type.rb +176 -0
  36. data/lib/fabulator/template/parse_result.rb +125 -62
  37. data/lib/fabulator/template/parser.rb +17 -1
  38. data/xslt/form.xsl +163 -2083
  39. data/xsm_expression_parser.racc +35 -20
  40. metadata +17 -13
  41. data/lib/fabulator/context.rb +0 -39
@@ -6,6 +6,7 @@ module Fabulator
6
6
  end
7
7
 
8
8
  module Core
9
+ module Structurals
9
10
 
10
11
  class StateMachine < Structural
11
12
  attr_accessor :states, :missing_params, :errors, :namespaces, :updated_at
@@ -127,3 +128,4 @@ module Fabulator
127
128
  end
128
129
  end
129
130
  end
131
+ end
@@ -1,5 +1,6 @@
1
1
  module Fabulator
2
2
  module Core
3
+ module Structurals
3
4
  class Transition < Fabulator::Structural
4
5
  attr_accessor :state, :validations, :tags
5
6
 
@@ -108,3 +109,4 @@ module Fabulator
108
109
  end
109
110
  end
110
111
  end
112
+ end
@@ -33,5 +33,11 @@ module Fabulator
33
33
  @node = n
34
34
  end
35
35
  end
36
+
37
+ class VariableAlreadyDefined < StandardError
38
+ def initialize(v)
39
+ @variable = v
40
+ end
41
+ end
36
42
  end
37
43
  end
@@ -7,10 +7,10 @@ module Fabulator
7
7
  @run_time_parent = nil
8
8
  @ns = { }
9
9
  @attributes = { }
10
- @variables = { }
11
10
  @position = nil
12
11
  @last = nil
13
12
  @line_num = nil
13
+ @finalizations = [ ]
14
14
 
15
15
  if parent_context.nil?
16
16
  if xml.nil? || (xml.root rescue nil).nil?
@@ -77,6 +77,11 @@ module Fabulator
77
77
  self.class.new(self, s)
78
78
  end
79
79
 
80
+ def to(t)
81
+ self.with_root(self.root.to(t, self))
82
+ end
83
+
84
+
80
85
  def attribute(ns, attr, popts = { })
81
86
  opts = { :static => !@run_time_parent.nil? && !self.root.nil? }.update(popts)
82
87
  value = nil
@@ -154,13 +159,9 @@ module Fabulator
154
159
  end
155
160
 
156
161
  def get_var(v)
157
- if !@variables.has_key?(v)
162
+ if @variables.nil? || !@variables.has_key?(v)
158
163
  if @run_time_parent.nil?
159
- if @parent.nil?
160
- nil
161
- else
162
- @parent.get_var(v)
163
- end
164
+ @parent.nil? ? nil : @parent.get_var(v)
164
165
  else
165
166
  @run_time_parent.get_var(v)
166
167
  end
@@ -170,16 +171,38 @@ module Fabulator
170
171
  end
171
172
 
172
173
  def set_var(v,vv)
174
+ @variables ||= { }
175
+ if @variables.has_key?(v)
176
+ raise Fabulator::Expr::VariableAlreadyDefined.new(v)
177
+ end
173
178
  @variables[v] = vv
174
179
  end
175
180
 
181
+ def set_scoped_info(k, v)
182
+ @scoped_info ||= { }
183
+ @scoped_info[k] = v
184
+ end
185
+
186
+ def get_scoped_info(k)
187
+ if @scoped_info.nil? || !@scoped_info.has_key?(k)
188
+ if @run_time_parent.nil?
189
+ @parent.nil? ? nil : @parent.get_scoped_info(k)
190
+ else
191
+ @run_time_parent.get_scoped_info(k)
192
+ end
193
+ else
194
+ @scoped_info[k]
195
+ end
196
+ end
197
+
176
198
  def get_ns(n)
177
- return @ns[n] if @ns.has_key?(n)
199
+ return @ns[n] if !@ns.nil? && @ns.has_key?(n)
178
200
  return @parent.get_ns(n) unless @parent.nil?
179
201
  return nil
180
202
  end
181
203
 
182
204
  def set_ns(n,h)
205
+ @ns ||= { }
183
206
  @ns[n] = h
184
207
  end
185
208
 
@@ -374,10 +397,24 @@ module Fabulator
374
397
 
375
398
  def compile_action(e)
376
399
  ns = e.namespaces.namespace.href
377
- return unless Fabulator::TagLib.namespaces.include?(ns)
400
+ return unless Fabulator::TagLib.namespaces.has_key?(ns)
378
401
  Fabulator::TagLib.namespaces[ns].compile_action(e, self)
379
402
  end
380
403
 
404
+ def get_action(ns, nom)
405
+ return unless Fabulator::TagLib.namespaces.include?(ns)
406
+ Fabulator::TagLib.namespaces[ns].get_action(nom, self)
407
+ end
408
+
409
+ def action_exists?(ns, nom)
410
+ if ns == FAB_NS
411
+ return true if ['ensure', 'catch'].include?(nom.to_s)
412
+ end
413
+
414
+ return false unless Fabulator::TagLib.namespaces.has_key?(ns)
415
+ return Fabulator::TagLib.namespaces[ns].action_exists?(nom)
416
+ end
417
+
381
418
  def compile_structurals(xml)
382
419
  #local_ctx = self.merge(xml)
383
420
  structs = { }
@@ -387,6 +424,7 @@ module Fabulator
387
424
  ns = e.namespaces.namespace.href
388
425
  nom = e.name.to_sym
389
426
  allowed = (Fabulator::TagLib.namespaces[our_ns].structural_class(our_nom).accepts_structural?(ns, nom) rescue false)
427
+ raise "Unknown or inappropriate tag #{ns} #{nom} in #{our_ns} #{our_nom}" unless allowed || self.action_exists?(ns, nom)
390
428
  next unless allowed
391
429
  structs[ns] ||= { }
392
430
  structs[ns][nom] ||= [ ]
@@ -413,8 +451,25 @@ module Fabulator
413
451
  # context with the given context.
414
452
  def with(context, &block)
415
453
  ctx = self.merge(context)
416
- yield ctx
454
+ ret = []
455
+ begin
456
+ ret = yield ctx
457
+ ensure
458
+ ctx.clean_up
459
+ end
460
+ ret
461
+ end
462
+
463
+ def clean_up(&block)
464
+ if block.nil?
465
+ @finalizations.each do |f|
466
+ f.call(self)
467
+ end
468
+ else
469
+ @finalizations << block
470
+ end
417
471
  end
472
+
418
473
 
419
474
  # Iterates through the list of items running the given block with
420
475
  # a new context with the current node set to the item.
@@ -21,7 +21,7 @@ module Fabulator
21
21
  r
22
22
  end
23
23
 
24
- def to(t)
24
+ def to(t, ctx = nil)
25
25
  if @vtype.nil? || t.nil?
26
26
  return self.anon_node(self.value, self.vtype)
27
27
  end
@@ -34,10 +34,11 @@ module Fabulator
34
34
  path = Fabulator::TagLib.type_path(self.vtype, t)
35
35
  return self.anon_node(nil,nil) if path.empty?
36
36
  v = self
37
+ ctx = Fabulator::Expr::Context.new if ctx.nil?
37
38
  path.each do |p|
38
39
  vv = nil
39
40
  begin
40
- vv = p.call(v)
41
+ vv = p.convert(ctx.with_root(v))
41
42
  rescue => e
42
43
  raise "Converting to #{t[1]} raised #{e}"
43
44
  end
@@ -9,7 +9,7 @@ module Fabulator
9
9
  module Expr
10
10
  class Parser < Racc::Parser
11
11
 
12
- module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expression_parser.racc', 189)
12
+ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expression_parser.racc', 197)
13
13
  # == Fabulator Expression Parser
14
14
  #
15
15
  # <tt>Fabulator::Expr::Parser</tt> provides a parser for Fabulator
@@ -41,7 +41,7 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
41
41
  def parse(text, context)
42
42
  @source = text
43
43
  @curpos = 0
44
- @context = context
44
+ @context = context.merge
45
45
  @line = 0
46
46
  @col = 0
47
47
 
@@ -72,6 +72,7 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
72
72
  @@regex[:axis] = %r{(#{@@regex[:ncname]})\s*(?=::)}
73
73
  @@regex[:name_colon_star] = %r{(#{@@regex[:ncname]}:\*)}
74
74
  @@regex[:qname] = %r{((?:#{@@regex[:ncname]}:)?#{@@regex[:ncname]})}
75
+ @@regex[:xmlns] = %r{((?:xmlns:)#{@@regex[:ncname]})}
75
76
  @@regex[:dollar_qname] = %r{\$#{@@regex[:qname]}}
76
77
  @@regex[:dollar_int] = %r{\$([0-9]+)}
77
78
  @@regex[:function_name] = %r{#{@@regex[:qname]}\??\*?\s*(?=\([^:])}
@@ -114,7 +115,7 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
114
115
  == & && ||
115
116
  }.split(/\s*/), '[', ',', '$' ].each { |t| @@preceding_tokens[t] = true }
116
117
 
117
- @@regex[:general] = Regexp.compile(%{^(?:#{@@regex[:function_name]}|#{@@regex[:axis]}|#{@@regex[:name_colon_star]}|#{@@regex[:qname]}|#{@@regex[:literal]}|#{@@regex[:number]}|#{@@regex[:dollar_qname]}|#{@@regex[:dollar_int]}|(#{@@regex[:simple_tokens]}))})
118
+ @@regex[:general] = Regexp.compile(%{^(?:#{@@regex[:xmlns]}|#{@@regex[:function_name]}|#{@@regex[:axis]}|#{@@regex[:name_colon_star]}|#{@@regex[:qname]}|#{@@regex[:literal]}|#{@@regex[:number]}|#{@@regex[:dollar_qname]}|#{@@regex[:dollar_int]}|(#{@@regex[:simple_tokens]}))})
118
119
 
119
120
  def next_token
120
121
  @token = nil
@@ -217,6 +218,8 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
217
218
  @token = [ :MOD, 'mod' ]
218
219
  when 'div':
219
220
  @token = [ :DIV, 'div' ]
221
+ when 'err':
222
+ @token = [ :ERR, 'err' ]
220
223
  #when '*doh*':
221
224
  # # do nothing
222
225
  # @token = nil
@@ -244,21 +247,23 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
244
247
  raise "Failed to parse '#{@source}' at #{@curpos}': #{@source[@curpos..@source.length-1]}"
245
248
  else
246
249
  if !res[1].nil?
247
- if res[1] == 'if'
250
+ @token = [ :XMLNS_COLON_NCNAME, res[1] ]
251
+ elsif !res[2].nil?
252
+ if res[2] == 'if'
248
253
  @token = [ :IF, 'if' ]
249
254
  else
250
- if @source[@curpos+res[1].length .. @curpos+res[1].length + 1] =~ /^(\??\*?)/
251
- @token = [ :FUNCTION_NAME, res[1]+$1 ]
255
+ if @source[@curpos+res[2].length .. @curpos+res[2].length + 1] =~ /^(\??\*?)/
256
+ @token = [ :FUNCTION_NAME, res[2]+$1 ]
252
257
  else
253
- @token = [ :FUNCTION_NAME, res[1] ]
258
+ @token = [ :FUNCTION_NAME, res[2] ]
254
259
  end
255
260
  end
256
- elsif !res[2].nil?
257
- @token = [ res[2] == 'method' ? :AXIS_METHOD : :AXIS_NAME, res[2] ]
258
261
  elsif !res[3].nil?
259
- @token = [ :NAME_COLON_STAR, res[3] ]
262
+ @token = [ res[3] == 'method' ? :AXIS_METHOD : :AXIS_NAME, res[3] ]
260
263
  elsif !res[4].nil?
261
- qname = res[4]
264
+ @token = [ :NAME_COLON_STAR, res[4] ]
265
+ elsif !res[5].nil?
266
+ qname = res[5]
262
267
  case qname
263
268
  when 'for':
264
269
  @token = [ :FOR, 'for' ]
@@ -284,11 +289,13 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
284
289
  @token = [ :ELSE, 'else' ]
285
290
  when 'with':
286
291
  @token = [ :WITH, 'with' ]
292
+ when 'err':
293
+ @token = [ :ERR, 'err' ]
287
294
  else
288
- @token = [ :QNAME, res[4] ]
295
+ @token = [ :QNAME, qname ]
289
296
  end
290
- elsif !res[5].nil?
291
- s = res[5]
297
+ elsif !res[6].nil?
298
+ s = res[6]
292
299
  s = s[1..s.length-2]
293
300
  @curpos = @curpos + s.length
294
301
  @col = @col + s.length
@@ -298,18 +305,18 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
298
305
  @token = [ :LITERAL, s ]
299
306
  @curpos = @curpos + 2 # the quotes
300
307
  @col = @col + 2
301
- elsif !res[6].nil?
302
- @token = [ :NUMBER, res[6] ]
303
308
  elsif !res[7].nil?
304
- @curpos = @curpos + 1
305
- @col = @col + 1
306
- @token = [ :DOLLAR_QNAME, res[7] ]
309
+ @token = [ :NUMBER, res[7] ]
307
310
  elsif !res[8].nil?
308
311
  @curpos = @curpos + 1
309
312
  @col = @col + 1
310
313
  @token = [ :DOLLAR_QNAME, res[8] ]
311
314
  elsif !res[9].nil?
312
- @token = [ @@ops[res[9]] || res[9], res[9] ]
315
+ @curpos = @curpos + 1
316
+ @col = @col + 1
317
+ @token = [ :DOLLAR_QNAME, res[9] ]
318
+ elsif !res[10].nil?
319
+ @token = [ @@ops[res[10]] || res[10], res[10] ]
313
320
  else
314
321
  raise "Failed to parse '#{@source}' at #{@curpos}: #{@source[@curpos..@source.length-1]}"
315
322
  end
@@ -327,494 +334,608 @@ module_eval(<<'...end xsm_expression_parser.racc/module_eval...', 'xsm_expressio
327
334
  ##### State transition tables begin ###
328
335
 
329
336
  racc_action_table = [
330
- 88, 28, 29, 39, 44, 164, 109, 88, 12, 88,
331
- 74, 23, 75, 32, 109, 162, 174, 130, 161, 116,
332
- 28, 29, 39, 44, 108, 35, 163, 12, 3, 5,
333
- 23, 165, 32, 20, 26, 30, 34, 41, 159, 1,
334
- 6, 10, 14, 17, 35, 58, 113, 3, 5, 29,
335
- 104, 44, 20, 26, 30, 34, 41, 88, 1, 6,
336
- 10, 14, 17, 130, 106, 107, 88, 128, 29, 39,
337
- 44, 88, 35, 158, 12, 3, 5, 23, 131, 32,
338
- 20, 26, 30, 34, 41, 109, 1, 6, 10, 14,
339
- 17, 35, 98, 89, 3, 5, 59, 60, 120, 20,
340
- 26, 30, 34, 41, 5, 1, 6, 10, 14, 17,
341
- 29, 39, 44, 5, 104, 62, 12, 14, 17, 23,
342
- 121, 32, 65, 66, 62, 117, 14, 17, 110, 29,
343
- 39, 44, -17, 35, 88, 12, 3, 5, 23, 82,
344
- 32, 20, 26, 30, 34, 41, 81, 1, 6, 10,
345
- 14, 17, 35, 65, 66, 3, 5, 78, 79, 80,
346
- 20, 26, 30, 34, 41, 77, 1, 6, 10, 14,
347
- 17, 29, 39, 44, 5, 98, 89, 12, 70, 71,
348
- 23, 88, 32, 65, 66, 62, 88, 14, 17, 88,
349
- 29, 39, 44, 88, 35, 88, 12, 3, 5, 23,
350
- 166, 32, 20, 26, 30, 34, 41, 167, 1, 6,
351
- 10, 14, 17, 35, 65, 66, 3, 5, 78, 79,
352
- 80, 20, 26, 30, 34, 41, 88, 1, 6, 10,
353
- 14, 17, 29, 39, 44, 78, 79, 80, 12, 59,
354
- 60, 23, 58, 32, 96, 97, 98, 89, 65, 66,
355
- 69, 29, 58, 44, 58, 35, 65, 66, 3, 5,
356
- 98, 89, 88, 20, 26, 30, 34, 41, 54, 1,
357
- 6, 10, 14, 17, 35, 98, 89, 3, 5, 65,
358
- 66, 52, 20, 26, 30, 34, 41, 50, 1, 6,
359
- 10, 14, 17, 29, 39, 44, 98, 89, 88, 12,
360
- 98, 89, 23, nil, 32, 98, 89, 98, 89, nil,
361
- nil, nil, 29, 39, 44, nil, 35, nil, 12, 3,
362
- 5, 23, nil, 32, 20, 26, 30, 34, 41, nil,
363
- 1, 6, 10, 14, 17, 35, nil, nil, 3, 5,
364
- nil, nil, nil, 20, 26, 30, 34, 41, nil, 1,
365
- 6, 10, 14, 17, 29, 39, 44, nil, nil, nil,
366
- 12, nil, nil, 23, nil, 32, nil, nil, nil, nil,
367
- nil, nil, nil, 29, nil, 44, nil, 35, nil, nil,
368
- 3, 5, nil, nil, nil, 20, 26, 30, 34, 41,
369
- nil, 1, 6, 10, 14, 17, 35, 29, nil, 44,
370
- 5, nil, nil, nil, 20, 26, 30, 34, 41, nil,
371
- 1, 6, 10, 14, 17, nil, 29, nil, 44, nil,
372
- 35, nil, nil, 3, 5, nil, nil, nil, 20, 26,
373
- 30, 34, 41, nil, 1, 6, 10, 14, 17, 35,
374
- nil, nil, 3, 5, 29, nil, 44, 20, 26, 30,
375
- 34, 41, nil, 1, 6, 10, 14, 17, nil, nil,
376
- nil, nil, nil, 29, nil, 44, nil, 35, nil, nil,
377
- 3, 5, nil, nil, nil, 20, 26, 30, 34, 41,
378
- nil, 1, 6, 10, 14, 17, 35, nil, nil, 3,
379
- 5, nil, nil, nil, 20, 26, 30, 34, 41, nil,
380
- 1, 6, 10, 14, 17, 29, 39, 44, nil, nil,
381
- nil, 12, nil, nil, 23, nil, 32, nil, nil, nil,
382
- nil, nil, nil, nil, 29, nil, 44, nil, 35, nil,
383
- nil, 3, 5, nil, nil, nil, 20, 26, 30, 34,
384
- 41, nil, 1, 6, 10, 14, 17, 35, nil, nil,
385
- 3, 5, 29, nil, 44, 20, 26, 30, 34, 41,
386
- nil, 1, 6, 10, 14, 17, nil, nil, nil, nil,
387
- nil, 29, nil, 44, nil, 35, nil, nil, 3, 5,
388
- nil, nil, nil, 20, 26, 30, 34, 41, nil, 1,
389
- 6, 10, 14, 17, 35, nil, nil, 3, 5, 29,
390
- nil, 44, 20, 26, 30, 34, 41, nil, 1, 6,
391
- 10, 14, 17, nil, nil, nil, nil, nil, 29, nil,
392
- 44, nil, 35, nil, nil, 3, 5, nil, nil, nil,
393
- 20, 26, 30, 34, 41, nil, 1, 6, 10, 14,
394
- 17, 35, 29, nil, 44, 5, nil, nil, nil, 20,
395
- 26, 30, 34, 41, nil, 1, 6, 10, 14, 17,
396
- nil, 29, 39, 44, nil, 35, nil, 12, 3, 5,
397
- 23, nil, 32, 20, 26, 30, 34, 41, nil, 1,
398
- 6, 10, 14, 17, 35, nil, nil, 3, 5, 29,
399
- nil, 44, 20, 26, 30, 34, 41, nil, 1, 6,
400
- 10, 14, 17, nil, nil, nil, nil, nil, 29, nil,
401
- 44, nil, 35, nil, nil, 3, 5, nil, nil, nil,
402
- 20, 26, 30, 34, 41, nil, 1, 6, 10, 14,
403
- 17, 35, nil, nil, 3, 5, 29, nil, 44, 20,
404
- 26, 30, 34, 41, nil, 1, 6, 10, 14, 17,
405
- nil, nil, nil, nil, nil, 29, nil, 44, nil, 35,
406
- nil, nil, nil, 5, nil, nil, nil, 20, 26, 30,
407
- 34, 41, nil, 1, 6, 10, 14, 17, 35, nil,
408
- nil, 3, 5, 29, nil, 44, 20, 26, 30, 34,
409
- 41, nil, 1, 6, 10, 14, 17, nil, nil, nil,
410
- nil, nil, 29, 39, 44, nil, 35, nil, 12, 3,
411
- 5, 23, nil, 32, 20, 26, 30, 34, 41, nil,
412
- 1, 6, 10, 14, 17, 35, nil, nil, 3, 5,
413
- nil, nil, nil, 20, 26, 30, 34, 41, nil, 1,
414
- 6, 10, 14, 17, 29, 39, 44, nil, nil, nil,
415
- 12, nil, nil, 23, nil, 32, nil, nil, nil, nil,
416
- nil, nil, nil, 29, 39, 44, nil, 35, nil, 12,
417
- 3, 5, 23, nil, 32, 20, 26, 30, 34, 41,
418
- nil, 1, 6, 10, 14, 17, 35, nil, nil, 3,
419
- 5, 29, nil, 44, 20, 26, 30, 34, 41, nil,
420
- 1, 6, 10, 14, 17, nil, nil, nil, nil, nil,
421
- 29, nil, 44, nil, 35, nil, nil, 3, 5, nil,
422
- nil, nil, 20, 26, 30, 34, 41, nil, 1, 6,
423
- 10, 14, 17, 35, nil, nil, 3, 5, 29, nil,
424
- 44, 20, 26, 30, 34, 41, nil, 1, 6, 10,
425
- 14, 17, nil, nil, nil, nil, nil, 29, nil, 44,
426
- nil, 35, nil, nil, 3, 5, nil, nil, nil, 20,
427
- 26, 30, 34, 41, nil, 1, 6, 10, 14, 17,
428
- 35, nil, nil, nil, 5, nil, nil, nil, 20, 26,
429
- 30, 34, 41, nil, 1, 6, 10, 14, 17, 29,
430
- 39, 44, 35, nil, nil, 12, 5, nil, 23, nil,
431
- 32, nil, 30, 34, 41, nil, 85, 62, nil, 14,
432
- 17, nil, 35, -16, nil, 3, 5, nil, nil, nil,
433
- 20, 26, 30, 34, 41, nil, 1, 6, 10, 14,
434
- 17, 90, 91, nil, -16, 92, 93, 94, 95, 96,
435
- 97, 98, 89, 35, nil, nil, nil, 5, nil, nil,
436
- nil, nil, 35, 30, 34, 41, 5, nil, 62, nil,
437
- 14, 17, 30, 34, 41, nil, nil, 62, 35, 14,
438
- 17, nil, 5, nil, nil, nil, nil, 35, 30, 34,
439
- 41, 5, nil, 62, nil, 14, 17, 30, 34, 41,
440
- nil, nil, 62, 35, 14, 17, nil, 5, nil, nil,
441
- nil, nil, 35, 30, 34, 41, 5, nil, 62, nil,
442
- 14, 17, 30, 34, 41, nil, nil, 62, 35, 14,
443
- 17, nil, 5, nil, nil, nil, nil, nil, 30, 34,
444
- 41, nil, nil, 62, nil, 14, 17, 90, 91, nil,
445
- nil, 92, 93, 94, 95, 96, 97, 98, 89, 90,
446
- 91, nil, nil, 92, 93, 94, 95, nil, nil, 98,
447
- 89 ]
337
+ 59, 60, 35, 37, 174, 47, 4, 6, 59, 60,
338
+ 135, 29, 112, 170, 40, 120, 51, 167, 102, 135,
339
+ 103, 154, 28, 59, 60, 151, 153, 175, 2, 139,
340
+ 141, 17, 21, 173, 146, 134, 38, 42, 49, 1,
341
+ 7, 149, 15, 22, 25, 31, 35, 37, 138, 47,
342
+ 4, 6, 145, 2, 144, 29, 135, 21, 40, -20,
343
+ 51, 21, 137, 49, 1, 7, 28, 53, 136, 25,
344
+ 31, 53, 2, 25, 31, 17, 21, -19, 100, 101,
345
+ 38, 42, 49, 1, 7, 120, 15, 22, 25, 31,
346
+ 37, 114, 47, 112, 6, 100, 101, 75, 76, 89,
347
+ -19, 77, 78, 79, 80, 71, 72, 73, 74, 28,
348
+ 59, 60, 66, 67, 68, 2, 66, 67, 68, 21,
349
+ 59, 60, 180, 38, 42, 49, 1, 7, 89, 15,
350
+ 22, 25, 31, 37, 89, 47, 4, 6, 84, 2,
351
+ 82, 29, 81, 21, 40, 65, 51, 21, 64, 49,
352
+ 1, 7, 28, 53, 58, 25, 31, 53, 2, 25,
353
+ 31, 17, 21, 66, 67, 68, 38, 42, 49, 1,
354
+ 7, 89, 15, 22, 25, 31, 37, nil, 47, 4,
355
+ 6, nil, 2, nil, 29, nil, 21, 40, nil, 51,
356
+ 59, 60, 49, 1, 7, 28, 53, nil, 25, 31,
357
+ 152, 2, 59, 60, 17, 21, 59, 60, nil, 38,
358
+ 42, 49, 1, 7, nil, 15, 22, 25, 31, 37,
359
+ nil, 47, 4, 6, nil, 2, nil, 29, nil, 21,
360
+ 40, nil, 51, 59, 60, 49, 1, 7, 28, 53,
361
+ nil, 25, 31, 113, 2, 92, 93, 17, 21, 100,
362
+ 101, nil, 38, 42, 49, 1, 7, nil, 15, 22,
363
+ 25, 31, 37, nil, 47, 4, 6, nil, 2, nil,
364
+ 29, nil, 21, 40, nil, 51, 73, 74, 49, 1,
365
+ 7, 28, 53, nil, 25, 31, nil, 2, 73, 74,
366
+ 17, 21, 100, 101, nil, 38, 42, 49, 1, 7,
367
+ nil, 15, 22, 25, 31, 37, nil, 47, 4, 6,
368
+ nil, 2, nil, 29, nil, 21, 40, nil, 51, 94,
369
+ 95, 49, 1, 7, 28, 53, nil, 25, 31, nil,
370
+ 2, 73, 74, 17, 21, 73, 74, nil, 38, 42,
371
+ 49, 1, 7, nil, 15, 22, 25, 31, 37, 2,
372
+ 47, nil, 6, 21, 71, 72, 73, 74, 2, 49,
373
+ 1, 7, 21, 53, nil, 25, 31, 28, 49, 1,
374
+ 7, nil, 53, 2, 25, 31, 17, 21, 73, 74,
375
+ nil, 38, 42, 49, 1, 7, nil, 15, 22, 25,
376
+ 31, 37, nil, 47, 4, 6, 21, 73, 74, 29,
377
+ 56, 57, 40, nil, 51, nil, 53, nil, 25, 31,
378
+ 28, 73, 74, 73, 74, nil, 2, 59, 60, 17,
379
+ 21, 92, 93, nil, 38, 42, 49, 1, 7, nil,
380
+ 15, 22, 25, 31, 37, nil, 47, nil, 6, 75,
381
+ 76, 59, 60, 77, 78, 79, 80, 71, 72, 73,
382
+ 74, 59, 60, 28, 59, 60, 100, 101, nil, 2,
383
+ 59, 60, 17, 21, 100, 101, nil, 38, 42, 49,
384
+ 1, 7, nil, 15, 22, 25, 31, 37, nil, 47,
385
+ nil, 6, 75, 76, 100, 101, 77, 78, 79, 80,
386
+ 59, 60, 73, 74, 59, 60, 28, nil, nil, nil,
387
+ nil, nil, 2, nil, nil, nil, 21, nil, nil, nil,
388
+ 38, 42, 49, 1, 7, nil, 15, 22, 25, 31,
389
+ 37, nil, 47, 4, 6, nil, nil, nil, 29, nil,
390
+ nil, 40, nil, 51, nil, nil, nil, nil, nil, 28,
391
+ nil, nil, nil, nil, nil, 2, nil, nil, 17, 21,
392
+ nil, nil, nil, 38, 42, 49, 1, 7, nil, 15,
393
+ 22, 25, 31, 37, nil, 47, 4, 6, nil, nil,
394
+ nil, 29, nil, nil, 40, nil, 51, nil, nil, nil,
395
+ nil, nil, 28, nil, nil, nil, nil, nil, 2, nil,
396
+ nil, 17, 21, nil, nil, nil, 38, 42, 49, 1,
397
+ 7, nil, 15, 22, 25, 31, 37, nil, 47, nil,
398
+ 6, nil, nil, nil, nil, nil, nil, nil, nil, nil,
399
+ nil, nil, nil, nil, nil, 28, nil, nil, nil, nil,
400
+ nil, 2, nil, nil, 17, 21, nil, nil, nil, 38,
401
+ 42, 49, 1, 7, nil, 15, 22, 25, 31, 37,
402
+ nil, 47, 4, 6, nil, nil, nil, 29, nil, nil,
403
+ 40, nil, 51, nil, nil, nil, nil, nil, 28, nil,
404
+ nil, nil, nil, nil, 2, nil, nil, 17, 21, nil,
405
+ nil, nil, 38, 42, 49, 1, 7, nil, 15, 22,
406
+ 25, 31, 37, nil, 47, 4, 6, nil, nil, nil,
407
+ 29, nil, nil, 40, nil, 51, nil, nil, nil, nil,
408
+ nil, 28, nil, nil, nil, nil, nil, 2, nil, nil,
409
+ 17, 21, nil, nil, nil, 38, 42, 49, 1, 7,
410
+ nil, 15, 22, 25, 31, 37, nil, 47, nil, 6,
411
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
412
+ nil, nil, nil, nil, 28, nil, nil, nil, nil, nil,
413
+ 2, nil, nil, 17, 21, nil, nil, nil, 38, 42,
414
+ 49, 1, 7, nil, 15, 22, 25, 31, 37, nil,
415
+ 47, nil, 6, nil, nil, nil, nil, nil, nil, nil,
416
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, nil,
417
+ nil, nil, nil, 2, nil, nil, 17, 21, nil, nil,
418
+ nil, 38, 42, 49, 1, 7, nil, 15, 22, 25,
419
+ 31, 37, nil, 47, 4, 6, nil, nil, nil, 29,
420
+ nil, nil, 40, nil, 51, nil, nil, nil, nil, nil,
421
+ 28, nil, nil, nil, nil, nil, 2, nil, nil, 17,
422
+ 21, nil, nil, nil, 38, 42, 49, 1, 7, nil,
423
+ 15, 22, 25, 31, 37, nil, 47, 4, 6, nil,
424
+ nil, nil, 29, nil, nil, 40, nil, 51, nil, nil,
425
+ nil, nil, nil, 28, nil, nil, nil, nil, nil, 2,
426
+ nil, nil, 17, 21, nil, nil, nil, 38, 42, 49,
427
+ 1, 7, nil, 15, 22, 25, 31, 37, nil, 47,
428
+ 4, 6, nil, nil, nil, 29, nil, nil, 40, nil,
429
+ 51, nil, nil, nil, nil, nil, 28, nil, nil, nil,
430
+ nil, nil, 2, nil, nil, 17, 21, nil, nil, nil,
431
+ 38, 42, 49, 1, 7, nil, 15, 22, 25, 31,
432
+ 37, nil, 47, nil, 6, nil, nil, nil, nil, nil,
433
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 28,
434
+ nil, nil, nil, nil, nil, 2, nil, nil, 17, 21,
435
+ nil, nil, nil, 38, 42, 49, 1, 7, nil, 15,
436
+ 22, 25, 31, 37, nil, 47, nil, 6, nil, nil,
437
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
438
+ nil, nil, 28, nil, nil, nil, nil, nil, 2, nil,
439
+ nil, 17, 21, nil, nil, nil, 38, 42, 49, 1,
440
+ 7, nil, 15, 22, 25, 31, 37, nil, 47, nil,
441
+ 6, nil, nil, nil, nil, nil, nil, nil, nil, nil,
442
+ nil, nil, nil, nil, nil, 28, nil, nil, nil, nil,
443
+ nil, 2, nil, nil, 17, 21, nil, nil, nil, 38,
444
+ 42, 49, 1, 7, nil, 15, 22, 25, 31, 37,
445
+ nil, 47, nil, 6, nil, nil, nil, nil, nil, nil,
446
+ nil, nil, nil, nil, nil, nil, nil, nil, 28, nil,
447
+ nil, nil, nil, nil, 2, nil, nil, 17, 21, nil,
448
+ nil, nil, 38, 42, 49, 1, 7, nil, 15, 22,
449
+ 25, 31, 37, nil, 47, 4, 6, nil, nil, nil,
450
+ 29, nil, nil, 40, nil, 51, nil, nil, nil, nil,
451
+ nil, 28, nil, nil, nil, nil, nil, 2, nil, nil,
452
+ 17, 21, nil, nil, nil, 38, 42, 49, 1, 7,
453
+ nil, 15, 22, 25, 31, 37, nil, 47, 4, 6,
454
+ nil, nil, nil, 29, nil, nil, 40, nil, 51, nil,
455
+ nil, nil, nil, nil, 28, nil, nil, nil, nil, nil,
456
+ 2, nil, nil, 17, 21, nil, nil, nil, 38, 42,
457
+ 49, 1, 7, nil, 15, 22, 25, 31, 37, nil,
458
+ 47, nil, 6, nil, nil, nil, nil, nil, nil, nil,
459
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, nil,
460
+ nil, nil, 37, 2, 47, nil, 6, 21, nil, nil,
461
+ nil, 38, 42, 49, 1, 7, nil, 15, 22, 25,
462
+ 31, 28, nil, nil, nil, nil, nil, 2, nil, nil,
463
+ 17, 21, nil, nil, nil, 38, 42, 49, 1, 7,
464
+ nil, 15, 22, 25, 31, 37, nil, 47, nil, 6,
465
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
466
+ nil, nil, nil, nil, 28, nil, nil, nil, nil, nil,
467
+ 2, nil, nil, 17, 21, nil, nil, nil, 38, 42,
468
+ 49, 1, 7, nil, 15, 22, 25, 31, 37, nil,
469
+ 47, nil, 6, nil, nil, nil, nil, nil, nil, nil,
470
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, nil,
471
+ nil, nil, nil, 2, nil, nil, 17, 21, nil, nil,
472
+ nil, 38, 42, 49, 1, 7, nil, 15, 22, 25,
473
+ 31, 37, nil, 47, nil, 6, nil, nil, nil, nil,
474
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
475
+ 28, nil, nil, nil, nil, 37, 2, 47, nil, 6,
476
+ 21, nil, nil, nil, 38, 42, 49, 1, 7, nil,
477
+ 15, 22, 25, 31, 28, nil, nil, nil, nil, nil,
478
+ 2, nil, nil, 17, 21, nil, nil, nil, 38, 42,
479
+ 49, 1, 7, nil, 15, 22, 25, 31, 37, nil,
480
+ 47, nil, 6, nil, nil, nil, nil, nil, nil, nil,
481
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, nil,
482
+ nil, nil, nil, 2, nil, nil, 17, 21, nil, nil,
483
+ nil, 38, 42, 49, 1, 7, nil, 15, 22, 25,
484
+ 31, 37, nil, 47, nil, 6, nil, nil, nil, nil,
485
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
486
+ 28, nil, nil, nil, nil, nil, 2, nil, nil, 17,
487
+ 21, nil, nil, nil, 38, 42, 49, 1, 7, nil,
488
+ 15, 22, 25, 31, 37, nil, 47, nil, 6, nil,
489
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
490
+ nil, nil, nil, 28, nil, nil, nil, nil, nil, 2,
491
+ nil, nil, 17, 21, nil, nil, nil, 38, 42, 49,
492
+ 1, 7, nil, 15, 22, 25, 31, 37, nil, 47,
493
+ nil, 6, nil, nil, nil, nil, nil, nil, nil, nil,
494
+ nil, nil, nil, nil, nil, nil, 28, nil, nil, nil,
495
+ nil, nil, 2, nil, nil, 17, 21, nil, nil, nil,
496
+ 38, 42, 49, 1, 7, nil, 15, 22, 25, 31,
497
+ 37, nil, 47, nil, 6, nil, nil, nil, nil, nil,
498
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 28,
499
+ nil, nil, nil, nil, nil, 2, nil, nil, 17, 21,
500
+ nil, nil, nil, 38, 42, 49, 1, 7, nil, 15,
501
+ 22, 25, 31, 37, nil, 47, 4, 6, nil, nil,
502
+ nil, 29, nil, nil, 40, nil, 51, nil, nil, nil,
503
+ nil, nil, 28, nil, nil, nil, nil, nil, 2, nil,
504
+ nil, 17, 21, nil, nil, nil, 38, 42, 49, 1,
505
+ 7, nil, 15, 22, 25, 31 ]
448
506
 
449
507
  racc_action_check = [
450
- 61, 0, 0, 0, 0, 145, 67, 173, 0, 148,
451
- 33, 0, 33, 0, 56, 134, 173, 129, 132, 67,
452
- 75, 75, 75, 75, 56, 0, 145, 75, 0, 0,
453
- 75, 148, 75, 0, 0, 0, 0, 0, 129, 0,
454
- 0, 0, 0, 0, 75, 109, 61, 75, 75, 94,
455
- 55, 94, 75, 75, 75, 75, 75, 102, 75, 75,
456
- 75, 75, 75, 86, 55, 55, 127, 84, 120, 120,
457
- 120, 87, 94, 127, 120, 94, 94, 120, 87, 120,
458
- 94, 94, 94, 94, 94, 73, 94, 94, 94, 94,
459
- 94, 120, 139, 139, 120, 120, 100, 100, 73, 120,
460
- 120, 120, 120, 120, 34, 120, 120, 120, 120, 120,
461
- 166, 166, 166, 64, 83, 34, 166, 34, 34, 166,
462
- 74, 166, 151, 151, 64, 69, 64, 64, 58, 117,
463
- 117, 117, 146, 166, 45, 117, 166, 166, 117, 41,
464
- 117, 166, 166, 166, 166, 166, 39, 166, 166, 166,
465
- 166, 166, 117, 150, 150, 117, 117, 135, 135, 135,
466
- 117, 117, 117, 117, 117, 37, 117, 117, 117, 117,
467
- 117, 17, 17, 17, 31, 140, 140, 17, 31, 31,
468
- 17, 152, 17, 21, 21, 31, 154, 31, 31, 155,
469
- 116, 116, 116, 156, 17, 157, 116, 17, 17, 116,
470
- 158, 116, 17, 17, 17, 17, 17, 159, 17, 17,
471
- 17, 17, 17, 116, 63, 63, 116, 116, 144, 144,
472
- 144, 116, 116, 116, 116, 116, 160, 116, 116, 116,
473
- 116, 116, 110, 110, 110, 38, 38, 38, 110, 15,
474
- 15, 110, 32, 110, 172, 172, 172, 172, 118, 118,
475
- 28, 164, 23, 164, 12, 110, 119, 119, 110, 110,
476
- 141, 141, 169, 110, 110, 110, 110, 110, 10, 110,
477
- 110, 110, 110, 110, 164, 142, 142, 164, 164, 68,
478
- 68, 4, 164, 164, 164, 164, 164, 2, 164, 164,
479
- 164, 164, 164, 108, 108, 108, 143, 143, 175, 108,
480
- 137, 137, 108, nil, 108, 136, 136, 138, 138, nil,
481
- nil, nil, 162, 162, 162, nil, 108, nil, 162, 108,
482
- 108, 162, nil, 162, 108, 108, 108, 108, 108, nil,
483
- 108, 108, 108, 108, 108, 162, nil, nil, 162, 162,
484
- nil, nil, nil, 162, 162, 162, 162, 162, nil, 162,
485
- 162, 162, 162, 162, 104, 104, 104, nil, nil, nil,
486
- 104, nil, nil, 104, nil, 104, nil, nil, nil, nil,
487
- nil, nil, nil, 161, nil, 161, nil, 104, nil, nil,
488
- 104, 104, nil, nil, nil, 104, 104, 104, 104, 104,
489
- nil, 104, 104, 104, 104, 104, 161, 98, nil, 98,
490
- 161, nil, nil, nil, 161, 161, 161, 161, 161, nil,
491
- 161, 161, 161, 161, 161, nil, 97, nil, 97, nil,
492
- 98, nil, nil, 98, 98, nil, nil, nil, 98, 98,
493
- 98, 98, 98, nil, 98, 98, 98, 98, 98, 97,
494
- nil, nil, 97, 97, 96, nil, 96, 97, 97, 97,
495
- 97, 97, nil, 97, 97, 97, 97, 97, nil, nil,
496
- nil, nil, nil, 95, nil, 95, nil, 96, nil, nil,
497
- 96, 96, nil, nil, nil, 96, 96, 96, 96, 96,
498
- nil, 96, 96, 96, 96, 96, 95, nil, nil, 95,
499
- 95, nil, nil, nil, 95, 95, 95, 95, 95, nil,
500
- 95, 95, 95, 95, 95, 130, 130, 130, nil, nil,
501
- nil, 130, nil, nil, 130, nil, 130, nil, nil, nil,
502
- nil, nil, nil, nil, 93, nil, 93, nil, 130, nil,
503
- nil, 130, 130, nil, nil, nil, 130, 130, 130, 130,
504
- 130, nil, 130, 130, 130, 130, 130, 93, nil, nil,
505
- 93, 93, 3, nil, 3, 93, 93, 93, 93, 93,
506
- nil, 93, 93, 93, 93, 93, nil, nil, nil, nil,
507
- nil, 92, nil, 92, nil, 3, nil, nil, 3, 3,
508
- nil, nil, nil, 3, 3, 3, 3, 3, nil, 3,
509
- 3, 3, 3, 3, 92, nil, nil, 92, 92, 91,
510
- nil, 91, 92, 92, 92, 92, 92, nil, 92, 92,
511
- 92, 92, 92, nil, nil, nil, nil, nil, 50, nil,
512
- 50, nil, 91, nil, nil, 91, 91, nil, nil, nil,
513
- 91, 91, 91, 91, 91, nil, 91, 91, 91, 91,
514
- 91, 50, 52, nil, 52, 50, nil, nil, nil, 50,
515
- 50, 50, 50, 50, nil, 50, 50, 50, 50, 50,
516
- nil, 54, 54, 54, nil, 52, nil, 54, 52, 52,
517
- 54, nil, 54, 52, 52, 52, 52, 52, nil, 52,
518
- 52, 52, 52, 52, 54, nil, nil, 54, 54, 90,
519
- nil, 90, 54, 54, 54, 54, 54, nil, 54, 54,
520
- 54, 54, 54, nil, nil, nil, nil, nil, 89, nil,
521
- 89, nil, 90, nil, nil, 90, 90, nil, nil, nil,
522
- 90, 90, 90, 90, 90, nil, 90, 90, 90, 90,
523
- 90, 89, nil, nil, 89, 89, 88, nil, 88, 89,
524
- 89, 89, 89, 89, nil, 89, 89, 89, 89, 89,
525
- nil, nil, nil, nil, nil, 59, nil, 59, nil, 88,
526
- nil, nil, nil, 88, nil, nil, nil, 88, 88, 88,
527
- 88, 88, nil, 88, 88, 88, 88, 88, 59, nil,
528
- nil, 59, 59, 60, nil, 60, 59, 59, 59, 59,
529
- 59, nil, 59, 59, 59, 59, 59, nil, nil, nil,
530
- nil, nil, 174, 174, 174, nil, 60, nil, 174, 60,
531
- 60, 174, nil, 174, 60, 60, 60, 60, 60, nil,
532
- 60, 60, 60, 60, 60, 174, nil, nil, 174, 174,
533
- nil, nil, nil, 174, 174, 174, 174, 174, nil, 174,
534
- 174, 174, 174, 174, 85, 85, 85, nil, nil, nil,
535
- 85, nil, nil, 85, nil, 85, nil, nil, nil, nil,
536
- nil, nil, nil, 81, 81, 81, nil, 85, nil, 81,
537
- 85, 85, 81, nil, 81, 85, 85, 85, 85, 85,
538
- nil, 85, 85, 85, 85, 85, 81, nil, nil, 81,
539
- 81, 80, nil, 80, 81, 81, 81, 81, 81, nil,
540
- 81, 81, 81, 81, 81, nil, nil, nil, nil, nil,
541
- 79, nil, 79, nil, 80, nil, nil, 80, 80, nil,
542
- nil, nil, 80, 80, 80, 80, 80, nil, 80, 80,
543
- 80, 80, 80, 79, nil, nil, 79, 79, 78, nil,
544
- 78, 79, 79, 79, 79, 79, nil, 79, 79, 79,
545
- 79, 79, nil, nil, nil, nil, nil, 77, nil, 77,
546
- nil, 78, nil, nil, 78, 78, nil, nil, nil, 78,
547
- 78, 78, 78, 78, nil, 78, 78, 78, 78, 78,
548
- 77, nil, nil, nil, 77, nil, nil, nil, 77, 77,
549
- 77, 77, 77, nil, 77, 77, 77, 77, 77, 44,
550
- 44, 44, 66, nil, nil, 44, 66, nil, 44, nil,
551
- 44, nil, 66, 66, 66, nil, 44, 66, nil, 66,
552
- 66, nil, 44, 149, nil, 44, 44, nil, nil, nil,
553
- 44, 44, 44, 44, 44, nil, 44, 44, 44, 44,
554
- 44, 149, 149, nil, 149, 149, 149, 149, 149, 149,
555
- 149, 149, 149, 106, nil, nil, nil, 106, nil, nil,
556
- nil, nil, 70, 106, 106, 106, 70, nil, 106, nil,
557
- 106, 106, 70, 70, 70, nil, nil, 70, 26, 70,
558
- 70, nil, 26, nil, nil, nil, nil, 65, 26, 26,
559
- 26, 65, nil, 26, nil, 26, 26, 65, 65, 65,
560
- nil, nil, 65, 71, 65, 65, nil, 71, nil, nil,
561
- nil, nil, 20, 71, 71, 71, 20, nil, 71, nil,
562
- 71, 71, 20, 20, 20, nil, nil, 20, 107, 20,
563
- 20, nil, 107, nil, nil, nil, nil, nil, 107, 107,
564
- 107, nil, nil, 107, nil, 107, 107, 48, 48, nil,
565
- nil, 48, 48, 48, 48, 48, 48, 48, 48, 101,
566
- 101, nil, nil, 101, 101, 101, 101, nil, nil, 101,
567
- 101 ]
508
+ 90, 90, 0, 0, 159, 0, 0, 0, 156, 156,
509
+ 104, 0, 85, 152, 0, 91, 0, 145, 46, 98,
510
+ 46, 111, 0, 163, 163, 104, 110, 159, 0, 91,
511
+ 91, 0, 0, 156, 98, 85, 0, 0, 0, 0,
512
+ 0, 102, 0, 0, 0, 0, 103, 103, 90, 103,
513
+ 103, 103, 95, 141, 94, 103, 87, 141, 103, 160,
514
+ 103, 96, 89, 141, 141, 141, 103, 141, 87, 141,
515
+ 141, 96, 103, 96, 96, 103, 103, 158, 106, 106,
516
+ 103, 103, 103, 103, 103, 69, 103, 103, 103, 103,
517
+ 84, 63, 84, 61, 84, 105, 105, 158, 158, 51,
518
+ 158, 158, 158, 158, 158, 158, 158, 158, 158, 84,
519
+ 176, 176, 124, 124, 124, 84, 10, 10, 10, 84,
520
+ 169, 169, 176, 84, 84, 84, 84, 84, 40, 84,
521
+ 84, 84, 84, 137, 29, 137, 137, 137, 23, 56,
522
+ 22, 137, 20, 56, 137, 9, 137, 1, 7, 56,
523
+ 56, 56, 137, 56, 4, 56, 56, 1, 137, 1,
524
+ 1, 137, 137, 123, 123, 123, 137, 137, 137, 137,
525
+ 137, 135, 137, 137, 137, 137, 6, nil, 6, 6,
526
+ 6, nil, 57, nil, 6, nil, 57, 6, nil, 6,
527
+ 107, 107, 57, 57, 57, 6, 57, nil, 57, 57,
528
+ 107, 6, 155, 155, 6, 6, 171, 171, nil, 6,
529
+ 6, 6, 6, 6, nil, 6, 6, 6, 6, 136,
530
+ nil, 136, 136, 136, nil, 100, nil, 136, nil, 100,
531
+ 136, nil, 136, 62, 62, 100, 100, 100, 136, 100,
532
+ nil, 100, 100, 62, 136, 34, 34, 136, 136, 99,
533
+ 99, nil, 136, 136, 136, 136, 136, nil, 136, 136,
534
+ 136, 136, 151, nil, 151, 151, 151, nil, 139, nil,
535
+ 151, nil, 139, 151, nil, 151, 121, 121, 139, 139,
536
+ 139, 151, 139, nil, 139, 139, nil, 151, 122, 122,
537
+ 151, 151, 97, 97, nil, 151, 151, 151, 151, 151,
538
+ nil, 151, 151, 151, 151, 120, nil, 120, 120, 120,
539
+ nil, 42, nil, 120, nil, 42, 120, nil, 120, 35,
540
+ 35, 42, 42, 42, 120, 42, nil, 42, 42, nil,
541
+ 120, 125, 125, 120, 120, 126, 126, nil, 120, 120,
542
+ 120, 120, 120, nil, 120, 120, 120, 120, 17, 38,
543
+ 17, nil, 17, 38, 178, 178, 178, 178, 101, 38,
544
+ 38, 38, 101, 38, nil, 38, 38, 17, 101, 101,
545
+ 101, nil, 101, 17, 101, 101, 17, 17, 127, 127,
546
+ nil, 17, 17, 17, 17, 17, nil, 17, 17, 17,
547
+ 17, 112, nil, 112, 112, 112, 3, 128, 128, 112,
548
+ 3, 3, 112, nil, 112, nil, 3, nil, 3, 3,
549
+ 112, 129, 129, 130, 130, nil, 112, 168, 168, 112,
550
+ 112, 132, 132, nil, 112, 112, 112, 112, 112, nil,
551
+ 112, 112, 112, 112, 174, nil, 174, nil, 174, 19,
552
+ 19, 162, 162, 19, 19, 19, 19, 19, 19, 19,
553
+ 19, 86, 86, 174, 5, 5, 43, 43, nil, 174,
554
+ 166, 166, 174, 174, 165, 165, nil, 174, 174, 174,
555
+ 174, 174, nil, 174, 174, 174, 174, 154, nil, 154,
556
+ nil, 154, 131, 131, 164, 164, 131, 131, 131, 131,
557
+ 108, 108, 131, 131, 181, 181, 154, nil, nil, nil,
558
+ nil, nil, 154, nil, nil, nil, 154, nil, nil, nil,
559
+ 154, 154, 154, 154, 154, nil, 154, 154, 154, 154,
560
+ 170, nil, 170, 170, 170, nil, nil, nil, 170, nil,
561
+ nil, 170, nil, 170, nil, nil, nil, nil, nil, 170,
562
+ nil, nil, nil, nil, nil, 170, nil, nil, 170, 170,
563
+ nil, nil, nil, 170, 170, 170, 170, 170, nil, 170,
564
+ 170, 170, 170, 28, nil, 28, 28, 28, nil, nil,
565
+ nil, 28, nil, nil, 28, nil, 28, nil, nil, nil,
566
+ nil, nil, 28, nil, nil, nil, nil, nil, 28, nil,
567
+ nil, 28, 28, nil, nil, nil, 28, 28, 28, 28,
568
+ 28, nil, 28, 28, 28, 28, 73, nil, 73, nil,
569
+ 73, nil, nil, nil, nil, nil, nil, nil, nil, nil,
570
+ nil, nil, nil, nil, nil, 73, nil, nil, nil, nil,
571
+ nil, 73, nil, nil, 73, 73, nil, nil, nil, 73,
572
+ 73, 73, 73, 73, nil, 73, 73, 73, 73, 31,
573
+ nil, 31, 31, 31, nil, nil, nil, 31, nil, nil,
574
+ 31, nil, 31, nil, nil, nil, nil, nil, 31, nil,
575
+ nil, nil, nil, nil, 31, nil, nil, 31, 31, nil,
576
+ nil, nil, 31, 31, 31, 31, 31, nil, 31, 31,
577
+ 31, 31, 144, nil, 144, 144, 144, nil, nil, nil,
578
+ 144, nil, nil, 144, nil, 144, nil, nil, nil, nil,
579
+ nil, 144, nil, nil, nil, nil, nil, 144, nil, nil,
580
+ 144, 144, nil, nil, nil, 144, 144, 144, 144, 144,
581
+ nil, 144, 144, 144, 144, 93, nil, 93, nil, 93,
582
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
583
+ nil, nil, nil, nil, 93, nil, nil, nil, nil, nil,
584
+ 93, nil, nil, 93, 93, nil, nil, nil, 93, 93,
585
+ 93, 93, 93, nil, 93, 93, 93, 93, 92, nil,
586
+ 92, nil, 92, nil, nil, nil, nil, nil, nil, nil,
587
+ nil, nil, nil, nil, nil, nil, nil, 92, nil, nil,
588
+ nil, nil, nil, 92, nil, nil, 92, 92, nil, nil,
589
+ nil, 92, 92, 92, 92, 92, nil, 92, 92, 92,
590
+ 92, 153, nil, 153, 153, 153, nil, nil, nil, 153,
591
+ nil, nil, 153, nil, 153, nil, nil, nil, nil, nil,
592
+ 153, nil, nil, nil, nil, nil, 153, nil, nil, 153,
593
+ 153, nil, nil, nil, 153, 153, 153, 153, 153, nil,
594
+ 153, 153, 153, 153, 180, nil, 180, 180, 180, nil,
595
+ nil, nil, 180, nil, nil, 180, nil, 180, nil, nil,
596
+ nil, nil, nil, 180, nil, nil, nil, nil, nil, 180,
597
+ nil, nil, 180, 180, nil, nil, nil, 180, 180, 180,
598
+ 180, 180, nil, 180, 180, 180, 180, 82, nil, 82,
599
+ 82, 82, nil, nil, nil, 82, nil, nil, 82, nil,
600
+ 82, nil, nil, nil, nil, nil, 82, nil, nil, nil,
601
+ nil, nil, 82, nil, nil, 82, 82, nil, nil, nil,
602
+ 82, 82, 82, 82, 82, nil, 82, 82, 82, 82,
603
+ 81, nil, 81, nil, 81, nil, nil, nil, nil, nil,
604
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 81,
605
+ nil, nil, nil, nil, nil, 81, nil, nil, 81, 81,
606
+ nil, nil, nil, 81, 81, 81, 81, 81, nil, 81,
607
+ 81, 81, 81, 80, nil, 80, nil, 80, nil, nil,
608
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
609
+ nil, nil, 80, nil, nil, nil, nil, nil, 80, nil,
610
+ nil, 80, 80, nil, nil, nil, 80, 80, 80, 80,
611
+ 80, nil, 80, 80, 80, 80, 79, nil, 79, nil,
612
+ 79, nil, nil, nil, nil, nil, nil, nil, nil, nil,
613
+ nil, nil, nil, nil, nil, 79, nil, nil, nil, nil,
614
+ nil, 79, nil, nil, 79, 79, nil, nil, nil, 79,
615
+ 79, 79, 79, 79, nil, 79, 79, 79, 79, 78,
616
+ nil, 78, nil, 78, nil, nil, nil, nil, nil, nil,
617
+ nil, nil, nil, nil, nil, nil, nil, nil, 78, nil,
618
+ nil, nil, nil, nil, 78, nil, nil, 78, 78, nil,
619
+ nil, nil, 78, 78, 78, 78, 78, nil, 78, 78,
620
+ 78, 78, 58, nil, 58, 58, 58, nil, nil, nil,
621
+ 58, nil, nil, 58, nil, 58, nil, nil, nil, nil,
622
+ nil, 58, nil, nil, nil, nil, nil, 58, nil, nil,
623
+ 58, 58, nil, nil, nil, 58, 58, 58, 58, 58,
624
+ nil, 58, 58, 58, 58, 59, nil, 59, 59, 59,
625
+ nil, nil, nil, 59, nil, nil, 59, nil, 59, nil,
626
+ nil, nil, nil, nil, 59, nil, nil, nil, nil, nil,
627
+ 59, nil, nil, 59, 59, nil, nil, nil, 59, 59,
628
+ 59, 59, 59, nil, 59, 59, 59, 59, 60, nil,
629
+ 60, nil, 60, nil, nil, nil, nil, nil, nil, nil,
630
+ nil, nil, nil, nil, nil, nil, nil, 60, nil, nil,
631
+ nil, nil, 77, 60, 77, nil, 77, 60, nil, nil,
632
+ nil, 60, 60, 60, 60, 60, nil, 60, 60, 60,
633
+ 60, 77, nil, nil, nil, nil, nil, 77, nil, nil,
634
+ 77, 77, nil, nil, nil, 77, 77, 77, 77, 77,
635
+ nil, 77, 77, 77, 77, 76, nil, 76, nil, 76,
636
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
637
+ nil, nil, nil, nil, 76, nil, nil, nil, nil, nil,
638
+ 76, nil, nil, 76, 76, nil, nil, nil, 76, 76,
639
+ 76, 76, 76, nil, 76, 76, 76, 76, 75, nil,
640
+ 75, nil, 75, nil, nil, nil, nil, nil, nil, nil,
641
+ nil, nil, nil, nil, nil, nil, nil, 75, nil, nil,
642
+ nil, nil, nil, 75, nil, nil, 75, 75, nil, nil,
643
+ nil, 75, 75, 75, 75, 75, nil, 75, 75, 75,
644
+ 75, 65, nil, 65, nil, 65, nil, nil, nil, nil,
645
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
646
+ 65, nil, nil, nil, nil, 66, 65, 66, nil, 66,
647
+ 65, nil, nil, nil, 65, 65, 65, 65, 65, nil,
648
+ 65, 65, 65, 65, 66, nil, nil, nil, nil, nil,
649
+ 66, nil, nil, 66, 66, nil, nil, nil, 66, 66,
650
+ 66, 66, 66, nil, 66, 66, 66, 66, 67, nil,
651
+ 67, nil, 67, nil, nil, nil, nil, nil, nil, nil,
652
+ nil, nil, nil, nil, nil, nil, nil, 67, nil, nil,
653
+ nil, nil, nil, 67, nil, nil, 67, 67, nil, nil,
654
+ nil, 67, 67, 67, 67, 67, nil, 67, 67, 67,
655
+ 67, 68, nil, 68, nil, 68, nil, nil, nil, nil,
656
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
657
+ 68, nil, nil, nil, nil, nil, 68, nil, nil, 68,
658
+ 68, nil, nil, nil, 68, 68, 68, 68, 68, nil,
659
+ 68, 68, 68, 68, 74, nil, 74, nil, 74, nil,
660
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
661
+ nil, nil, nil, 74, nil, nil, nil, nil, nil, 74,
662
+ nil, nil, 74, 74, nil, nil, nil, 74, 74, 74,
663
+ 74, 74, nil, 74, 74, 74, 74, 71, nil, 71,
664
+ nil, 71, nil, nil, nil, nil, nil, nil, nil, nil,
665
+ nil, nil, nil, nil, nil, nil, 71, nil, nil, nil,
666
+ nil, nil, 71, nil, nil, 71, 71, nil, nil, nil,
667
+ 71, 71, 71, 71, 71, nil, 71, 71, 71, 71,
668
+ 72, nil, 72, nil, 72, nil, nil, nil, nil, nil,
669
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 72,
670
+ nil, nil, nil, nil, nil, 72, nil, nil, 72, 72,
671
+ nil, nil, nil, 72, 72, 72, 72, 72, nil, 72,
672
+ 72, 72, 72, 146, nil, 146, 146, 146, nil, nil,
673
+ nil, 146, nil, nil, 146, nil, 146, nil, nil, nil,
674
+ nil, nil, 146, nil, nil, nil, nil, nil, 146, nil,
675
+ nil, 146, 146, nil, nil, nil, 146, 146, 146, 146,
676
+ 146, nil, 146, 146, 146, 146 ]
568
677
 
569
678
  racc_action_pointer = [
570
- -5, nil, 250, 545, 262, nil, nil, nil, nil, nil,
571
- 259, nil, 247, nil, nil, 219, nil, 164, nil, nil,
572
- 1082, 145, nil, 245, nil, nil, 1048, nil, 243, nil,
573
- nil, 140, 235, 10, 70, nil, nil, 128, 201, 137,
574
- nil, 96, nil, nil, 992, 131, nil, nil, 1125, nil,
575
- 611, nil, 635, nil, 654, 26, 10, nil, 113, 748,
576
- 776, -3, nil, 176, 79, 1057, 972, 2, 241, 120,
577
- 1032, 1073, nil, 81, 120, 14, nil, 950, 931, 903,
578
- 884, 856, nil, 90, 57, 837, 59, 68, 729, 701,
579
- 682, 592, 564, 517, 42, 456, 437, 409, 390, nil,
580
- 76, 1137, 54, nil, 347, nil, 1023, 1098, 286, 38,
581
- 225, nil, nil, nil, nil, nil, 183, 122, 210, 218,
582
- 61, nil, nil, nil, nil, nil, nil, 63, nil, 13,
583
- 498, nil, 14, nil, 10, 123, 273, 268, 275, 60,
584
- 143, 228, 243, 264, 184, 1, 128, nil, 6, 1019,
585
- 115, 84, 178, nil, 183, 186, 190, 192, 189, 197,
586
- 223, 366, 305, nil, 244, nil, 103, nil, nil, 259,
587
- nil, nil, 214, 4, 795, 295 ]
679
+ -5, 110, nil, 359, 142, 451, 168, 102, nil, 105,
680
+ 79, nil, nil, nil, nil, nil, nil, 340, nil, 414,
681
+ 120, nil, 128, 98, nil, nil, nil, nil, 555, 126,
682
+ nil, 641, nil, nil, 222, 311, nil, nil, 316, nil,
683
+ 120, nil, 278, 415, nil, nil, 18, nil, nil, nil,
684
+ nil, 91, nil, nil, nil, nil, 106, 149, 1114, 1157,
685
+ 1200, 88, 230, 78, nil, 1353, 1377, 1420, 1463, 58,
686
+ nil, 1549, 1592, 598, 1506, 1310, 1267, 1224, 1071, 1028,
687
+ 985, 942, 899, nil, 82, 7, 448, 51, nil, 44,
688
+ -3, -12, 770, 727, 48, 46, 24, 251, 14, 208,
689
+ 192, 325, 41, 39, 5, 54, 37, 187, 487, nil,
690
+ 20, 16, 383, nil, nil, nil, nil, nil, nil, nil,
691
+ 297, 241, 253, 126, 75, 296, 300, 343, 362, 376,
692
+ 378, 457, 398, nil, nil, 163, 211, 125, nil, 235,
693
+ nil, 20, nil, nil, 684, 7, 1635, nil, nil, nil,
694
+ nil, 254, -1, 813, 469, 199, 5, nil, 72, -1,
695
+ 54, nil, 438, 20, 443, 423, 457, nil, 414, 117,
696
+ 512, 203, nil, nil, 426, nil, 107, nil, 321, nil,
697
+ 856, 491 ]
588
698
 
589
699
  racc_action_default = [
590
- -3, -88, -55, -100, -6, -99, -89, -86, -58, -7,
591
- -100, -80, -100, -8, -96, -29, -9, -100, -31, -10,
592
- -65, -63, -34, -100, -11, -87, -100, -64, -100, -84,
593
- -74, -100, -100, -100, -100, -75, -70, -54, -45, -100,
594
- -1, -100, -80, -48, -92, -4, -76, -52, -38, -5,
595
- -100, -53, -100, -90, -92, -60, -100, -24, -100, -100,
596
- -100, -100, -97, -66, -100, -100, -100, -100, -67, -100,
597
- -100, -100, -77, -100, -100, -3, -78, -100, -100, -100,
598
- -100, -100, -79, -73, -100, -100, -93, -94, -100, -100,
599
- -100, -100, -100, -100, -100, -100, -100, -100, -100, -57,
600
- -30, -38, -94, -81, -100, -59, -100, -100, -100, -100,
601
- -100, -32, -33, -98, -71, -72, -100, -100, -68, -69,
602
- -100, 176, -2, -56, -49, -50, -51, -100, -91, -100,
603
- -100, -85, -12, -13, -100, -47, -35, -36, -39, -40,
604
- -41, -42, -43, -44, -46, -100, -7, -18, -100, -38,
605
- -61, -62, -23, -25, -26, -27, -20, -28, -100, -100,
606
- -95, -100, -100, -83, -100, -82, -100, -37, -14, -15,
607
- -17, -19, -16, -22, -100, -21 ]
700
+ -3, -104, -79, -104, -104, -4, -96, -104, -74, -58,
701
+ -49, -5, -84, -52, -6, -93, -80, -104, -56, -42,
702
+ -7, -103, -104, -59, -8, -100, -90, -62, -104, -104,
703
+ -9, -104, -84, -10, -33, -104, -11, -88, -69, -35,
704
+ -104, -12, -104, -67, -38, -13, -104, -92, -91, -78,
705
+ -68, -104, -1, -101, -82, -81, -104, -104, -104, -104,
706
+ -104, -97, -98, -104, -83, -104, -104, -104, -104, -77,
707
+ -57, -104, -104, -104, -104, -104, -104, -104, -104, -104,
708
+ -104, -104, -96, -94, -104, -104, -98, -104, -28, -104,
709
+ -104, -64, -104, -104, -104, -104, -104, -70, -104, -71,
710
+ -104, -104, -104, -3, -104, -72, -73, -104, -14, -16,
711
+ -104, -15, -104, -89, -95, -60, -53, -54, -55, -85,
712
+ -104, -47, -48, -50, -51, -39, -40, -43, -44, -45,
713
+ -46, -42, -34, -61, -41, -104, -104, -104, -102, -104,
714
+ -63, -104, -36, -37, -104, -104, -104, -75, -76, 182,
715
+ -2, -104, -104, -104, -104, -99, -104, -21, -42, -104,
716
+ -8, -29, -27, -30, -65, -66, -23, -24, -31, -32,
717
+ -104, -18, -17, -86, -104, -87, -26, -22, -19, -20,
718
+ -104, -25 ]
608
719
 
609
720
  racc_goto_table = [
610
- 61, 99, 101, 51, 133, 147, 40, 146, 63, 101,
611
- 101, 64, 56, 135, 68, 72, 100, 64, 76, 55,
612
- 114, 115, 144, 67, 111, 112, 129, 87, 123, 105,
613
- 153, 145, 73, 132, 33, 53, nil, 102, nil, 134,
614
- 136, 137, 138, 139, 140, 141, 142, 143, 72, nil,
615
- 83, nil, nil, nil, 149, nil, 64, 64, 118, 119,
616
- nil, 64, 64, nil, 127, 171, nil, 170, 102, nil,
617
- nil, nil, nil, nil, nil, nil, nil, 168, 124, 125,
618
- 126, 122, nil, nil, nil, nil, nil, 148, nil, nil,
619
- nil, 152, nil, 154, 150, 151, nil, 64, 64, 155,
620
- 156, nil, nil, 157, nil, nil, nil, nil, nil, nil,
621
- nil, nil, 134, 160, 172, nil, nil, nil, nil, nil,
721
+ 62, 52, 97, 54, 132, 55, 99, 109, 96, 121,
722
+ 122, 157, 96, 125, 126, 127, 128, 129, 130, 131,
723
+ 105, 106, 86, 110, 160, 90, 96, 96, 115, 87,
724
+ 131, 131, 70, 85, 69, 147, 148, 142, 143, 140,
725
+ 98, 123, 124, 161, 159, 111, 46, 133, 83, nil,
726
+ nil, 104, 107, 108, 91, nil, nil, nil, 158, nil,
727
+ nil, nil, nil, nil, nil, 177, nil, nil, nil, nil,
728
+ 96, 96, nil, nil, nil, nil, 86, nil, 179, nil,
729
+ nil, 116, 117, 118, nil, nil, nil, nil, nil, nil,
730
+ nil, nil, nil, nil, nil, nil, nil, nil, 55, nil,
731
+ nil, 172, nil, 164, 150, 165, 155, nil, nil, 96,
732
+ nil, 96, 178, nil, 156, nil, nil, 110, nil, nil,
622
733
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
734
+ 162, 163, nil, nil, nil, nil, nil, nil, 166, nil,
735
+ 168, nil, nil, nil, nil, 169, nil, 171, nil, nil,
623
736
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
624
- nil, nil, nil, nil, nil, 169, nil, nil, nil, 173,
625
- nil, nil, nil, nil, nil, nil, nil, 175 ]
737
+ nil, nil, nil, nil, 176, nil, nil, nil, nil, nil,
738
+ nil, nil, nil, nil, 181 ]
626
739
 
627
740
  racc_goto_check = [
628
- 3, 13, 15, 25, 12, 14, 2, 6, 32, 15,
629
- 15, 34, 17, 24, 32, 37, 19, 34, 37, 30,
630
- 35, 35, 24, 17, 20, 20, 23, 3, 13, 31,
631
- 18, 16, 17, 11, 1, 39, nil, 3, nil, 13,
632
- 15, 15, 15, 15, 15, 15, 15, 15, 37, nil,
633
- 30, nil, nil, nil, 15, nil, 34, 34, 32, 32,
634
- nil, 34, 34, nil, 3, 14, nil, 6, 3, nil,
635
- nil, nil, nil, nil, nil, nil, nil, 12, 25, 25,
636
- 25, 2, nil, nil, nil, nil, nil, 3, nil, nil,
637
- nil, 3, nil, 3, 32, 32, nil, 34, 34, 3,
638
- 3, nil, nil, 3, nil, nil, nil, nil, nil, nil,
639
- nil, nil, 13, 3, 15, nil, nil, nil, nil, nil,
741
+ 3, 2, 34, 39, 21, 39, 34, 14, 36, 17,
742
+ 17, 16, 36, 17, 17, 17, 17, 17, 17, 17,
743
+ 34, 34, 3, 15, 7, 3, 36, 36, 15, 19,
744
+ 17, 17, 27, 25, 32, 37, 37, 22, 22, 33,
745
+ 19, 26, 26, 20, 18, 13, 1, 15, 41, nil,
746
+ nil, 19, 3, 3, 32, nil, nil, nil, 17, nil,
747
+ nil, nil, nil, nil, nil, 16, nil, nil, nil, nil,
748
+ 36, 36, nil, nil, nil, nil, 3, nil, 7, nil,
749
+ nil, 27, 27, 27, nil, nil, nil, nil, nil, nil,
750
+ nil, nil, nil, nil, nil, nil, nil, nil, 39, nil,
751
+ nil, 14, nil, 34, 2, 34, 3, nil, nil, 36,
752
+ nil, 36, 17, nil, 3, nil, nil, 15, nil, nil,
640
753
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
754
+ 3, 3, nil, nil, nil, nil, nil, nil, 3, nil,
755
+ 3, nil, nil, nil, nil, 3, nil, 3, nil, nil,
641
756
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
642
- nil, nil, nil, nil, nil, 3, nil, nil, nil, 3,
643
- nil, nil, nil, nil, nil, nil, nil, 3 ]
757
+ nil, nil, nil, nil, 3, nil, nil, nil, nil, nil,
758
+ nil, nil, nil, nil, 3 ]
644
759
 
645
760
  racc_goto_pointer = [
646
- nil, 34, 6, -17, nil, nil, -97, nil, nil, nil,
647
- nil, -55, -84, -49, -99, -50, -73, 0, -79, -36,
648
- -35, nil, nil, -59, -76, 0, nil, nil, nil, nil,
649
- 8, -26, -12, nil, -9, -45, nil, -16, nil, 25,
650
- nil ]
761
+ nil, 46, 1, -6, nil, nil, nil, -96, nil, nil,
762
+ nil, nil, nil, -15, -53, -37, -109, -62, -76, 0,
763
+ -92, -77, -55, nil, nil, 5, -32, 15, nil, nil,
764
+ nil, nil, 22, -52, -36, nil, -30, -65, nil, 2,
765
+ nil, 26, nil ]
651
766
 
652
767
  racc_goto_default = [
653
- nil, nil, nil, 45, 49, 4, 9, 13, 16, 19,
654
- 24, nil, nil, 37, nil, 48, nil, nil, 57, 15,
655
- 18, 22, 25, 86, 38, 43, 47, 2, 8, 11,
656
- nil, nil, 21, 27, 31, 36, 42, 46, 103, 7,
657
- 84 ]
768
+ nil, nil, nil, 5, 11, 14, 20, 24, 30, 33,
769
+ 36, 41, 45, nil, nil, 9, nil, 19, nil, nil,
770
+ 88, 34, 39, 44, 48, 61, 10, 13, 18, 23,
771
+ 27, 32, nil, nil, 43, 50, 3, 8, 12, 16,
772
+ 119, 26, 63 ]
658
773
 
659
774
  racc_reduce_table = [
660
775
  0, 0, :racc_error,
661
- 1, 51, :_reduce_1,
662
- 3, 51, :_reduce_2,
663
- 0, 52, :_reduce_none,
664
- 1, 52, :_reduce_none,
665
- 1, 52, :_reduce_none,
666
- 1, 53, :_reduce_none,
667
- 1, 53, :_reduce_none,
668
- 1, 53, :_reduce_none,
669
- 1, 53, :_reduce_none,
670
- 1, 53, :_reduce_none,
671
- 1, 53, :_reduce_none,
672
- 3, 60, :_reduce_12,
673
- 1, 61, :_reduce_13,
674
- 3, 61, :_reduce_14,
675
- 3, 62, :_reduce_15,
676
- 1, 64, :_reduce_none,
677
- 1, 64, :_reduce_none,
678
- 1, 66, :_reduce_18,
679
- 3, 66, :_reduce_19,
680
- 4, 54, :_reduce_20,
681
- 8, 57, :_reduce_21,
682
- 6, 57, :_reduce_22,
683
- 4, 58, :_reduce_23,
684
- 1, 67, :_reduce_24,
685
- 3, 67, :_reduce_25,
686
- 3, 68, :_reduce_26,
687
- 4, 59, :_reduce_27,
688
- 4, 59, :_reduce_28,
776
+ 1, 53, :_reduce_1,
777
+ 3, 53, :_reduce_2,
778
+ 0, 54, :_reduce_none,
779
+ 1, 54, :_reduce_none,
780
+ 1, 54, :_reduce_none,
781
+ 1, 54, :_reduce_6,
689
782
  1, 55, :_reduce_none,
690
- 3, 55, :_reduce_30,
691
- 1, 69, :_reduce_none,
692
- 3, 69, :_reduce_32,
693
- 3, 69, :_reduce_33,
694
- 1, 70, :_reduce_none,
695
- 3, 70, :_reduce_35,
696
- 3, 70, :_reduce_36,
697
- 5, 72, :_reduce_37,
698
- 1, 71, :_reduce_none,
699
- 3, 71, :_reduce_39,
700
- 3, 71, :_reduce_40,
701
- 3, 71, :_reduce_41,
702
- 3, 71, :_reduce_42,
703
- 3, 56, :_reduce_43,
704
- 3, 56, :_reduce_44,
705
- 1, 65, :_reduce_none,
706
- 3, 65, :_reduce_46,
707
- 3, 65, :_reduce_47,
783
+ 1, 55, :_reduce_none,
784
+ 1, 55, :_reduce_none,
785
+ 1, 55, :_reduce_none,
786
+ 1, 55, :_reduce_none,
787
+ 1, 55, :_reduce_none,
788
+ 1, 55, :_reduce_none,
789
+ 3, 64, :_reduce_14,
790
+ 3, 63, :_reduce_15,
791
+ 1, 65, :_reduce_16,
792
+ 3, 65, :_reduce_17,
793
+ 3, 66, :_reduce_18,
794
+ 1, 68, :_reduce_none,
795
+ 1, 68, :_reduce_none,
796
+ 1, 70, :_reduce_21,
797
+ 3, 70, :_reduce_22,
798
+ 4, 56, :_reduce_23,
799
+ 4, 57, :_reduce_24,
800
+ 8, 60, :_reduce_25,
801
+ 6, 60, :_reduce_26,
802
+ 4, 61, :_reduce_27,
803
+ 1, 71, :_reduce_28,
804
+ 3, 71, :_reduce_29,
805
+ 3, 72, :_reduce_30,
806
+ 4, 62, :_reduce_31,
807
+ 4, 62, :_reduce_32,
808
+ 1, 58, :_reduce_none,
809
+ 3, 58, :_reduce_34,
810
+ 1, 73, :_reduce_none,
811
+ 3, 73, :_reduce_36,
812
+ 3, 73, :_reduce_37,
708
813
  1, 74, :_reduce_none,
709
- 3, 74, :_reduce_49,
710
- 3, 74, :_reduce_50,
711
- 3, 74, :_reduce_51,
814
+ 3, 74, :_reduce_39,
815
+ 3, 74, :_reduce_40,
816
+ 3, 76, :_reduce_41,
712
817
  1, 75, :_reduce_none,
713
- 2, 75, :_reduce_53,
714
- 1, 76, :_reduce_none,
715
- 1, 76, :_reduce_55,
716
- 3, 77, :_reduce_56,
717
- 3, 77, :_reduce_57,
718
- 1, 63, :_reduce_58,
719
- 3, 63, :_reduce_59,
720
- 0, 81, :_reduce_none,
721
- 2, 81, :_reduce_61,
722
- 2, 81, :_reduce_62,
723
- 1, 78, :_reduce_none,
818
+ 3, 75, :_reduce_43,
819
+ 3, 75, :_reduce_44,
820
+ 3, 75, :_reduce_45,
821
+ 3, 75, :_reduce_46,
822
+ 3, 59, :_reduce_47,
823
+ 3, 59, :_reduce_48,
824
+ 1, 69, :_reduce_none,
825
+ 3, 69, :_reduce_50,
826
+ 3, 69, :_reduce_51,
724
827
  1, 78, :_reduce_none,
725
- 1, 83, :_reduce_65,
726
- 2, 83, :_reduce_66,
727
- 2, 83, :_reduce_67,
728
- 3, 83, :_reduce_68,
729
- 3, 83, :_reduce_69,
730
- 1, 82, :_reduce_70,
731
- 3, 82, :_reduce_71,
732
- 3, 82, :_reduce_72,
733
- 2, 85, :_reduce_73,
734
- 1, 85, :_reduce_74,
735
- 1, 85, :_reduce_75,
736
- 1, 86, :_reduce_76,
737
- 2, 86, :_reduce_77,
738
- 2, 86, :_reduce_78,
739
- 2, 84, :_reduce_79,
740
- 0, 80, :_reduce_80,
741
- 2, 80, :_reduce_81,
742
- 3, 88, :_reduce_82,
743
- 3, 88, :_reduce_83,
744
- 1, 79, :_reduce_84,
745
- 3, 79, :_reduce_85,
828
+ 3, 78, :_reduce_53,
829
+ 3, 78, :_reduce_54,
830
+ 3, 78, :_reduce_55,
746
831
  1, 79, :_reduce_none,
747
- 1, 79, :_reduce_none,
748
- 1, 79, :_reduce_88,
749
- 1, 79, :_reduce_89,
750
- 2, 79, :_reduce_90,
751
- 3, 89, :_reduce_91,
752
- 0, 90, :_reduce_92,
753
- 1, 90, :_reduce_none,
754
- 1, 73, :_reduce_94,
755
- 3, 73, :_reduce_95,
756
- 1, 87, :_reduce_none,
757
- 1, 87, :_reduce_97,
758
- 3, 87, :_reduce_98,
759
- 1, 87, :_reduce_none ]
760
-
761
- racc_reduce_n = 100
762
-
763
- racc_shift_n = 176
832
+ 2, 79, :_reduce_57,
833
+ 1, 80, :_reduce_none,
834
+ 1, 80, :_reduce_59,
835
+ 3, 81, :_reduce_60,
836
+ 3, 81, :_reduce_61,
837
+ 1, 67, :_reduce_62,
838
+ 3, 67, :_reduce_63,
839
+ 0, 85, :_reduce_none,
840
+ 2, 85, :_reduce_65,
841
+ 2, 85, :_reduce_66,
842
+ 1, 82, :_reduce_none,
843
+ 1, 82, :_reduce_none,
844
+ 1, 87, :_reduce_69,
845
+ 2, 87, :_reduce_70,
846
+ 2, 87, :_reduce_71,
847
+ 3, 87, :_reduce_72,
848
+ 3, 87, :_reduce_73,
849
+ 1, 86, :_reduce_74,
850
+ 3, 86, :_reduce_75,
851
+ 3, 86, :_reduce_76,
852
+ 2, 89, :_reduce_77,
853
+ 1, 89, :_reduce_78,
854
+ 1, 89, :_reduce_79,
855
+ 1, 90, :_reduce_80,
856
+ 2, 90, :_reduce_81,
857
+ 2, 90, :_reduce_82,
858
+ 2, 88, :_reduce_83,
859
+ 0, 84, :_reduce_84,
860
+ 2, 84, :_reduce_85,
861
+ 3, 92, :_reduce_86,
862
+ 3, 92, :_reduce_87,
863
+ 1, 83, :_reduce_88,
864
+ 3, 83, :_reduce_89,
865
+ 1, 83, :_reduce_none,
866
+ 1, 83, :_reduce_none,
867
+ 1, 83, :_reduce_92,
868
+ 1, 83, :_reduce_93,
869
+ 2, 83, :_reduce_94,
870
+ 3, 93, :_reduce_95,
871
+ 0, 94, :_reduce_96,
872
+ 1, 94, :_reduce_none,
873
+ 1, 77, :_reduce_98,
874
+ 3, 77, :_reduce_99,
875
+ 1, 91, :_reduce_none,
876
+ 1, 91, :_reduce_101,
877
+ 3, 91, :_reduce_102,
878
+ 1, 91, :_reduce_none ]
879
+
880
+ racc_reduce_n = 104
881
+
882
+ racc_shift_n = 182
764
883
 
765
884
  racc_token_table = {
766
885
  false => 0,
767
886
  :error => 1,
768
887
  :SEMI => 2,
769
- :WITH => 3,
770
- :COMMA => 4,
771
- :COLON_EQUAL => 5,
772
- :LET => 6,
773
- :DOLLAR_QNAME => 7,
774
- :IF => 8,
775
- :LP => 9,
776
- :RP => 10,
777
- :THEN => 11,
778
- :ELSE => 12,
779
- :FOR => 13,
780
- :RETURN => 14,
781
- :IN => 15,
782
- :SOME => 16,
783
- :SATISFIES => 17,
784
- :EVERY => 18,
785
- :OR => 19,
786
- :AND => 20,
787
- :EXCEPT => 21,
788
- :EQ => 22,
789
- :NEQ => 23,
790
- :LB => 24,
791
- :RB => 25,
792
- :LT => 26,
793
- :GT => 27,
794
- :LTE => 28,
795
- :GTE => 29,
796
- :DOT_DOT => 30,
797
- :TO => 31,
798
- :PLUS => 32,
799
- :MINUS => 33,
800
- :STAR => 34,
801
- :DIV => 35,
802
- :MOD => 36,
803
- :PIPE => 37,
804
- :SLASH => 38,
805
- :SLASH_SLASH => 39,
806
- :DOT => 40,
807
- :AT => 41,
808
- :AXIS_NAME => 42,
809
- :COLON_COLON => 43,
810
- :LITERAL => 44,
811
- :NUMBER => 45,
812
- :FUNCTION_NAME => 46,
813
- :QNAME => 47,
814
- :LC => 48,
815
- :RC => 49 }
816
-
817
- racc_nt_base = 50
888
+ :ERR => 3,
889
+ :WITH => 4,
890
+ :COMMA => 5,
891
+ :COLON_EQUAL => 6,
892
+ :LET => 7,
893
+ :DOLLAR_QNAME => 8,
894
+ :XMLNS_COLON_NCNAME => 9,
895
+ :LITERAL => 10,
896
+ :IF => 11,
897
+ :LP => 12,
898
+ :RP => 13,
899
+ :THEN => 14,
900
+ :ELSE => 15,
901
+ :FOR => 16,
902
+ :RETURN => 17,
903
+ :IN => 18,
904
+ :SOME => 19,
905
+ :SATISFIES => 20,
906
+ :EVERY => 21,
907
+ :OR => 22,
908
+ :AND => 23,
909
+ :EXCEPT => 24,
910
+ :EQ => 25,
911
+ :NEQ => 26,
912
+ :LB => 27,
913
+ :RB => 28,
914
+ :LT => 29,
915
+ :GT => 30,
916
+ :LTE => 31,
917
+ :GTE => 32,
918
+ :DOT_DOT => 33,
919
+ :TO => 34,
920
+ :PLUS => 35,
921
+ :MINUS => 36,
922
+ :STAR => 37,
923
+ :DIV => 38,
924
+ :MOD => 39,
925
+ :PIPE => 40,
926
+ :SLASH => 41,
927
+ :SLASH_SLASH => 42,
928
+ :DOT => 43,
929
+ :AT => 44,
930
+ :AXIS_NAME => 45,
931
+ :COLON_COLON => 46,
932
+ :NUMBER => 47,
933
+ :FUNCTION_NAME => 48,
934
+ :QNAME => 49,
935
+ :LC => 50,
936
+ :RC => 51 }
937
+
938
+ racc_nt_base = 52
818
939
 
819
940
  racc_use_result_var = true
820
941
 
@@ -838,11 +959,14 @@ Racc_token_to_s_table = [
838
959
  "$end",
839
960
  "error",
840
961
  "SEMI",
962
+ "ERR",
841
963
  "WITH",
842
964
  "COMMA",
843
965
  "COLON_EQUAL",
844
966
  "LET",
845
967
  "DOLLAR_QNAME",
968
+ "XMLNS_COLON_NCNAME",
969
+ "LITERAL",
846
970
  "IF",
847
971
  "LP",
848
972
  "RP",
@@ -879,7 +1003,6 @@ Racc_token_to_s_table = [
879
1003
  "AT",
880
1004
  "AXIS_NAME",
881
1005
  "COLON_COLON",
882
- "LITERAL",
883
1006
  "NUMBER",
884
1007
  "FUNCTION_NAME",
885
1008
  "QNAME",
@@ -890,12 +1013,14 @@ Racc_token_to_s_table = [
890
1013
  "statement",
891
1014
  "expr",
892
1015
  "let_expr",
1016
+ "ns_expr",
893
1017
  "or_expr",
894
1018
  "range_expr",
895
1019
  "if_expr",
896
1020
  "for_expr",
897
1021
  "quant_expr",
898
1022
  "with_expr",
1023
+ "err_expr",
899
1024
  "expr_set_list",
900
1025
  "expr_set",
901
1026
  "path_expr",
@@ -953,7 +1078,12 @@ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 13)
953
1078
 
954
1079
  # reduce 5 omitted
955
1080
 
956
- # reduce 6 omitted
1081
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 18)
1082
+ def _reduce_6(val, _values, result)
1083
+ result = nil
1084
+ result
1085
+ end
1086
+ .,.,
957
1087
 
958
1088
  # reduce 7 omitted
959
1089
 
@@ -965,479 +1095,498 @@ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 13)
965
1095
 
966
1096
  # reduce 11 omitted
967
1097
 
968
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 26)
969
- def _reduce_12(val, _values, result)
1098
+ # reduce 12 omitted
1099
+
1100
+ # reduce 13 omitted
1101
+
1102
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 28)
1103
+ def _reduce_14(val, _values, result)
1104
+ result = Fabulator::Expr::ErrExpr.new(val[0], val[2])
1105
+ result
1106
+ end
1107
+ .,.,
1108
+
1109
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 30)
1110
+ def _reduce_15(val, _values, result)
970
1111
  result = Fabulator::Expr::WithExpr.new(val[0], val[2])
971
1112
  result
972
1113
  end
973
1114
  .,.,
974
1115
 
975
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 28)
976
- def _reduce_13(val, _values, result)
1116
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 32)
1117
+ def _reduce_16(val, _values, result)
977
1118
  result = Fabulator::Expr::StatementList.new; result.add_statement(val[0])
978
1119
  result
979
1120
  end
980
1121
  .,.,
981
1122
 
982
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 29)
983
- def _reduce_14(val, _values, result)
1123
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 33)
1124
+ def _reduce_17(val, _values, result)
984
1125
  result = val[0]; result.add_statement(val[2])
985
1126
  result
986
1127
  end
987
1128
  .,.,
988
1129
 
989
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 31)
990
- def _reduce_15(val, _values, result)
1130
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 35)
1131
+ def _reduce_18(val, _values, result)
991
1132
  result = Fabulator::Expr::DataSet.new(val[0], val[2])
992
1133
  result
993
1134
  end
994
1135
  .,.,
995
1136
 
996
- # reduce 16 omitted
1137
+ # reduce 19 omitted
997
1138
 
998
- # reduce 17 omitted
1139
+ # reduce 20 omitted
999
1140
 
1000
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 38)
1001
- def _reduce_18(val, _values, result)
1141
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 42)
1142
+ def _reduce_21(val, _values, result)
1002
1143
  result = [ val[0] ]
1003
1144
  result
1004
1145
  end
1005
1146
  .,.,
1006
1147
 
1007
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 39)
1008
- def _reduce_19(val, _values, result)
1148
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 43)
1149
+ def _reduce_22(val, _values, result)
1009
1150
  result = val[0] + [ val[2] ]
1010
1151
  result
1011
1152
  end
1012
1153
  .,.,
1013
1154
 
1014
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 41)
1015
- def _reduce_20(val, _values, result)
1155
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 45)
1156
+ def _reduce_23(val, _values, result)
1016
1157
  result = Fabulator::Expr::LetExpr.new(val[1], val[3])
1017
1158
  result
1018
1159
  end
1019
1160
  .,.,
1020
1161
 
1021
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 43)
1022
- def _reduce_21(val, _values, result)
1162
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 48)
1163
+ def _reduce_24(val, _values, result)
1164
+ @context.set_ns(val[1].gsub(/^xmlns:/, ''), val[3])
1165
+
1166
+ result
1167
+ end
1168
+ .,.,
1169
+
1170
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 51)
1171
+ def _reduce_25(val, _values, result)
1023
1172
  result = Fabulator::Expr::IfExpr.new(val[2], val[5], val[7])
1024
1173
  result
1025
1174
  end
1026
1175
  .,.,
1027
1176
 
1028
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 44)
1029
- def _reduce_22(val, _values, result)
1177
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 52)
1178
+ def _reduce_26(val, _values, result)
1030
1179
  result = Fabulator::Expr::IfExpr.new(val[2], val[5], nil)
1031
1180
  result
1032
1181
  end
1033
1182
  .,.,
1034
1183
 
1035
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 46)
1036
- def _reduce_23(val, _values, result)
1184
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 54)
1185
+ def _reduce_27(val, _values, result)
1037
1186
  result = Fabulator::Expr::ForExpr.new(val[1], val[3])
1038
1187
  result
1039
1188
  end
1040
1189
  .,.,
1041
1190
 
1042
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 48)
1043
- def _reduce_24(val, _values, result)
1191
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 56)
1192
+ def _reduce_28(val, _values, result)
1044
1193
  result = [ val[0] ]
1045
1194
  result
1046
1195
  end
1047
1196
  .,.,
1048
1197
 
1049
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 49)
1050
- def _reduce_25(val, _values, result)
1198
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 57)
1199
+ def _reduce_29(val, _values, result)
1051
1200
  result = val[0] + [ val[2] ]
1052
1201
  result
1053
1202
  end
1054
1203
  .,.,
1055
1204
 
1056
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 51)
1057
- def _reduce_26(val, _values, result)
1205
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 59)
1206
+ def _reduce_30(val, _values, result)
1058
1207
  result = Fabulator::Expr::ForVar.new(val[0], val[2])
1059
1208
  result
1060
1209
  end
1061
1210
  .,.,
1062
1211
 
1063
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 53)
1064
- def _reduce_27(val, _values, result)
1212
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 61)
1213
+ def _reduce_31(val, _values, result)
1065
1214
  result = Fabulator::Expr::SomeExpr.new(val[1], val[3])
1066
1215
  result
1067
1216
  end
1068
1217
  .,.,
1069
1218
 
1070
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 54)
1071
- def _reduce_28(val, _values, result)
1219
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 62)
1220
+ def _reduce_32(val, _values, result)
1072
1221
  result = Fabulator::Expr::EveryExpr.new(val[1], val[3])
1073
1222
  result
1074
1223
  end
1075
1224
  .,.,
1076
1225
 
1077
- # reduce 29 omitted
1226
+ # reduce 33 omitted
1078
1227
 
1079
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 57)
1080
- def _reduce_30(val, _values, result)
1228
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 65)
1229
+ def _reduce_34(val, _values, result)
1081
1230
  result = Fabulator::Expr::OrExpr.new(val[0], val[2])
1082
1231
  result
1083
1232
  end
1084
1233
  .,.,
1085
1234
 
1086
- # reduce 31 omitted
1235
+ # reduce 35 omitted
1087
1236
 
1088
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 60)
1089
- def _reduce_32(val, _values, result)
1237
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 68)
1238
+ def _reduce_36(val, _values, result)
1090
1239
  result = Fabulator::Expr::AndExpr.new(val[0], val[2])
1091
1240
  result
1092
1241
  end
1093
1242
  .,.,
1094
1243
 
1095
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 61)
1096
- def _reduce_33(val, _values, result)
1244
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 69)
1245
+ def _reduce_37(val, _values, result)
1097
1246
  result = Fabulator::Expr::ExceptExpr.new(val[0], val[2])
1098
1247
  result
1099
1248
  end
1100
1249
  .,.,
1101
1250
 
1102
- # reduce 34 omitted
1251
+ # reduce 38 omitted
1103
1252
 
1104
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 64)
1105
- def _reduce_35(val, _values, result)
1253
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 72)
1254
+ def _reduce_39(val, _values, result)
1106
1255
  result = Fabulator::Expr::EqExpr.new(val[0], val[2])
1107
1256
  result
1108
1257
  end
1109
1258
  .,.,
1110
1259
 
1111
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 65)
1112
- def _reduce_36(val, _values, result)
1260
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 73)
1261
+ def _reduce_40(val, _values, result)
1113
1262
  result = Fabulator::Expr::NeqExpr.new(val[0], val[2])
1114
1263
  result
1115
1264
  end
1116
1265
  .,.,
1117
1266
 
1118
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 67)
1119
- def _reduce_37(val, _values, result)
1120
- result = Fabulator::Expr::Tuple.new(val[2])
1267
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 75)
1268
+ def _reduce_41(val, _values, result)
1269
+ result = Fabulator::Expr::Tuple.new(val[1])
1121
1270
  result
1122
1271
  end
1123
1272
  .,.,
1124
1273
 
1125
- # reduce 38 omitted
1274
+ # reduce 42 omitted
1126
1275
 
1127
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 72)
1128
- def _reduce_39(val, _values, result)
1276
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 80)
1277
+ def _reduce_43(val, _values, result)
1129
1278
  result = Fabulator::Expr::LtExpr.new(val[0], val[2])
1130
1279
  result
1131
1280
  end
1132
1281
  .,.,
1133
1282
 
1134
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 73)
1135
- def _reduce_40(val, _values, result)
1283
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 81)
1284
+ def _reduce_44(val, _values, result)
1136
1285
  result = Fabulator::Expr::LtExpr.new(val[2], val[0])
1137
1286
  result
1138
1287
  end
1139
1288
  .,.,
1140
1289
 
1141
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 74)
1142
- def _reduce_41(val, _values, result)
1290
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 82)
1291
+ def _reduce_45(val, _values, result)
1143
1292
  result = Fabulator::Expr::LteExpr.new(val[0], val[2])
1144
1293
  result
1145
1294
  end
1146
1295
  .,.,
1147
1296
 
1148
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 75)
1149
- def _reduce_42(val, _values, result)
1297
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 83)
1298
+ def _reduce_46(val, _values, result)
1150
1299
  result = Fabulator::Expr::LteExpr.new(val[2], val[0])
1151
1300
  result
1152
1301
  end
1153
1302
  .,.,
1154
1303
 
1155
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 86)
1156
- def _reduce_43(val, _values, result)
1304
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 94)
1305
+ def _reduce_47(val, _values, result)
1157
1306
  result = Fabulator::Expr::RangeExpr.new(val[0], val[2])
1158
1307
  result
1159
1308
  end
1160
1309
  .,.,
1161
1310
 
1162
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 87)
1163
- def _reduce_44(val, _values, result)
1311
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 95)
1312
+ def _reduce_48(val, _values, result)
1164
1313
  result = Fabulator::Expr::RangeExpr.new(val[0], val[2])
1165
1314
  result
1166
1315
  end
1167
1316
  .,.,
1168
1317
 
1169
- # reduce 45 omitted
1318
+ # reduce 49 omitted
1170
1319
 
1171
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 90)
1172
- def _reduce_46(val, _values, result)
1320
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 98)
1321
+ def _reduce_50(val, _values, result)
1173
1322
  result = Fabulator::Expr::AddExpr.new(val[0], val[2])
1174
1323
  result
1175
1324
  end
1176
1325
  .,.,
1177
1326
 
1178
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 91)
1179
- def _reduce_47(val, _values, result)
1327
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 99)
1328
+ def _reduce_51(val, _values, result)
1180
1329
  result = Fabulator::Expr::SubExpr.new(val[0], val[2])
1181
1330
  result
1182
1331
  end
1183
1332
  .,.,
1184
1333
 
1185
- # reduce 48 omitted
1334
+ # reduce 52 omitted
1186
1335
 
1187
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 94)
1188
- def _reduce_49(val, _values, result)
1336
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 102)
1337
+ def _reduce_53(val, _values, result)
1189
1338
  result = Fabulator::Expr::MpyExpr.new(val[0], val[2])
1190
1339
  result
1191
1340
  end
1192
1341
  .,.,
1193
1342
 
1194
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 95)
1195
- def _reduce_50(val, _values, result)
1343
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 103)
1344
+ def _reduce_54(val, _values, result)
1196
1345
  result = Fabulator::Expr::DivExpr.new(val[0], val[2])
1197
1346
  result
1198
1347
  end
1199
1348
  .,.,
1200
1349
 
1201
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 96)
1202
- def _reduce_51(val, _values, result)
1350
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 104)
1351
+ def _reduce_55(val, _values, result)
1203
1352
  result = Fabulator::Expr::ModExpr.new(val[0], val[2])
1204
1353
  result
1205
1354
  end
1206
1355
  .,.,
1207
1356
 
1208
- # reduce 52 omitted
1357
+ # reduce 56 omitted
1209
1358
 
1210
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 99)
1211
- def _reduce_53(val, _values, result)
1359
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 107)
1360
+ def _reduce_57(val, _values, result)
1212
1361
  result = Fabulator::Expr::NegExpr.new(val[1])
1213
1362
  result
1214
1363
  end
1215
1364
  .,.,
1216
1365
 
1217
- # reduce 54 omitted
1366
+ # reduce 58 omitted
1218
1367
 
1219
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 102)
1220
- def _reduce_55(val, _values, result)
1368
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 110)
1369
+ def _reduce_59(val, _values, result)
1221
1370
  result = Fabulator::Expr::UnionExpr.new(val[0])
1222
1371
  result
1223
1372
  end
1224
1373
  .,.,
1225
1374
 
1226
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 104)
1227
- def _reduce_56(val, _values, result)
1375
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 112)
1376
+ def _reduce_60(val, _values, result)
1228
1377
  result = [ val[0], val[2] ]
1229
1378
  result
1230
1379
  end
1231
1380
  .,.,
1232
1381
 
1233
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 105)
1234
- def _reduce_57(val, _values, result)
1382
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 113)
1383
+ def _reduce_61(val, _values, result)
1235
1384
  result = val[0] + [ val[2] ]
1236
1385
  result
1237
1386
  end
1238
1387
  .,.,
1239
1388
 
1240
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 107)
1241
- def _reduce_58(val, _values, result)
1389
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 115)
1390
+ def _reduce_62(val, _values, result)
1242
1391
  result = Fabulator::Expr::PathExpr.new(nil, [], val[0])
1243
1392
  result
1244
1393
  end
1245
1394
  .,.,
1246
1395
 
1247
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 108)
1248
- def _reduce_59(val, _values, result)
1396
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 116)
1397
+ def _reduce_63(val, _values, result)
1249
1398
  result = Fabulator::Expr::PathExpr.new(val[0], val[1], val[2])
1250
1399
  result
1251
1400
  end
1252
1401
  .,.,
1253
1402
 
1254
- # reduce 60 omitted
1403
+ # reduce 64 omitted
1255
1404
 
1256
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 111)
1257
- def _reduce_61(val, _values, result)
1405
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 119)
1406
+ def _reduce_65(val, _values, result)
1258
1407
  result = val[1]
1259
1408
  result
1260
1409
  end
1261
1410
  .,.,
1262
1411
 
1263
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 112)
1264
- def _reduce_62(val, _values, result)
1412
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 120)
1413
+ def _reduce_66(val, _values, result)
1265
1414
  result = [ Fabulator::Expr::AxisDescendentOrSelf.new ] + val[1]
1266
1415
  result
1267
1416
  end
1268
1417
  .,.,
1269
1418
 
1270
- # reduce 63 omitted
1419
+ # reduce 67 omitted
1271
1420
 
1272
- # reduce 64 omitted
1421
+ # reduce 68 omitted
1273
1422
 
1274
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 120)
1275
- def _reduce_65(val, _values, result)
1423
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 128)
1424
+ def _reduce_69(val, _values, result)
1276
1425
  result = Fabulator::Expr::RootContext.new
1277
1426
  result
1278
1427
  end
1279
1428
  .,.,
1280
1429
 
1281
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 121)
1282
- def _reduce_66(val, _values, result)
1430
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 129)
1431
+ def _reduce_70(val, _values, result)
1283
1432
  result = Fabulator::Expr::PathExpr.new(Fabulator::Expr::RootContext.new, [], val[1])
1284
1433
  result
1285
1434
  end
1286
1435
  .,.,
1287
1436
 
1288
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 122)
1289
- def _reduce_67(val, _values, result)
1437
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 130)
1438
+ def _reduce_71(val, _values, result)
1290
1439
  result = [ Fabulator::Expr::RootContext.new, Fabulator::Expr::AxisDescendentOrSelf.new(val[1][0]) ] + val[1][1..val[1].size-1]
1291
1440
  result
1292
1441
  end
1293
1442
  .,.,
1294
1443
 
1295
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 123)
1296
- def _reduce_68(val, _values, result)
1444
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 131)
1445
+ def _reduce_72(val, _values, result)
1297
1446
  result = [ Fabulator::Expr::RootContext.new(val[0]) ] + val[2]
1298
1447
  result
1299
1448
  end
1300
1449
  .,.,
1301
1450
 
1302
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 124)
1303
- def _reduce_69(val, _values, result)
1451
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 132)
1452
+ def _reduce_73(val, _values, result)
1304
1453
  result = [ Fabulator::Expr::RootContext.new(val[0]), Fabulator::Expr::AxisDescendentOrSelf.new(val[2][0]) ] + val[2][1..val[2].size-1]
1305
1454
  result
1306
1455
  end
1307
1456
  .,.,
1308
1457
 
1309
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 126)
1310
- def _reduce_70(val, _values, result)
1458
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 134)
1459
+ def _reduce_74(val, _values, result)
1311
1460
  result = [ val[0] ]
1312
1461
  result
1313
1462
  end
1314
1463
  .,.,
1315
1464
 
1316
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 127)
1317
- def _reduce_71(val, _values, result)
1465
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 135)
1466
+ def _reduce_75(val, _values, result)
1318
1467
  result = val[0] + [ val[2] ]
1319
1468
  result
1320
1469
  end
1321
1470
  .,.,
1322
1471
 
1323
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 128)
1324
- def _reduce_72(val, _values, result)
1472
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 136)
1473
+ def _reduce_76(val, _values, result)
1325
1474
  result = val[0] + [ Fabulator::Expr::AxisDescendentOrSelf.new(val[2]) ]
1326
1475
  result
1327
1476
  end
1328
1477
  .,.,
1329
1478
 
1330
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 130)
1331
- def _reduce_73(val, _values, result)
1479
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 138)
1480
+ def _reduce_77(val, _values, result)
1332
1481
  result = val[1].nil? || val[1].empty? ? val[0] : Fabulator::Expr::Predicates.new(val[0], val[1])
1333
1482
  result
1334
1483
  end
1335
1484
  .,.,
1336
1485
 
1337
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 131)
1338
- def _reduce_74(val, _values, result)
1486
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 139)
1487
+ def _reduce_78(val, _values, result)
1339
1488
  result = Fabulator::Expr::CurrentContext.new
1340
1489
  result
1341
1490
  end
1342
1491
  .,.,
1343
1492
 
1344
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 132)
1345
- def _reduce_75(val, _values, result)
1493
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 140)
1494
+ def _reduce_79(val, _values, result)
1346
1495
  result = Fabulator::Expr::AxisParent.new
1347
1496
  result
1348
1497
  end
1349
1498
  .,.,
1350
1499
 
1351
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 138)
1352
- def _reduce_76(val, _values, result)
1500
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 146)
1501
+ def _reduce_80(val, _values, result)
1353
1502
  result = Fabulator::Expr::AxisChild.new(val[0])
1354
1503
  result
1355
1504
  end
1356
1505
  .,.,
1357
1506
 
1358
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 139)
1359
- def _reduce_77(val, _values, result)
1507
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 147)
1508
+ def _reduce_81(val, _values, result)
1360
1509
  result = Fabulator::Expr::Axis.new(val[0], val[1])
1361
1510
  result
1362
1511
  end
1363
1512
  .,.,
1364
1513
 
1365
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 140)
1366
- def _reduce_78(val, _values, result)
1514
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 148)
1515
+ def _reduce_82(val, _values, result)
1367
1516
  result = Fabulator::Expr::AxisAttribute.new(val[1])
1368
1517
  result
1369
1518
  end
1370
1519
  .,.,
1371
1520
 
1372
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 142)
1373
- def _reduce_79(val, _values, result)
1521
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 150)
1522
+ def _reduce_83(val, _values, result)
1374
1523
  result = Fabulator::Expr::Axis.new(val[0])
1375
1524
  result
1376
1525
  end
1377
1526
  .,.,
1378
1527
 
1379
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 144)
1380
- def _reduce_80(val, _values, result)
1528
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 152)
1529
+ def _reduce_84(val, _values, result)
1381
1530
  result = [ ]
1382
1531
  result
1383
1532
  end
1384
1533
  .,.,
1385
1534
 
1386
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 145)
1387
- def _reduce_81(val, _values, result)
1535
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 153)
1536
+ def _reduce_85(val, _values, result)
1388
1537
  result = val[0] + [ val[1] ]
1389
1538
  result
1390
1539
  end
1391
1540
  .,.,
1392
1541
 
1393
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 147)
1394
- def _reduce_82(val, _values, result)
1542
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 155)
1543
+ def _reduce_86(val, _values, result)
1395
1544
  result = val[1]
1396
1545
  result
1397
1546
  end
1398
1547
  .,.,
1399
1548
 
1400
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 148)
1401
- def _reduce_83(val, _values, result)
1549
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 156)
1550
+ def _reduce_87(val, _values, result)
1402
1551
  result = val[1]
1403
1552
  result
1404
1553
  end
1405
1554
  .,.,
1406
1555
 
1407
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 155)
1408
- def _reduce_84(val, _values, result)
1556
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 163)
1557
+ def _reduce_88(val, _values, result)
1409
1558
  result = Fabulator::Expr::Var.new(val[0])
1410
1559
  result
1411
1560
  end
1412
1561
  .,.,
1413
1562
 
1414
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 156)
1415
- def _reduce_85(val, _values, result)
1563
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 164)
1564
+ def _reduce_89(val, _values, result)
1416
1565
  result = val[1]
1417
1566
  result
1418
1567
  end
1419
1568
  .,.,
1420
1569
 
1421
- # reduce 86 omitted
1570
+ # reduce 90 omitted
1422
1571
 
1423
- # reduce 87 omitted
1572
+ # reduce 91 omitted
1424
1573
 
1425
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 159)
1426
- def _reduce_88(val, _values, result)
1574
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 167)
1575
+ def _reduce_92(val, _values, result)
1427
1576
  result = Fabulator::Expr::Literal.new(val[0], [ Fabulator::FAB_NS, 'string' ])
1428
1577
  result
1429
1578
  end
1430
1579
  .,.,
1431
1580
 
1432
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 160)
1433
- def _reduce_89(val, _values, result)
1581
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 168)
1582
+ def _reduce_93(val, _values, result)
1434
1583
  result = Fabulator::Expr::Literal.new(val[0] =~ /\./ ? val[0].to_d.to_r : val[0].to_i.to_r, [ Fabulator::FAB_NS, 'numeric' ])
1435
1584
  result
1436
1585
  end
1437
1586
  .,.,
1438
1587
 
1439
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 162)
1440
- def _reduce_90(val, _values, result)
1588
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 170)
1589
+ def _reduce_94(val, _values, result)
1441
1590
  result = Fabulator::Expr::Function.new(@context, val[0], val[1])
1442
1591
  # when 'any' : Fabulator::Expr::AnyExpr.new(@context, val[1])
1443
1592
  # when 'all' : Fabulator::Expr::AllExpr.new(@context, val[1])
@@ -1450,53 +1599,53 @@ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 162)
1450
1599
  end
1451
1600
  .,.,
1452
1601
 
1453
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 171)
1454
- def _reduce_91(val, _values, result)
1602
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 179)
1603
+ def _reduce_95(val, _values, result)
1455
1604
  result = Fabulator::Expr::List.new(val[1])
1456
1605
  result
1457
1606
  end
1458
1607
  .,.,
1459
1608
 
1460
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 174)
1461
- def _reduce_92(val, _values, result)
1609
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 182)
1610
+ def _reduce_96(val, _values, result)
1462
1611
  result = [ ]
1463
1612
  result
1464
1613
  end
1465
1614
  .,.,
1466
1615
 
1467
- # reduce 93 omitted
1616
+ # reduce 97 omitted
1468
1617
 
1469
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 177)
1470
- def _reduce_94(val, _values, result)
1618
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 185)
1619
+ def _reduce_98(val, _values, result)
1471
1620
  result = [ val[0] ]
1472
1621
  result
1473
1622
  end
1474
1623
  .,.,
1475
1624
 
1476
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 178)
1477
- def _reduce_95(val, _values, result)
1625
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 186)
1626
+ def _reduce_99(val, _values, result)
1478
1627
  result = val[0] + [ val[2] ]
1479
1628
  result
1480
1629
  end
1481
1630
  .,.,
1482
1631
 
1483
- # reduce 96 omitted
1632
+ # reduce 100 omitted
1484
1633
 
1485
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 181)
1486
- def _reduce_97(val, _values, result)
1634
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 189)
1635
+ def _reduce_101(val, _values, result)
1487
1636
  result = val[0].to_s
1488
1637
  result
1489
1638
  end
1490
1639
  .,.,
1491
1640
 
1492
- module_eval(<<'.,.,', 'xsm_expression_parser.racc', 182)
1493
- def _reduce_98(val, _values, result)
1641
+ module_eval(<<'.,.,', 'xsm_expression_parser.racc', 190)
1642
+ def _reduce_102(val, _values, result)
1494
1643
  result = val[1]
1495
1644
  result
1496
1645
  end
1497
1646
  .,.,
1498
1647
 
1499
- # reduce 99 omitted
1648
+ # reduce 103 omitted
1500
1649
 
1501
1650
  def _reduce_none(val, _values, result)
1502
1651
  val[0]