puppet 4.0.0-x64-mingw32 → 4.1.0-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/ext/build_defaults.yaml +8 -35
  3. data/ext/debian/puppet.default +0 -5
  4. data/ext/debian/puppet.init +1 -15
  5. data/lib/hiera/puppet_function.rb +15 -4
  6. data/lib/puppet/application/agent.rb +5 -0
  7. data/lib/puppet/application/apply.rb +23 -2
  8. data/lib/puppet/application/device.rb +8 -3
  9. data/lib/puppet/application/master.rb +16 -5
  10. data/lib/puppet/configurer.rb +7 -5
  11. data/lib/puppet/defaults.rb +18 -0
  12. data/lib/puppet/environments.rb +1 -1
  13. data/lib/puppet/error.rb +27 -1
  14. data/lib/puppet/file_serving/metadata.rb +13 -8
  15. data/lib/puppet/file_serving/terminus_helper.rb +7 -8
  16. data/lib/puppet/file_system.rb +13 -0
  17. data/lib/puppet/file_system/file_impl.rb +4 -0
  18. data/lib/puppet/file_system/memory_impl.rb +4 -0
  19. data/lib/puppet/file_system/windows.rb +8 -0
  20. data/lib/puppet/functions.rb +33 -3
  21. data/lib/puppet/functions/defined.rb +130 -0
  22. data/lib/puppet/functions/regsubst.rb +1 -1
  23. data/lib/puppet/functions/split.rb +1 -1
  24. data/lib/puppet/indirector/catalog/compiler.rb +1 -1
  25. data/lib/puppet/indirector/facts/facter.rb +11 -0
  26. data/lib/puppet/loaders.rb +1 -0
  27. data/lib/puppet/node.rb +17 -1
  28. data/lib/puppet/node/environment.rb +4 -0
  29. data/lib/puppet/parser/ast/pops_bridge.rb +4 -0
  30. data/lib/puppet/parser/compiler.rb +9 -0
  31. data/lib/puppet/parser/functions/defined.rb +25 -1
  32. data/lib/puppet/parser/functions/file.rb +3 -1
  33. data/lib/puppet/parser/scope.rb +11 -2
  34. data/lib/puppet/parser/templatewrapper.rb +2 -1
  35. data/lib/puppet/pops.rb +4 -0
  36. data/lib/puppet/pops/evaluator/access_operator.rb +25 -5
  37. data/lib/puppet/pops/evaluator/closure.rb +28 -2
  38. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -11
  39. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +4 -0
  40. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +4 -0
  41. data/lib/puppet/pops/evaluator/compare_operator.rb +43 -0
  42. data/lib/puppet/pops/evaluator/epp_evaluator.rb +7 -2
  43. data/lib/puppet/pops/evaluator/evaluator_impl.rb +48 -14
  44. data/lib/puppet/pops/evaluator/runtime3_support.rb +10 -5
  45. data/lib/puppet/pops/functions/dispatch.rb +6 -1
  46. data/lib/puppet/pops/functions/dispatcher.rb +7 -1
  47. data/lib/puppet/pops/issue_reporter.rb +42 -16
  48. data/lib/puppet/pops/issues.rb +116 -2
  49. data/lib/puppet/pops/loader/loader.rb +11 -0
  50. data/lib/puppet/pops/loader/loader_paths.rb +67 -6
  51. data/lib/puppet/pops/loader/module_loaders.rb +19 -8
  52. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +78 -0
  53. data/lib/puppet/pops/loaders.rb +6 -4
  54. data/lib/puppet/pops/migration/migration_checker.rb +54 -0
  55. data/lib/puppet/pops/model/factory.rb +5 -1
  56. data/lib/puppet/pops/model/model_label_provider.rb +2 -0
  57. data/lib/puppet/pops/model/model_meta.rb +5 -1
  58. data/lib/puppet/pops/parser/egrammar.ra +9 -10
  59. data/lib/puppet/pops/parser/eparser.rb +1061 -1047
  60. data/lib/puppet/pops/parser/epp_support.rb +18 -9
  61. data/lib/puppet/pops/parser/evaluating_parser.rb +7 -1
  62. data/lib/puppet/pops/parser/heredoc_support.rb +12 -11
  63. data/lib/puppet/pops/parser/interpolation_support.rb +7 -1
  64. data/lib/puppet/pops/parser/lexer2.rb +29 -12
  65. data/lib/puppet/pops/parser/lexer_support.rb +52 -23
  66. data/lib/puppet/pops/parser/parser_support.rb +11 -14
  67. data/lib/puppet/pops/parser/slurp_support.rb +22 -6
  68. data/lib/puppet/pops/types/type_calculator.rb +156 -55
  69. data/lib/puppet/pops/types/type_factory.rb +66 -13
  70. data/lib/puppet/pops/types/type_parser.rb +22 -13
  71. data/lib/puppet/pops/types/types.rb +23 -4
  72. data/lib/puppet/pops/types/types_meta.rb +13 -2
  73. data/lib/puppet/pops/validation.rb +25 -2
  74. data/lib/puppet/pops/validation/checker4_0.rb +63 -31
  75. data/lib/puppet/provider/group/windows_adsi.rb +8 -4
  76. data/lib/puppet/provider/mount/parsed.rb +145 -2
  77. data/lib/puppet/provider/package/apt.rb +1 -1
  78. data/lib/puppet/provider/package/pip.rb +11 -2
  79. data/lib/puppet/provider/package/pkgng.rb +134 -0
  80. data/lib/puppet/provider/package/portage.rb +1 -1
  81. data/lib/puppet/provider/package/ports.rb +0 -3
  82. data/lib/puppet/provider/package/windows/exe_package.rb +0 -1
  83. data/lib/puppet/provider/package/windows/msi_package.rb +0 -1
  84. data/lib/puppet/provider/package/zypper.rb +50 -15
  85. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +32 -7
  86. data/lib/puppet/provider/service/debian.rb +1 -1
  87. data/lib/puppet/provider/service/init.rb +7 -0
  88. data/lib/puppet/provider/user/openbsd.rb +1 -0
  89. data/lib/puppet/provider/user/windows_adsi.rb +45 -2
  90. data/lib/puppet/reference/indirection.rb +1 -1
  91. data/lib/puppet/resource.rb +1 -1
  92. data/lib/puppet/resource/catalog.rb +0 -4
  93. data/lib/puppet/settings.rb +19 -0
  94. data/lib/puppet/type/file.rb +1 -0
  95. data/lib/puppet/type/file/ensure.rb +1 -1
  96. data/lib/puppet/type/mount.rb +9 -1
  97. data/lib/puppet/type/scheduled_task.rb +13 -0
  98. data/lib/puppet/type/tidy.rb +3 -1
  99. data/lib/puppet/type/user.rb +32 -0
  100. data/lib/puppet/type/yumrepo.rb +5 -5
  101. data/lib/puppet/util/log.rb +50 -8
  102. data/lib/puppet/util/log/destinations.rb +23 -2
  103. data/lib/puppet/util/logging.rb +37 -1
  104. data/lib/puppet/util/run_mode.rb +1 -14
  105. data/lib/puppet/util/windows/adsi.rb +130 -58
  106. data/lib/puppet/version.rb +1 -1
  107. data/man/man5/puppet.conf.5 +48 -6
  108. data/man/man8/extlookup2hiera.8 +1 -1
  109. data/man/man8/puppet-agent.8 +4 -1
  110. data/man/man8/puppet-apply.8 +4 -1
  111. data/man/man8/puppet-ca.8 +1 -1
  112. data/man/man8/puppet-catalog.8 +1 -1
  113. data/man/man8/puppet-cert.8 +1 -1
  114. data/man/man8/puppet-certificate.8 +1 -1
  115. data/man/man8/puppet-certificate_request.8 +1 -1
  116. data/man/man8/puppet-certificate_revocation_list.8 +1 -1
  117. data/man/man8/puppet-config.8 +1 -1
  118. data/man/man8/puppet-describe.8 +1 -1
  119. data/man/man8/puppet-device.8 +6 -3
  120. data/man/man8/puppet-doc.8 +1 -1
  121. data/man/man8/puppet-epp.8 +1 -1
  122. data/man/man8/puppet-facts.8 +1 -1
  123. data/man/man8/puppet-file.8 +1 -1
  124. data/man/man8/puppet-filebucket.8 +1 -1
  125. data/man/man8/puppet-help.8 +1 -1
  126. data/man/man8/puppet-inspect.8 +1 -1
  127. data/man/man8/puppet-key.8 +1 -1
  128. data/man/man8/puppet-man.8 +1 -1
  129. data/man/man8/puppet-master.8 +4 -1
  130. data/man/man8/puppet-module.8 +1 -1
  131. data/man/man8/puppet-node.8 +1 -1
  132. data/man/man8/puppet-parser.8 +1 -1
  133. data/man/man8/puppet-plugin.8 +1 -1
  134. data/man/man8/puppet-report.8 +1 -1
  135. data/man/man8/puppet-resource.8 +1 -1
  136. data/man/man8/puppet-resource_type.8 +1 -1
  137. data/man/man8/puppet-status.8 +1 -1
  138. data/man/man8/puppet.8 +1 -1
  139. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +3 -1
  140. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +6 -0
  141. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +9 -0
  142. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +9 -0
  143. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +3 -0
  144. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +3 -0
  145. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +3 -0
  146. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +5 -0
  147. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +3 -0
  148. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +3 -0
  149. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +10 -0
  150. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +3 -0
  151. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +3 -0
  152. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +1 -10
  153. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +93 -85
  154. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +11 -7
  155. data/spec/fixtures/unit/provider/package/pkgng/pkg.info +8 -0
  156. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +1 -0
  157. data/spec/fixtures/unit/provider/package/pkgng/pkg.query_absent +1 -0
  158. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +3 -0
  159. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +3 -0
  160. data/spec/integration/application/apply_spec.rb +49 -0
  161. data/spec/integration/faces/plugin_spec.rb +0 -4
  162. data/spec/integration/indirector/facts/facter_spec.rb +59 -0
  163. data/spec/integration/parser/compiler_spec.rb +850 -0
  164. data/spec/integration/parser/resource_expressions_spec.rb +3 -0
  165. data/spec/integration/parser/scope_spec.rb +26 -5
  166. data/spec/integration/transaction_spec.rb +1 -1
  167. data/spec/integration/type/file_spec.rb +318 -41
  168. data/spec/integration/util/windows/security_spec.rb +14 -5
  169. data/spec/lib/matchers/resource.rb +22 -1
  170. data/spec/lib/puppet_spec/matchers.rb +6 -4
  171. data/spec/unit/application/master_spec.rb +33 -7
  172. data/spec/unit/data_providers/function_data_provider_spec.rb +10 -1
  173. data/spec/unit/file_serving/metadata_spec.rb +1 -1
  174. data/spec/unit/file_serving/terminus_helper_spec.rb +2 -3
  175. data/spec/unit/file_system_spec.rb +38 -0
  176. data/spec/unit/functions/defined_spec.rb +289 -0
  177. data/spec/unit/functions/hiera_spec.rb +8 -6
  178. data/spec/unit/functions/regsubst_spec.rb +4 -0
  179. data/spec/unit/functions/split_spec.rb +8 -0
  180. data/spec/unit/functions4_spec.rb +97 -2
  181. data/spec/unit/indirector/facts/facter_spec.rb +7 -0
  182. data/spec/unit/node_spec.rb +6 -0
  183. data/spec/unit/parser/functions/file_spec.rb +7 -1
  184. data/spec/unit/parser/functions/template_spec.rb +1 -1
  185. data/spec/unit/parser/scope_spec.rb +2 -2
  186. data/spec/unit/parser/templatewrapper_spec.rb +1 -1
  187. data/spec/unit/pops/evaluator/access_ops_spec.rb +19 -0
  188. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +84 -18
  189. data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
  190. data/spec/unit/pops/issues_spec.rb +16 -16
  191. data/spec/unit/pops/loaders/loaders_spec.rb +106 -48
  192. data/spec/unit/pops/migration_spec.rb +53 -0
  193. data/spec/unit/pops/parser/lexer2_spec.rb +142 -1
  194. data/spec/unit/pops/parser/parse_heredoc_spec.rb +26 -0
  195. data/spec/unit/pops/types/type_calculator_spec.rb +205 -12
  196. data/spec/unit/pops/validation_spec.rb +66 -0
  197. data/spec/unit/pops/validator/validator_spec.rb +1 -1
  198. data/spec/unit/provider/group/windows_adsi_spec.rb +57 -9
  199. data/spec/unit/provider/mount/parsed_spec.rb +31 -5
  200. data/spec/unit/provider/package/apt_spec.rb +5 -0
  201. data/spec/unit/provider/package/pip_spec.rb +9 -0
  202. data/spec/unit/provider/package/pkgng_spec.rb +172 -0
  203. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -1
  204. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -1
  205. data/spec/unit/provider/package/zypper_spec.rb +50 -19
  206. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +312 -70
  207. data/spec/unit/provider/service/base_spec.rb +38 -27
  208. data/spec/unit/provider/service/debian_spec.rb +8 -0
  209. data/spec/unit/provider/service/freebsd_spec.rb +1 -0
  210. data/spec/unit/provider/service/gentoo_spec.rb +1 -0
  211. data/spec/unit/provider/service/init_spec.rb +18 -0
  212. data/spec/unit/provider/service/openbsd_spec.rb +1 -0
  213. data/spec/unit/provider/service/redhat_spec.rb +1 -0
  214. data/spec/unit/provider/user/windows_adsi_spec.rb +134 -5
  215. data/spec/unit/settings_spec.rb +11 -0
  216. data/spec/unit/util/log_spec.rb +113 -0
  217. data/spec/unit/util/windows/adsi_spec.rb +135 -41
  218. data/spec/unit/util/windows/sid_spec.rb +0 -10
  219. metadata +48 -2
@@ -30,8 +30,10 @@ module Puppet::Pops::Loader::ModuleLoaders
30
30
  Puppet::Pops::Loader::ModuleLoaders::FileBased.new(parent_loader,
31
31
  loaders,
32
32
  nil,
33
- puppet_lib,
34
- 'puppet_system')
33
+ puppet_lib, # may or may not have a 'lib' above 'puppet'
34
+ 'puppet_system',
35
+ [:func_4x] # only load ruby functions from "puppet"
36
+ )
35
37
  end
36
38
 
37
39
  def self.module_loader_from(parent_loader, loaders, module_name, module_path)
@@ -39,7 +41,8 @@ module Puppet::Pops::Loader::ModuleLoaders
39
41
  loaders,
40
42
  module_name,
41
43
  File.join(module_path, 'lib'),
42
- module_name)
44
+ module_name
45
+ )
43
46
  end
44
47
 
45
48
  class AbstractPathBasedModuleLoader < Puppet::Pops::Loader::BaseLoader
@@ -66,13 +69,21 @@ module Puppet::Pops::Loader::ModuleLoaders
66
69
  # @param path [String] the path to the root of the module (semantics defined by subclass)
67
70
  # @param loader_name [String] a name that is used for human identification (useful when module_name is nil)
68
71
  #
69
- def initialize(parent_loader, loaders, module_name, path, loader_name)
72
+ def initialize(parent_loader, loaders, module_name, path, loader_name, loadables)
70
73
  super parent_loader, loader_name
71
74
 
72
75
  @module_name = module_name
73
76
  @path = path
74
77
  @smart_paths = Puppet::Pops::Loader::LoaderPaths::SmartPaths.new(self)
75
78
  @loaders = loaders
79
+ @loadables = loadables
80
+ unless (loadables - LOADABLE_KINDS).empty?
81
+ raise ArgumentError, 'given loadables are not of supported loadable kind'
82
+ end
83
+ end
84
+
85
+ def loadables
86
+ @loadables
76
87
  end
77
88
 
78
89
  # Finds typed/named entity in this module
@@ -176,7 +187,7 @@ module Puppet::Pops::Loader::ModuleLoaders
176
187
  #
177
188
  def private_loader
178
189
  # The system loader has a nil module_name and it does not have a private_loader as there are no functions
179
- # that can only by called by puppet runtime - if so, it acts as the privuate loader directly.
190
+ # that can only by called by puppet runtime - if so, it acts as the private loader directly.
180
191
  @private_loader ||= ((module_name.nil? && self) || @loaders.private_loader_for_module(module_name))
181
192
  end
182
193
  end
@@ -195,7 +206,7 @@ module Puppet::Pops::Loader::ModuleLoaders
195
206
  # @param path [String] the path to the root of the module (semantics defined by subclass)
196
207
  # @param loader_name [String] a name that identifies the loader
197
208
  #
198
- def initialize(parent_loader, loaders, module_name, path, loader_name)
209
+ def initialize(parent_loader, loaders, module_name, path, loader_name, loadables = LOADABLE_KINDS)
199
210
  super
200
211
  @path_index = Set.new()
201
212
  end
@@ -246,9 +257,9 @@ module Puppet::Pops::Loader::ModuleLoaders
246
257
  # * gem_ref - [URI, String] gem reference to the root of the module (URI, gem://gemname/optional/path/in/gem), or
247
258
  # just the gem's name as a String.
248
259
  #
249
- def initialize(parent_loader, loaders, module_name, gem_ref, loader_name)
260
+ def initialize(parent_loader, loaders, module_name, gem_ref, loader_name, loadables = LOADABLE_KINDS)
250
261
  @gem_ref = gem_ref
251
- super parent_loader, loaders, module_name, gem_dir(gem_ref), loader_name
262
+ super parent_loader, loaders, module_name, gem_dir(gem_ref), loader_name, loadables
252
263
  end
253
264
 
254
265
  def to_s()
@@ -0,0 +1,78 @@
1
+ # The PuppetFunctionInstantiator instantiates a Puppet::Functions::PuppetFunction given a Puppet Programming language
2
+ # source that when called evaluates the Puppet logic it contains.
3
+ #
4
+ class Puppet::Pops::Loader::PuppetFunctionInstantiator
5
+ # Produces an instance of the Function class with the given typed_name, or fails with an error if the
6
+ # given puppet source does not produce this instance when evaluated.
7
+ #
8
+ # @param loader [Puppet::Pops::Loader::Loader] The loader the function is associated with
9
+ # @param typed_name [Puppet::Pops::Loader::TypedName] the type / name of the function to load
10
+ # @param source_ref [URI, String] a reference to the source / origin of the puppet code to evaluate
11
+ # @param pp_code_string [String] puppet code in a string
12
+ #
13
+ # @return [Puppet::Pops::Functions::Function] - an instantiated function with global scope closure associated with the given loader
14
+ #
15
+ def self.create(loader, typed_name, source_ref, pp_code_string)
16
+ parser = Puppet::Pops::Parser::EvaluatingParser.new()
17
+
18
+ # parse and validate
19
+ result = parser.parse_string(pp_code_string, source_ref)
20
+ # Only one function is allowed (and no other definitions)
21
+ case result.model.definitions.size
22
+ when 0
23
+ raise ArgumentError, "The code loaded from #{source_ref} does not define the function '#{typed_name.name}' - it is empty."
24
+ when 1
25
+ # ok
26
+ else
27
+ raise ArgumentError, "The code loaded from #{source_ref} must contain only the function '#{typed_name.name}' - it has additional definitions."
28
+ end
29
+ the_function_definition = result.model.definitions[0]
30
+
31
+ unless the_function_definition.is_a?(Puppet::Pops::Model::FunctionDefinition)
32
+ raise ArgumentError, "The code loaded from #{source_ref} does not define the function '#{typed_name.name}' - no function found."
33
+ end
34
+ unless the_function_definition.name == typed_name.name
35
+ expected = typed_name.name
36
+ actual = the_function_definition.name
37
+ raise ArgumentError, "The code loaded from #{source_ref} produced function with the wrong name, expected #{expected}, actual #{actual}"
38
+ end
39
+ unless result.model().body == the_function_definition
40
+ raise ArgumentError, "The code loaded from #{source_ref} contains additional logic - can only contain the function #{typed_name.name}"
41
+ end
42
+
43
+ # Adapt the function definition with loader - this is used from logic contained in it body to find the
44
+ # loader to use when making calls to the new function API. Such logic have a hard time finding the closure (where
45
+ # the loader is known - hence this mechanism
46
+ Puppet::Pops::Adapters::LoaderAdapter.adapt(the_function_definition).loader = loader
47
+
48
+ # TODO: Cheating wrt. scope - assuming it is found in the context
49
+ closure_scope = Puppet.lookup(:global_scope) { {} }
50
+
51
+ created = create_function_class(the_function_definition, closure_scope)
52
+ # create the function instance - it needs closure (scope), and loader (i.e. where it should start searching for things
53
+ # when calling functions etc.
54
+ # It should be bound to global scope
55
+
56
+ created.new(closure_scope, loader)
57
+ end
58
+
59
+ # Creates Function class and instantiates it based on a FunctionDefinition model
60
+ # @return [Array<Puppet::Pops::Loader::Loader::TypedName, Puppet::Pops::Functions.Function>] - array of
61
+ # typed name, and an instantiated function with global scope closure associated with the given loader
62
+ #
63
+ def self.create_from_model(function_definition, loader)
64
+ closure_scope = Puppet.lookup(:global_scope) { {} }
65
+ created = create_function_class(function_definition, closure_scope)
66
+ typed_name = Puppet::Pops::Loader::Loader::TypedName.new(:function, function_definition.name)
67
+ [typed_name, created.new(closure_scope, loader)]
68
+ end
69
+
70
+ def self.create_function_class(function_definition, closure_scope)
71
+ # Create a 4x function wrapper around a named closure
72
+ Puppet::Functions.create_function(function_definition.name, Puppet::Functions::PuppetFunction) do
73
+ init_dispatch(Puppet::Pops::Evaluator::Closure::Named.new(
74
+ function_definition.name,
75
+ Puppet::Pops::Evaluator::EvaluatorImpl.new(), function_definition, closure_scope))
76
+ end
77
+ end
78
+ end
@@ -12,9 +12,11 @@ class Puppet::Pops::Loaders
12
12
 
13
13
  # Create the set of loaders
14
14
  # 1. Puppet, loads from the "running" puppet - i.e. bundled functions, types, extension points and extensions
15
- # Does not change without rebooting the service running puppet.
15
+ # These cannot be cached since a loaded instance will be bound to its closure scope which holds on to
16
+ # a compiler and all loaded types. Subsequent request would find remains of the environment that loaded
17
+ # the content. PUP-4461.
16
18
  #
17
- @@puppet_system_loader ||= create_puppet_system_loader()
19
+ @puppet_system_loader = create_puppet_system_loader()
18
20
 
19
21
  # 2. Environment loader - i.e. what is bound across the environment, may change for each setup
20
22
  # TODO: loaders need to work when also running in an agent doing catalog application. There is no
@@ -30,7 +32,7 @@ class Puppet::Pops::Loaders
30
32
  #
31
33
  def self.clear
32
34
  @@static_loader = nil
33
- @@puppet_system_loader = nil
35
+ @puppet_system_loader = nil
34
36
  end
35
37
 
36
38
  def static_loader
@@ -38,7 +40,7 @@ class Puppet::Pops::Loaders
38
40
  end
39
41
 
40
42
  def puppet_system_loader
41
- @@puppet_system_loader
43
+ @puppet_system_loader
42
44
  end
43
45
 
44
46
  def public_loader_for_module(module_name)
@@ -0,0 +1,54 @@
1
+ # This class defines the private API of the MigrationChecker support.
2
+ # @api private
3
+ #
4
+ class Puppet::Pops::Migration::MigrationChecker
5
+
6
+ def initialize()
7
+ end
8
+
9
+ # Produces a hash of available migrations; a map from a symbolic name in string form to a brief description.
10
+ # This version has no such supported migrations.
11
+ def available_migrations()
12
+ { }
13
+ end
14
+
15
+ # For 3.8/4.0
16
+ def report_ambiguous_integer(o)
17
+ raise Puppet::DevError, "Unsupported migration method called"
18
+ end
19
+
20
+ # For 3.8/4.0
21
+ def report_ambiguous_float(o)
22
+ raise Puppet::DevError, "Unsupported migration method called"
23
+ end
24
+
25
+ # For 3.8/4.0
26
+ def report_empty_string_true(value, o)
27
+ raise Puppet::DevError, "Unsupported migration method called"
28
+ end
29
+
30
+ # For 3.8/4.0
31
+ def report_uc_bareword_type(value, o)
32
+ raise Puppet::DevError, "Unsupported migration method called"
33
+ end
34
+
35
+ # For 3.8/4.0
36
+ def report_equality_type_mismatch(left, right, o)
37
+ raise Puppet::DevError, "Unsupported migration method called"
38
+ end
39
+
40
+ # For 3.8/4.0
41
+ def report_option_type_mismatch(test_value, option_value, option_expr, matching_expr)
42
+ raise Puppet::DevError, "Unsupported migration method called"
43
+ end
44
+
45
+ # For 3.8/4.0
46
+ def report_in_expression(o)
47
+ raise Puppet::DevError, "Unsupported migration method called"
48
+ end
49
+
50
+ # For 3.8/4.0
51
+ def report_array_last_in_block(o)
52
+ raise Puppet::DevError, "Unsupported migration method called"
53
+ end
54
+ end
@@ -754,6 +754,10 @@ class Puppet::Pops::Model::Factory
754
754
  new(Model::ResourceTypeDefinition, name, parameters, body)
755
755
  end
756
756
 
757
+ def self.FUNCTION(name, parameters, body)
758
+ new(Model::FunctionDefinition, name, parameters, body)
759
+ end
760
+
757
761
  def self.LAMBDA(parameters, body)
758
762
  new(Model::LambdaExpression, parameters, body)
759
763
  end
@@ -773,7 +777,7 @@ class Puppet::Pops::Model::Factory
773
777
  'info' => true,
774
778
  'notice' => true,
775
779
  'warning' => true,
776
- 'error' => true,
780
+ 'err' => true,
777
781
 
778
782
  'fail' => true,
779
783
  'import' => true # discontinued, but transform it to make it call error reporting function
@@ -86,6 +86,8 @@ class Puppet::Pops::Model::ModelLabelProvider < Puppet::Pops::LabelProvider
86
86
  def label_QualifiedReference o ; "Type-Name" end
87
87
  def label_PAnyType o ; "#{Puppet::Pops::Types::TypeCalculator.string(o)}-Type" end
88
88
  def label_ReservedWord o ; "Reserved Word '#{o.word}'" end
89
+ def label_CatalogCollector o ; "Catalog-Collector" end
90
+ def label_ExportedCollector o ; "Exported-Collector" end
89
91
 
90
92
  def label_PResourceType o
91
93
  if o.title
@@ -258,7 +258,7 @@ module Puppet::Pops::Model
258
258
  class CollectExpression < Expression
259
259
  contains_one_uni 'type_expr', Expression, :lowerBound => 1
260
260
  contains_one_uni 'query', QueryExpression, :lowerBound => 1
261
- contains_many_uni 'operations', AttributeOperation
261
+ contains_many_uni 'operations', AbstractAttributeOperation
262
262
  end
263
263
 
264
264
  class Parameter < Positioned
@@ -282,6 +282,10 @@ module Puppet::Pops::Model
282
282
  contains_one_uni 'body', Expression
283
283
  end
284
284
 
285
+ # A function written in the Puppet Langauge
286
+ class FunctionDefinition < NamedDefinition
287
+ end
288
+
285
289
  # A resource type definition (a 'define' in the DSL).
286
290
  #
287
291
  class ResourceTypeDefinition < NamedDefinition
@@ -21,6 +21,7 @@ token HEREDOC SUBLOCATE
21
21
  token RENDER_STRING RENDER_EXPR EPP_START EPP_END EPP_END_TRIM
22
22
  token FUNCTION
23
23
  token PRIVATE ATTR TYPE
24
+ token FUNCTION
24
25
  token LOW
25
26
 
26
27
  prechigh
@@ -239,6 +240,7 @@ primary_expression
239
240
  | hostclass_expression
240
241
  | node_definition_expression
241
242
  | epp_render_expression
243
+ | function_definition
242
244
  | reserved_word
243
245
  | array
244
246
  | hash
@@ -354,7 +356,7 @@ unless_expression
354
356
  loc result, val[0], val[4]
355
357
  }
356
358
  | UNLESS expression LBRACE RBRACE unless_else {
357
- result = Factory.UNLESS(val[1], nil, nil)
359
+ result = Factory.UNLESS(val[1], nil, val[4])
358
360
  loc result, val[0], val[4]
359
361
  }
360
362
 
@@ -568,13 +570,11 @@ node_definition_expression
568
570
 
569
571
  #---FUNCTION DEFINITION
570
572
  #
571
- #function_definition
572
- # For now the function word will just be reserved, in the future it will
573
- # produce a function definition
574
- # FUNCTION classname parameter_list LBRACE opt_statements RBRACE {
575
- # result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[4]))
576
- # loc result, val[0], val[5]
577
- # }
573
+ function_definition
574
+ : FUNCTION classname parameter_list LBRACE opt_statements RBRACE {
575
+ result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[4]))
576
+ loc result, val[0], val[5]
577
+ }
578
578
 
579
579
  #---NAMES AND PARAMETERS COMMON TO SEVERAL RULES
580
580
  # Produces String
@@ -627,8 +627,7 @@ variable
627
627
  #---RESERVED WORDS
628
628
  #
629
629
  reserved_word
630
- : FUNCTION { result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] }
631
- | PRIVATE { result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] }
630
+ : PRIVATE { result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] }
632
631
  | TYPE { result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] }
633
632
  | ATTR { result = Factory.RESERVED(val[0][:value]) ; loc result, val[0] }
634
633
 
@@ -20,7 +20,7 @@ module Puppet
20
20
  module Parser
21
21
  class Parser < Racc::Parser
22
22
 
23
- module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 755)
23
+ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 754)
24
24
 
25
25
  # Make emacs happy
26
26
  # Local Variables:
@@ -30,220 +30,222 @@ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 755)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  clist = [
33
- '58,61,319,-238,59,53,155,54,238,80,-239,-227,335,280,-129,111,320,277',
34
- '371,336,370,-241,375,101,18,104,394,99,100,239,42,280,45,135,47,12,-240',
35
- '46,36,39,251,44,37,10,11,-238,113,66,17,103,110,38,-239,-227,15,16,-129',
36
- '301,112,278,58,61,67,-241,59,53,136,54,43,111,275,81,35,62,111,64,65',
37
- '63,-240,314,48,49,51,50,18,256,52,-236,111,342,42,107,45,254,47,115',
38
- '255,46,36,39,113,44,37,79,110,113,344,66,17,110,79,38,112,279,15,16',
39
- '79,112,280,113,58,61,67,110,59,53,238,54,43,-236,79,112,35,62,111,64',
40
- '65,269,270,66,48,49,51,50,18,71,52,239,331,371,42,370,45,328,47,12,352',
41
- '46,36,39,69,44,37,10,11,113,353,66,17,110,275,38,58,61,15,16,59,112',
42
- '258,257,58,61,67,276,59,53,355,54,43,72,73,74,35,62,111,64,65,256,302',
43
- '358,48,49,51,50,18,251,52,314,363,364,42,304,45,251,47,12,250,46,36',
44
- '39,249,44,37,10,11,113,368,66,17,110,308,38,361,372,15,16,374,112,75',
45
- '77,76,78,67,318,227,230,238,381,43,228,383,238,35,62,275,64,65,238,227',
46
- '66,48,49,51,50,58,61,52,239,59,53,66,54,324,79,79,217,216,387,239,71',
47
- '121,231,390,275,121,393,152,315,18,58,61,309,267,59,42,314,45,150,47',
48
- '12,238,46,36,39,397,44,37,10,11,374,399,66,17,66,400,38,401,122,15,16',
49
- '404,239,405,406,121,79,67,71,135,414,68,132,43,416,417,418,35,62,304',
50
- '64,65,,,,48,49,51,50,58,61,52,67,59,53,,54,410,80,,,,136,62,,,,,,,,',
51
- '101,18,104,,99,100,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,103',
52
- ',38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,81,35,62,,64,65,,,,48,49,51',
53
- '50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16',
54
- ',,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,',
55
- '42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61',
56
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
57
- '12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,',
58
- '54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36',
59
- '39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
60
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
61
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,',
62
- '48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38',
63
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
64
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
65
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
66
- ',47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43',
67
- ',,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53,,54,408,,,,,,,,,,,,,',
68
- ',,18,58,61,,,59,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,',
69
- '15,16,,,,,,,67,,135,,,132,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52',
70
- '67,59,53,,54,403,80,,,,136,62,,,,,,,,,101,18,104,,99,100,,42,,45,,47',
71
- '12,,46,36,39,,44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53',
72
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
73
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
74
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
75
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
76
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
77
- '15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53',
78
- ',54,337,80,,,,,,,,,,,,,,101,18,104,,99,100,,42,,45,,47,12,,46,36,39',
79
- ',44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
80
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
81
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,139,54,43,,,,35,62,,64,65',
82
- ',,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17',
83
- ',,38,,,15,16,,,,,58,61,67,,59,53,141,54,43,,,,35,62,,64,65,,,,48,49',
84
- '51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,',
85
- '15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53',
86
- ',54,143,80,,,,,,,,,,,,,,101,18,104,,99,100,,42,,45,,47,12,,46,36,39',
87
- ',44,37,10,11,,,66,17,103,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
88
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10',
89
- '11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,',
90
- ',,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,',
91
- '38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50',
92
- '18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16',
93
- ',,,,58,61,67,,59,53,,154,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,',
94
- ',42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67',
95
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12',
96
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
97
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39',
98
- ',44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
99
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
100
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
101
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
102
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
103
- ',52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,',
104
- ',58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42',
105
- ',45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67',
106
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12',
107
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
108
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39',
109
- ',44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
110
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11',
111
- ',,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
112
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
113
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
114
- ',52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,',
115
- ',58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,171',
116
- '185,177,186,47,178,188,179,36,170,,173,168,,,,,66,17,189,184,169,,,15',
117
- '167,,,,,,,67,,,,,187,172,,,,35,62,,64,65,,,,180,181,183,182,58,61,52',
118
- '80,59,53,,54,,,,,,,,,,101,,104,,99,100,,18,,,,,,42,,45,,47,115,,46,36',
119
- '39,,44,37,103,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35',
120
- '62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,',
121
- ',,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,',
122
- '48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38',
123
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
124
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
125
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
126
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
127
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
128
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
129
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
130
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
131
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
132
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
133
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
134
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
135
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
136
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
137
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
138
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
139
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
140
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
141
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
142
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
143
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
144
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
145
- ',54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
146
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
147
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
148
- '66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
149
- '49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,',
150
- '15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,',
151
- '52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
152
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
153
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53',
154
- ',54,43,,,213,35,62,,64,65,,,,48,49,51,50,18,215,52,,,,42,,45,,47,12',
155
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
156
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
157
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
158
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17',
159
- ',,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51',
160
- '50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16',
161
- ',,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,',
162
- '42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67',
163
- ',59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115',
164
- ',46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,',
165
- '276,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
166
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
167
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17',
168
- ',,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51',
169
- '50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15',
170
- '16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52',
171
- ',,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61',
172
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
173
- '115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
174
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
175
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48',
176
- '49,51,50,58,61,52,,59,53,,54,143,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12',
177
- ',46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54',
178
- '43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39',
179
- ',44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
180
- '65,,,,48,49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66',
181
- '17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58,61',
182
- '52,,59,53,,54,312,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39,,44',
183
- '37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64',
184
- '65,,,,48,49,51,50,18,243,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11',
185
- ',,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48',
186
- '49,51,50,18,,52,,,,42,,45,,47,12,,46,36,39,,44,37,10,11,,,66,17,,,38',
187
- ',,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18',
188
- ',52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58',
189
- '61,67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45',
190
- ',47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,',
191
- '35,62,,64,65,,,,48,49,51,50,58,61,52,,59,53,,54,376,,,,,,,,,,,,,,,,18',
192
- ',,,,,42,,45,,47,115,,46,36,39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61',
193
- '67,,59,53,,54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47',
194
- '12,,46,36,39,,44,37,10,11,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,',
195
- '54,43,,,,35,62,,64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36',
196
- '39,,44,37,,,,,66,17,,,38,,,15,16,,,,,58,61,67,,59,53,,54,43,,,,35,62',
197
- ',64,65,,,,48,49,51,50,18,,52,,,,42,,45,,47,115,,46,36,39,,44,37,,,,',
198
- '66,17,,,38,,,15,16,,,,,,,67,,,,,,43,,,,35,62,,64,65,,,,48,49,51,50,58',
199
- '61,52,,59,53,,54,322,,,,,,,,,,,,,,,,18,,,,,,42,,45,,47,12,,46,36,39',
200
- ',44,37,10,11,80,,66,17,,,38,,,15,16,,,91,101,,104,67,99,100,,92,,43',
201
- ',,,35,62,,64,65,,,,48,49,51,50,,103,52,,,,80,,,84,85,87,86,89,90,,82',
202
- '83,96,91,101,305,104,81,99,100,,92,94,93,95,,58,61,,,59,,,,,,,,88,,103',
203
- ',,,98,97,,,84,85,87,86,89,90,,82,83,80,,246,,,81,,,135,,,132,96,91,101',
204
- ',104,,99,100,,92,94,93,95,,88,,,,,67,,,,,,,,,103,136,62,,98,97,,,84',
205
- '85,87,86,89,90,,82,83,80,,245,,,81,,,,,,,96,91,101,,104,,99,100,,92',
206
- '94,93,95,,88,,,,,,,,,,,,,,103,,,,98,97,,,84,85,87,86,89,90,,82,83,80',
207
- ',244,,,81,,,,,,,96,91,101,,104,80,99,100,,92,94,93,95,,88,,,,,101,,104',
208
- ',99,100,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,103,,96,91,101',
209
- '81,104,,99,100,,92,94,93,95,82,83,,,,,,81,,,,88,,,,103,,,,98,97,,80',
210
- '84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,',
211
- ',,,,,,,,88,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101',
212
- '81,104,,99,100,,92,94,93,95,,269,270,,,,,,,,,88,,,,103,,58,61,98,97',
213
- '59,80,84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93',
214
- '95,,,,,,,,,,135,,88,132,,,103,,,,98,97,,80,84,85,87,86,89,90,,82,83',
215
- '67,,,,101,81,104,,99,100,136,62,,,,80,,,,,281,,,,,,88,96,91,101,103',
216
- '104,,99,100,,92,94,93,95,87,86,,,,82,83,,,,,,81,,,103,,,,98,97,,80,84',
217
- '85,87,86,89,90,,82,83,,88,96,91,101,81,104,,99,100,,92,94,93,95,,,,',
218
- ',,,,,,,88,,,,103,,,,,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101,81',
219
- '104,,99,100,,92,94,93,95,80,,,,,,,,,,,88,,,101,103,104,,99,100,80,,',
220
- '84,85,87,86,89,90,,82,83,96,91,101,273,104,81,99,100,103,92,94,93,95',
221
- ',,,,,,,,,,82,83,,88,,103,,81,,98,97,,80,84,85,87,86,89,90,,82,83,,,96',
222
- '91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98,97,,80',
223
- '84,85,87,86,89,90,,82,83,,,,,101,81,104,,99,100,,,,,,80,,,,,,,,,,,88',
224
- ',91,101,103,104,,99,100,80,92,,84,85,87,86,,,,82,83,,91,101,,104,81',
225
- '99,100,103,92,,,,80,,,84,85,87,86,89,90,,82,83,,88,101,103,104,81,99',
226
- '100,,,,84,85,87,86,89,90,80,82,83,,,,,,81,88,,103,96,91,101,,104,,99',
227
- '100,,92,94,93,95,,82,83,,88,,,,81,,,,,,,103,,,,98,97,,80,84,85,87,86',
228
- '89,90,,82,83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,',
229
- ',,103,,,,98,97,,80,84,85,87,86,89,90,,82,83,,,96,91,101,81,104,,99,100',
230
- ',92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98,97,,80,84,85,87,86,89,90,,82',
231
- '83,,,96,91,101,81,104,,99,100,,92,94,93,95,,,,,,,,,,,,88,,,,103,,,,98',
232
- '97,,80,84,85,87,86,89,90,,82,83,,,,91,101,81,104,,99,100,,92,,80,,,',
233
- ',,,,,,,,,88,101,,104,103,99,100,,,,,,84,85,87,86,89,90,,82,83,,,,,,81',
234
- '103,,,,,80,,,84,85,87,86,89,90,,82,83,,,101,88,104,81,99,100,,,,80,',
235
- ',,,,,,,,,,,,101,88,104,103,99,100,,,,,,84,85,87,86,89,90,,82,83,,,,',
236
- ',81,103,,,,,80,,,,,87,86,,,,82,83,,,101,88,104,81,99,100,,,,80,,,,,',
237
- ',,,,,,96,91,101,88,104,103,99,100,,92,94,93,95,84,85,87,86,,,,82,83',
238
- ',,,,,81,103,,,,98,97,,,84,85,87,86,89,90,,82,83,,,,88,,81,,,293,185',
239
- '292,186,,290,188,294,,287,,289,291,,,,,,88,189,184,295,,,,288,,,,,,',
240
- ',,,,,187,296,,,,,,,,,,,,299,300,298,297,293,185,292,186,,290,188,294',
241
- ',287,,289,291,,,,,,,189,184,295,,,,288,,,,,,,,,,,,187,296,,,,,,,,,,',
242
- ',299,300,298,297,293,185,292,186,,290,188,294,,287,,289,291,,,,,,,189',
243
- '184,295,,,,288,,,,,,,,,,,,187,296,,,,,,,,,,,,299,300,298,297,293,185',
244
- '292,186,,290,188,294,,287,,289,291,,,,,,,189,184,295,,,,288,,,,,,,,',
245
- ',,,187,296,,,,,,,,,,,,299,300,298,297' ]
246
- racc_action_table = arr = ::Array.new(6785, nil)
33
+ '59,62,322,-228,60,54,337,55,240,81,-240,-239,229,283,-237,112,323,-130',
34
+ '375,339,374,280,379,102,18,105,399,100,101,241,43,283,46,136,49,12,-242',
35
+ '47,37,40,340,45,38,10,11,-228,114,67,17,104,111,39,-240,-239,15,16,-237',
36
+ '252,113,-130,59,62,68,281,60,54,137,55,44,272,273,82,36,63,112,65,66',
37
+ '64,-242,251,48,50,52,51,18,375,53,374,112,229,43,282,46,317,49,116,283',
38
+ '47,37,40,257,45,38,258,259,114,346,67,17,111,334,39,365,348,15,16,240',
39
+ '113,331,114,59,62,68,111,60,54,240,55,44,67,254,113,36,63,112,65,66',
40
+ '241,232,67,48,50,52,51,18,230,53,241,261,260,43,270,46,254,49,12,321',
41
+ '47,37,40,70,45,38,10,11,114,356,67,17,111,357,39,59,62,15,16,60,113',
42
+ '278,279,59,62,68,359,60,54,240,55,44,73,74,75,36,63,112,65,66,318,362',
43
+ '317,48,50,52,51,18,317,53,367,368,259,43,311,46,229,49,12,112,47,37',
44
+ '40,80,45,38,10,11,114,372,67,17,111,307,39,376,378,15,16,305,113,76',
45
+ '78,77,79,68,112,112,80,108,114,44,219,385,111,36,63,304,65,66,218,388',
46
+ '113,48,50,52,51,59,62,53,122,60,54,278,55,416,72,114,114,157,154,111',
47
+ '111,152,254,392,72,122,395,113,113,18,59,62,278,80,60,43,312,46,398',
48
+ '49,12,240,47,37,40,240,45,38,10,11,123,80,67,17,67,80,39,122,67,15,16',
49
+ '402,241,378,404,405,241,68,406,136,80,409,133,44,410,411,233,36,63,412',
50
+ '65,66,80,278,72,48,50,52,51,59,62,53,68,60,54,420,55,414,81,69,422,423',
51
+ '137,63,424,307,,,,,,,102,18,105,,100,101,,43,,46,,49,12,,47,37,40,,45',
52
+ '38,10,11,,,67,17,104,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,82,36',
53
+ '63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,',
54
+ ',,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,',
55
+ '48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,',
56
+ ',39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51',
57
+ '18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16',
58
+ ',,,,,,68,,,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59,62,53,,60,54,,55',
59
+ '408,81,,,,,,,,,,,,,,102,18,105,,100,101,,43,,46,,49,12,,47,37,40,,45',
60
+ '38,10,11,,,67,17,104,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63',
61
+ ',65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,',
62
+ '67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48',
63
+ '50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,',
64
+ '15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,',
65
+ '53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59',
66
+ '62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46',
67
+ ',49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60',
68
+ '54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47',
69
+ '37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36',
70
+ '63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,',
71
+ ',,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,',
72
+ '48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39',
73
+ ',,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18',
74
+ ',53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59',
75
+ '62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46',
76
+ ',49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54',
77
+ ',55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37',
78
+ '40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36',
79
+ '63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,',
80
+ ',,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,',
81
+ '48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39',
82
+ ',,15,16,,,,,59,62,68,,60,54,141,55,44,,,,36,63,,65,66,,,,48,50,52,51',
83
+ '18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16',
84
+ ',,,,59,62,68,,60,54,143,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53',
85
+ ',,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,,,68',
86
+ ',,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59,62,53,,60,54,,55,145,81,,',
87
+ ',,,,,,,,,,,102,18,105,,100,101,,43,,46,,49,12,,47,37,40,,45,38,10,11',
88
+ ',,67,17,104,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,',
89
+ ',,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17',
90
+ ',,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,279,,36,63,,65,66,,,,48,50',
91
+ '52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15',
92
+ '16,,,,,,,68,,,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59,62,53,,60,54,',
93
+ '55,145,81,,,,,,,,,,,,,,102,18,105,,100,101,,43,,46,,49,12,,47,37,40',
94
+ ',45,38,10,11,,,67,17,104,,39,,,15,16,,,,,59,62,68,,60,54,,156,44,,,',
95
+ '36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38',
96
+ ',,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,',
97
+ ',48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39',
98
+ ',,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18',
99
+ ',53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,',
100
+ ',59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43',
101
+ ',46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68',
102
+ ',60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12',
103
+ ',47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55',
104
+ '44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40',
105
+ ',45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63',
106
+ ',65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11',
107
+ ',,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48',
108
+ '50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39',
109
+ ',,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18',
110
+ ',53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,',
111
+ ',59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43',
112
+ ',46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68',
113
+ ',60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12',
114
+ ',47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55',
115
+ '44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40',
116
+ ',45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63',
117
+ ',65,66,,,,48,50,52,51,18,,53,,,,173,187,179,188,49,180,190,181,37,172',
118
+ ',175,170,,,,,67,17,191,186,171,,,15,169,,,,,,,68,,,,,189,174,,,,36,63',
119
+ ',65,66,,,,182,183,185,184,59,62,53,81,60,54,,55,,,,,,,,,,102,,105,,100',
120
+ '101,,18,,,,,,43,,46,,49,116,,47,37,40,,45,38,104,,,,67,17,,,39,,,15',
121
+ '16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53',
122
+ ',,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62',
123
+ '68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49',
124
+ '116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55',
125
+ '44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40',
126
+ ',45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65',
127
+ '66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17',
128
+ ',,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52',
129
+ '51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16',
130
+ ',,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,',
131
+ '43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68',
132
+ ',60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116',
133
+ ',47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,',
134
+ ',,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45',
135
+ '38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66',
136
+ ',,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,',
137
+ ',39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51',
138
+ '18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,',
139
+ ',59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43',
140
+ ',46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60',
141
+ '54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47',
142
+ '37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36',
143
+ '63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,',
144
+ ',,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,',
145
+ '48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39',
146
+ ',,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18',
147
+ ',53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59',
148
+ '62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46',
149
+ ',49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54',
150
+ ',55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37',
151
+ '40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63',
152
+ ',65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,',
153
+ '67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48',
154
+ '50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,',
155
+ '15,16,,,,,59,62,68,,60,54,,55,44,,,215,36,63,,65,66,,,,48,50,52,51,18',
156
+ '217,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16',
157
+ ',,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,',
158
+ '43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62',
159
+ '68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49',
160
+ '12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,',
161
+ '55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37',
162
+ '40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63',
163
+ ',65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,',
164
+ '67,17,,,39,,,15,16,,,,,,,68,,,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59',
165
+ '62,53,,60,54,,55,380,,,,,,,,,,,,,,,,18,,,,,,43,,46,,49,116,,47,37,40',
166
+ ',45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65',
167
+ '66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67',
168
+ '17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50',
169
+ '52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15',
170
+ '16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53',
171
+ ',,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62',
172
+ '68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49',
173
+ '116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55',
174
+ '44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40',
175
+ ',45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65',
176
+ '66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17',
177
+ ',,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52',
178
+ '51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16',
179
+ ',,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,',
180
+ '43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68',
181
+ ',60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116',
182
+ ',47,37,40,,45,38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,',
183
+ ',,36,63,,65,66,,,,48,50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45',
184
+ '38,,,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66',
185
+ ',,,48,50,52,51,18,245,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67',
186
+ '17,,,39,,,15,16,,,,,,,68,,,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59,62',
187
+ '53,,60,54,,55,315,,,,,,,,,,,,,,,,18,59,62,,,60,43,,46,,49,12,,47,37',
188
+ '40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,,,,68,,136,,,133,44,,,,36,63',
189
+ ',65,66,,,,48,50,52,51,59,62,53,68,60,54,,55,325,,,,,137,63,,,,,,,,,',
190
+ '18,59,62,,,60,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15',
191
+ '16,,,,,,,68,,136,,,133,44,,,,36,63,,65,66,,,,48,50,52,51,59,62,53,68',
192
+ '60,54,,55,327,,,,,137,63,,,,,,,,,,18,,,,,,43,,46,,49,12,,47,37,40,,45',
193
+ '38,10,11,,,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65',
194
+ '66,,,,48,50,52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67',
195
+ '17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50',
196
+ '52,51,18,,53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,',
197
+ '15,16,,,,,,,68,,,,,,44,,,,36,63,,65,66,,,,48,50,52,51,59,62,53,,60,54',
198
+ ',55,341,,,,,,,,,,,,,,,,18,,,,,,43,,46,,49,12,,47,37,40,,45,38,10,11',
199
+ ',,67,17,,,39,,,15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48',
200
+ '50,52,51,18,,53,,,,43,,46,,49,116,,47,37,40,,45,38,,,,,67,17,,,39,,',
201
+ '15,16,,,,,59,62,68,,60,54,,55,44,,,,36,63,,65,66,,,,48,50,52,51,18,',
202
+ '53,,,,43,,46,,49,12,,47,37,40,,45,38,10,11,,,67,17,,,39,,,15,16,,,,',
203
+ ',,68,,,,,,44,,,,36,63,,65,66,81,,248,48,50,52,51,,,53,,,97,92,102,,105',
204
+ ',100,101,,93,95,94,96,,59,62,,,60,,,,,,,,,,104,,,,99,98,,,85,86,88,87',
205
+ '90,91,,83,84,81,,247,,,82,,,136,,,133,97,92,102,,105,,100,101,,93,95',
206
+ '94,96,,89,,,,,68,,,,,,,,,104,137,63,,99,98,,,85,86,88,87,90,91,,83,84',
207
+ '81,,246,,,82,,,,,,,97,92,102,,105,,100,101,,93,95,94,96,,89,,,,,,,,',
208
+ ',,,,,104,,,,99,98,,,85,86,88,87,90,91,81,83,84,,,,,,82,,,,97,92,102',
209
+ '308,105,81,100,101,,93,95,94,96,,,,,89,,102,,105,,100,101,,,,104,,,',
210
+ '99,98,,81,85,86,88,87,90,91,,83,84,104,,97,92,102,82,105,,100,101,,93',
211
+ '95,94,96,83,84,,,,,,82,,,,89,,,,104,,,,99,98,,81,85,86,88,87,90,91,',
212
+ '83,84,,,97,92,102,82,105,,100,101,,93,95,94,96,,,,,,,,,,,,89,,,,104',
213
+ ',,,99,98,,81,85,86,88,87,90,91,,83,84,,,97,92,102,82,105,,100,101,,93',
214
+ '95,94,96,,,,,,,,,,,,89,,,,104,,,,99,98,,81,85,86,88,87,90,91,,83,84',
215
+ ',,97,92,102,82,105,,100,101,,93,95,94,96,,,,,,,,,,,,89,,,,104,,,,99',
216
+ '98,,81,85,86,88,87,90,91,,83,84,,,97,92,102,82,105,,100,101,,93,95,94',
217
+ '96,,272,273,,,,,,,,,89,,,,104,,,,99,98,,,85,86,88,87,90,91,81,83,84',
218
+ ',,284,,,82,,,,97,92,102,,105,81,100,101,,93,95,94,96,,,,,89,,102,,105',
219
+ ',100,101,,,,104,,,,99,98,,81,85,86,88,87,90,91,,83,84,104,,97,92,102',
220
+ '82,105,,100,101,,93,95,94,96,83,84,,,,,,82,,,,89,,,,104,,,,,98,,81,85',
221
+ '86,88,87,90,91,,83,84,,,97,92,102,82,105,,100,101,,93,95,94,96,81,,',
222
+ ',,,,,,,,89,,92,102,104,105,,100,101,81,93,,85,86,88,87,90,91,,83,84',
223
+ ',92,102,,105,82,100,101,104,93,,,,,,,85,86,88,87,90,91,,83,84,,89,,104',
224
+ ',82,,,,,,85,86,88,87,90,91,81,83,84,,,,,,82,89,,,97,92,102,276,105,81',
225
+ '100,101,,93,95,94,96,,,,,89,92,102,,105,,100,101,,93,,104,,,,99,98,',
226
+ ',85,86,88,87,90,91,,83,84,104,,,,,82,,,85,86,88,87,90,91,,83,84,81,',
227
+ ',,,82,,,,89,,,97,92,102,,105,81,100,101,,93,95,94,96,,89,,,,92,102,',
228
+ '105,,100,101,,93,,104,,,,99,98,,,85,86,88,87,90,91,,83,84,104,,,,,82',
229
+ ',,85,86,88,87,90,91,81,83,84,,,,,,82,,,,89,,102,,105,81,100,101,,,,',
230
+ ',,,,,89,,102,,105,,100,101,,,,104,,,,,,,,85,86,88,87,90,91,,83,84,104',
231
+ ',,,,82,,,85,86,88,87,90,91,,83,84,81,,,,,82,,,,89,,,97,92,102,,105,81',
232
+ '100,101,,93,95,94,96,,89,,,,,102,,105,,100,101,,,,104,,,,99,98,,81,85',
233
+ '86,88,87,90,91,,83,84,104,,97,92,102,82,105,,100,101,,93,95,94,96,83',
234
+ '84,,,,,,82,,,,89,,,,104,,,,99,98,,81,85,86,88,87,90,91,,83,84,,,97,92',
235
+ '102,82,105,,100,101,,93,95,94,96,,,,,,,,,,,,89,,,,104,,,,99,98,,81,85',
236
+ '86,88,87,90,91,,83,84,,,,,102,82,105,,100,101,,,,81,,,,,,,,,,,,,89,102',
237
+ ',105,104,100,101,,,,,,85,86,88,87,,,,83,84,,,,,,82,104,,,,,81,,,85,86',
238
+ '88,87,,,,83,84,,,102,89,105,82,100,101,,,,81,,,,,,,,,,,,97,92,102,89',
239
+ '105,104,100,101,,93,95,94,96,,,88,87,,,,83,84,,,,,,82,104,,,,99,98,',
240
+ '81,85,86,88,87,90,91,,83,84,,,,89,102,82,105,,100,101,,,296,187,295',
241
+ '188,,293,190,297,,290,,292,294,,89,,,,104,191,186,298,,,,291,,,88,87',
242
+ ',,,83,84,,,189,299,,82,,,,,,,,,,302,303,301,300,,,,296,187,295,188,89',
243
+ '293,190,297,,290,,292,294,,,,,,,191,186,298,,,,291,,,,,,,,,,,,189,299',
244
+ ',,,,,,,,,,,302,303,301,300,296,187,295,188,,293,190,297,,290,,292,294',
245
+ ',,,,,,191,186,298,,,,291,,,,,,,,,,,,189,299,,,,,,,,,,,,302,303,301,300',
246
+ '296,187,295,188,,293,190,297,,290,,292,294,,,,,,,191,186,298,,,,291',
247
+ ',,,,,,,,,,,189,299,,,,,,,,,,,,302,303,301,300' ]
248
+ racc_action_table = arr = ::Array.new(6830, nil)
247
249
  idx = 0
248
250
  clist.each do |str|
249
251
  str.split(',', -1).each do |i|
@@ -253,111 +255,111 @@ clist = [
253
255
  end
254
256
 
255
257
  clist = [
256
- '0,0,242,182,0,0,68,0,240,193,183,168,252,325,170,45,242,176,368,253',
257
- '368,181,325,193,0,193,367,193,193,240,0,367,0,250,0,0,180,0,0,0,214',
258
- '0,0,0,0,182,45,0,0,193,45,0,183,168,0,0,170,219,45,176,405,405,0,181',
259
- '405,405,250,405,0,178,166,193,0,0,115,0,0,0,180,266,0,0,0,0,405,271',
260
- '0,169,12,272,405,12,405,142,405,405,142,405,405,405,178,405,405,164',
261
- '178,115,274,405,405,115,163,405,178,191,405,405,162,115,191,12,4,4,405',
262
- '12,4,4,314,4,405,169,161,12,405,405,177,405,405,342,342,314,405,405',
263
- '405,405,4,156,405,314,248,322,4,322,4,247,4,4,282,4,4,4,4,4,4,4,4,177',
264
- '284,4,4,177,286,4,150,150,4,4,150,177,147,147,400,400,4,288,400,400',
265
- '303,400,4,7,7,7,4,4,308,4,4,145,221,306,4,4,4,4,400,140,4,310,311,313',
266
- '400,222,400,138,400,400,130,400,400,400,128,400,400,400,400,308,321',
267
- '400,400,308,225,400,308,323,400,400,324,308,7,7,7,7,400,241,127,120',
268
- '121,329,400,118,341,239,400,400,343,400,400,152,108,121,400,400,400',
269
- '400,245,245,400,121,245,245,152,245,245,106,105,102,101,351,152,70,353',
270
- '121,354,357,215,362,63,238,245,179,179,227,152,179,245,232,245,62,245',
271
- '245,227,245,245,245,371,245,245,245,245,372,374,245,245,227,375,245',
272
- '378,41,245,245,385,227,386,392,40,8,245,5,179,402,1,179,245,407,409',
273
- '411,245,245,415,245,245,,,,245,245,245,245,399,399,245,179,399,399,',
274
- '399,399,194,,,,179,179,,,,,,,,,194,399,194,,194,194,,399,,399,,399,399',
275
- ',399,399,399,,399,399,399,399,,,399,399,194,,399,,,399,399,,,,,246,246',
276
- '399,,246,246,,246,399,,,194,399,399,,399,399,,,,399,399,399,399,246',
277
- ',399,,,,246,,246,,246,246,,246,246,246,,246,246,,,,,246,246,,,246,,',
278
- '246,246,,,,,10,10,246,,10,10,,10,246,,,,246,246,,246,246,,,,246,246',
279
- '246,246,10,,246,,,,10,,10,,10,10,,10,10,10,,10,10,10,10,,,10,10,,,10',
280
- ',,10,10,,,,,11,11,10,,11,11,,11,10,,,,10,10,,10,10,,,,10,10,10,10,11',
281
- ',10,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,,11,11,,,11,,,11,11,,,',
282
- ',251,251,11,,251,251,,251,11,,,,11,11,,11,11,,,,11,11,11,11,251,,11',
283
- ',,,251,,251,,251,251,,251,251,251,,251,251,251,251,,,251,251,,,251,',
284
- ',251,251,,,,,15,15,251,,15,15,,15,251,,,,251,251,,251,251,,,,251,251',
285
- '251,251,15,,251,,,,15,,15,,15,15,,15,15,15,,15,15,,,,,15,15,,,15,,,15',
286
- '15,,,,,16,16,15,,16,16,,16,15,,,,15,15,,15,15,,,,15,15,15,15,16,,15',
287
- ',,,16,,16,,16,16,,16,16,16,,16,16,,,,,16,16,,,16,,,16,16,,,,,17,17,16',
288
- ',17,17,,17,16,,,,16,16,,16,16,,,,16,16,16,16,17,,16,,,,17,,17,,17,17',
289
- ',17,17,17,,17,17,,,,,17,17,,,17,,,17,17,,,,,18,18,17,,18,18,,18,17,',
290
- ',,17,17,,17,17,,,,17,17,17,17,18,,17,,,,18,,18,,18,18,,18,18,18,,18',
291
- '18,18,18,,,18,18,,,18,,,18,18,,,,,,,18,,,,,,18,,,,18,18,,18,18,,,,18',
292
- '18,18,18,397,397,18,,397,397,,397,397,,,,,,,,,,,,,,,,397,46,46,,,46',
293
- '397,,397,,397,397,,397,397,397,,397,397,397,397,,,397,397,,,397,,,397',
294
- '397,,,,,,,397,,46,,,46,397,,,,397,397,,397,397,,,,397,397,397,397,381',
295
- '381,397,46,381,381,,381,381,117,,,,46,46,,,,,,,,,117,381,117,,117,117',
296
- ',381,,381,,381,381,,381,381,381,,381,381,381,381,,,381,381,117,,381',
297
- ',,381,381,,,,,42,42,381,,42,42,,42,381,,,,381,381,,381,381,,,,381,381',
298
- '381,381,42,,381,,,,42,,42,,42,42,,42,42,42,,42,42,,,,,42,42,,,42,,,42',
299
- '42,,,,,43,43,42,,43,43,,43,42,,,,42,42,,42,42,,,,42,42,42,42,43,,42',
300
- ',,,43,,43,,43,43,,43,43,43,,43,43,,,,,43,43,,,43,,,43,43,,,,,44,44,43',
301
- ',44,44,,44,43,,,,43,43,,43,43,,,,43,43,43,43,44,,43,,,,44,,44,,44,44',
302
- ',44,44,44,,44,44,,,,,44,44,,,44,,,44,44,,,,,,,44,,,,,,44,,,,44,44,,44',
303
- '44,,,,44,44,44,44,255,255,44,,255,255,,255,255,192,,,,,,,,,,,,,,192',
304
- '255,192,,192,192,,255,,255,,255,255,,255,255,255,,255,255,255,255,,',
305
- '255,255,192,,255,,,255,255,,,,,213,213,255,,213,213,,213,255,,,,255',
306
- '255,,255,255,,,,255,255,255,255,213,,255,,,,213,,213,,213,213,,213,213',
307
- '213,,213,213,,,,,213,213,,,213,,,213,213,,,,,52,52,213,,52,52,52,52',
308
- '213,,,,213,213,,213,213,,,,213,213,213,213,52,,213,,,,52,,52,,52,52',
309
- ',52,52,52,,52,52,52,52,,,52,52,,,52,,,52,52,,,,,53,53,52,,53,53,53,53',
310
- '52,,,,52,52,,52,52,,,,52,52,52,52,53,,52,,,,53,,53,,53,53,,53,53,53',
311
- ',53,53,53,53,,,53,53,,,53,,,53,53,,,,,,,53,,,,,,53,,,,53,53,,53,53,',
312
- ',,53,53,53,53,54,54,53,,54,54,,54,54,114,,,,,,,,,,,,,,114,54,114,,114',
313
- '114,,54,,54,,54,54,,54,54,54,,54,54,54,54,,,54,54,114,,54,,,54,54,,',
314
- ',,60,60,54,,60,60,,60,54,,,,54,54,,54,54,,,,54,54,54,54,60,,54,,,,60',
315
- ',60,,60,60,,60,60,60,,60,60,60,60,,,60,60,,,60,,,60,60,,,,,370,370,60',
316
- ',370,370,,370,60,,,,60,60,,60,60,,,,60,60,60,60,370,,60,,,,370,,370',
317
- ',370,370,,370,370,370,,370,370,,,,,370,370,,,370,,,370,370,,,,,256,256',
318
- '370,,256,256,,256,370,,,,370,370,,370,370,,,,370,370,370,370,256,,370',
319
- ',,,256,,256,,256,256,,256,256,256,,256,256,256,256,,,256,256,,,256,',
320
- ',256,256,,,,,65,65,256,,65,65,,65,256,,,,256,256,,256,256,,,,256,256',
321
- '256,256,65,,256,,,,65,,65,,65,65,,65,65,65,,65,65,,,,,65,65,,,65,,,65',
322
- '65,,,,,358,358,65,,358,358,,358,65,,,,65,65,,65,65,,,,65,65,65,65,358',
323
- ',65,,,,358,,358,,358,358,,358,358,358,,358,358,358,358,,,358,358,,,358',
324
- ',,358,358,,,,,69,69,358,,69,69,,69,358,,,,358,358,,358,358,,,,358,358',
325
- '358,358,69,,358,,,,69,,69,,69,69,,69,69,69,,69,69,69,69,,,69,69,,,69',
326
- ',,69,69,,,,,352,352,69,,352,352,,352,69,,,,69,69,,69,69,,,,69,69,69',
327
- '69,352,,69,,,,352,,352,,352,352,,352,352,352,,352,352,,,,,352,352,,',
328
- '352,,,352,352,,,,,71,71,352,,71,71,,71,352,,,,352,352,,352,352,,,,352',
329
- '352,352,352,71,,352,,,,71,,71,,71,71,,71,71,71,,71,71,71,71,,,71,71',
330
- ',,71,,,71,71,,,,,72,72,71,,72,72,,72,71,,,,71,71,,71,71,,,,71,71,71',
331
- '71,72,,71,,,,72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72',
332
- '72,,,,,73,73,72,,73,73,,73,72,,,,72,72,,72,72,,,,72,72,72,72,73,,72',
333
- ',,,73,,73,,73,73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,74',
334
- '74,73,,74,74,,74,73,,,,73,73,,73,73,,,,73,73,73,73,74,,73,,,,74,,74',
335
- ',74,74,,74,74,74,,74,74,74,74,,,74,74,,,74,,,74,74,,,,,75,75,74,,75',
336
- '75,,75,74,,,,74,74,,74,74,,,,74,74,74,74,75,,74,,,,75,,75,,75,75,,75',
337
- '75,75,,75,75,75,75,,,75,75,,,75,,,75,75,,,,,76,76,75,,76,76,,76,75,',
338
- ',,75,75,,75,75,,,,75,75,75,75,76,,75,,,,76,,76,,76,76,,76,76,76,,76',
339
- '76,76,76,,,76,76,,,76,,,76,76,,,,,77,77,76,,77,77,,77,76,,,,76,76,,76',
340
- '76,,,,76,76,76,76,77,,76,,,,77,,77,,77,77,,77,77,77,,77,77,77,77,,,77',
341
- '77,,,77,,,77,77,,,,,78,78,77,,78,78,,78,77,,,,77,77,,77,77,,,,77,77',
342
- '77,77,78,,77,,,,78,,78,,78,78,,78,78,78,,78,78,78,78,,,78,78,,,78,,',
343
- '78,78,,,,,79,79,78,,79,79,,79,78,,,,78,78,,78,78,,,,78,78,78,78,79,',
344
- '78,,,,79,79,79,79,79,79,79,79,79,79,,79,79,,,,,79,79,79,79,79,,,79,79',
345
- ',,,,,,79,,,,,79,79,,,,79,79,,79,79,,,,79,79,79,79,80,80,79,116,80,80',
346
- ',80,,,,,,,,,,116,,116,,116,116,,80,,,,,,80,,80,,80,80,,80,80,80,,80',
347
- '80,116,,,,80,80,,,80,,,80,80,,,,,81,81,80,,81,81,,81,80,,,,80,80,,80',
348
- '80,,,,80,80,80,80,81,,80,,,,81,,81,,81,81,,81,81,81,,81,81,,,,,81,81',
349
- ',,81,,,81,81,,,,,82,82,81,,82,82,,82,81,,,,81,81,,81,81,,,,81,81,81',
350
- '81,82,,81,,,,82,,82,,82,82,,82,82,82,,82,82,,,,,82,82,,,82,,,82,82,',
351
- ',,,83,83,82,,83,83,,83,82,,,,82,82,,82,82,,,,82,82,82,82,83,,82,,,,83',
352
- ',83,,83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83,83,,,,,84,84,83,,84',
353
- '84,,84,83,,,,83,83,,83,83,,,,83,83,83,83,84,,83,,,,84,,84,,84,84,,84',
354
- '84,84,,84,84,,,,,84,84,,,84,,,84,84,,,,,85,85,84,,85,85,,85,84,,,,84',
355
- '84,,84,84,,,,84,84,84,84,85,,84,,,,85,,85,,85,85,,85,85,85,,85,85,,',
356
- ',,85,85,,,85,,,85,85,,,,,86,86,85,,86,86,,86,85,,,,85,85,,85,85,,,,85',
357
- '85,85,85,86,,85,,,,86,,86,,86,86,,86,86,86,,86,86,,,,,86,86,,,86,,,86',
358
- '86,,,,,87,87,86,,87,87,,87,86,,,,86,86,,86,86,,,,86,86,86,86,87,,86',
359
- ',,,87,,87,,87,87,,87,87,87,,87,87,,,,,87,87,,,87,,,87,87,,,,,88,88,87',
360
- ',88,88,,88,87,,,,87,87,,87,87,,,,87,87,87,87,88,,87,,,,88,,88,,88,88',
258
+ '0,0,244,170,0,0,253,0,242,195,185,184,138,328,171,46,244,172,325,255',
259
+ '325,178,328,195,0,195,371,195,195,242,0,371,0,252,0,0,183,0,0,0,256',
260
+ '0,0,0,0,170,46,0,0,195,46,0,185,184,0,0,171,131,46,172,411,411,0,178',
261
+ '411,411,252,411,0,346,346,195,0,0,311,0,0,0,183,129,0,0,0,0,411,372',
262
+ '0,372,48,128,411,193,411,269,411,411,193,411,411,411,144,411,411,144',
263
+ '274,311,275,411,411,311,250,411,311,277,411,411,154,311,249,48,4,4,411',
264
+ '48,4,4,317,4,411,154,140,48,411,411,180,411,411,154,121,317,411,411',
265
+ '411,411,4,119,411,317,149,149,4,154,4,142,4,4,243,4,4,4,4,4,4,4,4,180',
266
+ '285,4,4,180,287,4,152,152,4,4,152,180,289,291,405,405,4,306,405,405',
267
+ '241,405,4,7,7,7,4,4,179,4,4,240,309,234,4,4,4,4,405,313,4,314,316,147',
268
+ '405,227,405,109,405,405,182,405,405,405,107,405,405,405,405,179,324',
269
+ '405,405,179,224,405,326,327,405,405,223,179,7,7,7,7,405,12,116,106,12',
270
+ '182,405,103,332,182,405,405,221,405,405,102,345,182,405,405,405,405',
271
+ '404,404,405,217,404,404,347,404,404,71,12,116,69,64,12,116,63,216,355',
272
+ '158,357,358,12,116,404,251,251,361,163,251,404,229,404,366,404,404,122',
273
+ '404,404,404,229,404,404,404,404,42,164,404,404,122,165,404,41,229,404',
274
+ '404,375,122,376,378,379,229,404,382,251,166,387,251,404,390,391,122',
275
+ '404,404,397,404,404,8,168,5,404,404,404,404,402,402,404,251,402,402',
276
+ '407,402,402,196,1,413,415,251,251,417,421,,,,,,,196,402,196,,196,196',
277
+ ',402,,402,,402,402,,402,402,402,,402,402,402,402,,,402,402,196,,402',
278
+ ',,402,402,,,,,175,175,402,,175,175,,175,402,,,196,402,402,,402,402,',
279
+ ',,402,402,402,402,175,,402,,,,175,,175,,175,175,,175,175,175,,175,175',
280
+ ',,,,175,175,,,175,,,175,175,,,,,10,10,175,,10,10,,10,175,,,,175,175',
281
+ ',175,175,,,,175,175,175,175,10,,175,,,,10,,10,,10,10,,10,10,10,,10,10',
282
+ '10,10,,,10,10,,,10,,,10,10,,,,,11,11,10,,11,11,,11,10,,,,10,10,,10,10',
283
+ ',,,10,10,10,10,11,,10,,,,11,,11,,11,11,,11,11,11,,11,11,11,11,,,11,11',
284
+ ',,11,,,11,11,,,,,,,11,,,,,,11,,,,11,11,,11,11,,,,11,11,11,11,385,385',
285
+ '11,,385,385,,385,385,194,,,,,,,,,,,,,,194,385,194,,194,194,,385,,385',
286
+ ',385,385,,385,385,385,,385,385,385,385,,,385,385,194,,385,,,385,385',
287
+ ',,,,15,15,385,,15,15,,15,385,,,,385,385,,385,385,,,,385,385,385,385',
288
+ '15,,385,,,,15,,15,,15,15,,15,15,15,,15,15,,,,,15,15,,,15,,,15,15,,,',
289
+ ',16,16,15,,16,16,,16,15,,,,15,15,,15,15,,,,15,15,15,15,16,,15,,,,16',
290
+ ',16,,16,16,,16,16,16,,16,16,,,,,16,16,,,16,,,16,16,,,,,17,17,16,,17',
291
+ '17,,17,16,,,,16,16,,16,16,,,,16,16,16,16,17,,16,,,,17,,17,,17,17,,17',
292
+ '17,17,,17,17,,,,,17,17,,,17,,,17,17,,,,,18,18,17,,18,18,,18,17,,,,17',
293
+ '17,,17,17,,,,17,17,17,17,18,,17,,,,18,,18,,18,18,,18,18,18,,18,18,18',
294
+ '18,,,18,18,,,18,,,18,18,,,,,374,374,18,,374,374,,374,18,,,,18,18,,18',
295
+ '18,,,,18,18,18,18,374,,18,,,,374,,374,,374,374,,374,374,374,,374,374',
296
+ ',,,,374,374,,,374,,,374,374,,,,,174,174,374,,174,174,,174,374,,,,374',
297
+ '374,,374,374,,,,374,374,374,374,174,,374,,,,174,,174,,174,174,,174,174',
298
+ '174,,174,174,,,,,174,174,,,174,,,174,174,,,,,43,43,174,,43,43,,43,174',
299
+ ',,,174,174,,174,174,,,,174,174,174,174,43,,174,,,,43,,43,,43,43,,43',
300
+ '43,43,,43,43,,,,,43,43,,,43,,,43,43,,,,,44,44,43,,44,44,,44,43,,,,43',
301
+ '43,,43,43,,,,43,43,43,43,44,,43,,,,44,,44,,44,44,,44,44,44,,44,44,,',
302
+ ',,44,44,,,44,,,44,44,,,,,45,45,44,,45,45,,45,44,,,,44,44,,44,44,,,,44',
303
+ '44,44,44,45,,44,,,,45,,45,,45,45,,45,45,45,,45,45,,,,,45,45,,,45,,,45',
304
+ '45,,,,,362,362,45,,362,362,,362,45,,,,45,45,,45,45,,,,45,45,45,45,362',
305
+ ',45,,,,362,,362,,362,362,,362,362,362,,362,362,362,362,,,362,362,,,362',
306
+ ',,362,362,,,,,356,356,362,,356,356,,356,362,,,,362,362,,362,362,,,,362',
307
+ '362,362,362,356,,362,,,,356,,356,,356,356,,356,356,356,,356,356,,,,',
308
+ '356,356,,,356,,,356,356,,,,,173,173,356,,173,173,,173,356,,,,356,356',
309
+ ',356,356,,,,356,356,356,356,173,,356,,,,173,,173,,173,173,,173,173,173',
310
+ ',173,173,,,,,173,173,,,173,,,173,173,,,,,53,53,173,,53,53,53,53,173',
311
+ ',,,173,173,,173,173,,,,173,173,173,173,53,,173,,,,53,,53,,53,53,,53',
312
+ '53,53,,53,53,53,53,,,53,53,,,53,,,53,53,,,,,54,54,53,,54,54,54,54,53',
313
+ ',,,53,53,,53,53,,,,53,53,53,53,54,,53,,,,54,,54,,54,54,,54,54,54,,54',
314
+ '54,54,54,,,54,54,,,54,,,54,54,,,,,,,54,,,,,,54,,,,54,54,,54,54,,,,54',
315
+ '54,54,54,55,55,54,,55,55,,55,55,117,,,,,,,,,,,,,,117,55,117,,117,117',
316
+ ',55,,55,,55,55,,55,55,55,,55,55,55,55,,,55,55,117,,55,,,55,55,,,,,61',
317
+ '61,55,,61,61,,61,55,,,,55,55,,55,55,,,,55,55,55,55,61,,55,,,,61,,61',
318
+ ',61,61,,61,61,61,,61,61,61,61,,,61,61,,,61,,,61,61,,,,,169,169,61,,169',
319
+ '169,,169,61,,169,,61,61,,61,61,,,,61,61,61,61,169,,61,,,,169,,169,,169',
320
+ '169,,169,169,169,,169,169,,,,,169,169,,,169,,,169,169,,,,,,,169,,,,',
321
+ ',169,,,,169,169,,169,169,,,,169,169,169,169,156,156,169,,156,156,,156',
322
+ '156,118,,,,,,,,,,,,,,118,156,118,,118,118,,156,,156,,156,156,,156,156',
323
+ '156,,156,156,156,156,,,156,156,118,,156,,,156,156,,,,,66,66,156,,66',
324
+ '66,,66,156,,,,156,156,,156,156,,,,156,156,156,156,66,,156,,,,66,,66',
325
+ ',66,66,,66,66,66,,66,66,,,,,66,66,,,66,,,66,66,,,,,215,215,66,,215,215',
326
+ ',215,66,,,,66,66,,66,66,,,,66,66,66,66,215,,66,,,,215,,215,,215,215',
327
+ ',215,215,215,,215,215,,,,,215,215,,,215,,,215,215,,,,,70,70,215,,70',
328
+ '70,,70,215,,,,215,215,,215,215,,,,215,215,215,215,70,,215,,,,70,,70',
329
+ ',70,70,,70,70,70,,70,70,70,70,,,70,70,,,70,,,70,70,,,,,153,153,70,,153',
330
+ '153,,153,70,,,,70,70,,70,70,,,,70,70,70,70,153,,70,,,,153,,153,,153',
331
+ '153,,153,153,153,,153,153,153,153,,,153,153,,,153,,,153,153,,,,,72,72',
332
+ '153,,72,72,,72,153,,,,153,153,,153,153,,,,153,153,153,153,72,,153,,',
333
+ ',72,,72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72,72,,,,,73,73',
334
+ '72,,73,73,,73,72,,,,72,72,,72,72,,,,72,72,72,72,73,,72,,,,73,,73,,73',
335
+ '73,,73,73,73,,73,73,73,73,,,73,73,,,73,,,73,73,,,,,74,74,73,,74,74,',
336
+ '74,73,,,,73,73,,73,73,,,,73,73,73,73,74,,73,,,,74,,74,,74,74,,74,74',
337
+ '74,,74,74,74,74,,,74,74,,,74,,,74,74,,,,,75,75,74,,75,75,,75,74,,,,74',
338
+ '74,,74,74,,,,74,74,74,74,75,,74,,,,75,,75,,75,75,,75,75,75,,75,75,75',
339
+ '75,,,75,75,,,75,,,75,75,,,,,76,76,75,,76,76,,76,75,,,,75,75,,75,75,',
340
+ ',,75,75,75,75,76,,75,,,,76,,76,,76,76,,76,76,76,,76,76,76,76,,,76,76',
341
+ ',,76,,,76,76,,,,,77,77,76,,77,77,,77,76,,,,76,76,,76,76,,,,76,76,76',
342
+ '76,77,,76,,,,77,,77,,77,77,,77,77,77,,77,77,77,77,,,77,77,,,77,,,77',
343
+ '77,,,,,78,78,77,,78,78,,78,77,,,,77,77,,77,77,,,,77,77,77,77,78,,77',
344
+ ',,,78,,78,,78,78,,78,78,78,,78,78,78,78,,,78,78,,,78,,,78,78,,,,,79',
345
+ '79,78,,79,79,,79,78,,,,78,78,,78,78,,,,78,78,78,78,79,,78,,,,79,,79',
346
+ ',79,79,,79,79,79,,79,79,79,79,,,79,79,,,79,,,79,79,,,,,80,80,79,,80',
347
+ '80,,80,79,,,,79,79,,79,79,,,,79,79,79,79,80,,79,,,,80,80,80,80,80,80',
348
+ '80,80,80,80,,80,80,,,,,80,80,80,80,80,,,80,80,,,,,,,80,,,,,80,80,,,',
349
+ '80,80,,80,80,,,,80,80,80,80,81,81,80,115,81,81,,81,,,,,,,,,,115,,115',
350
+ ',115,115,,81,,,,,,81,,81,,81,81,,81,81,81,,81,81,115,,,,81,81,,,81,',
351
+ ',81,81,,,,,82,82,81,,82,82,,82,81,,,,81,81,,81,81,,,,81,81,81,81,82',
352
+ ',81,,,,82,,82,,82,82,,82,82,82,,82,82,,,,,82,82,,,82,,,82,82,,,,,83',
353
+ '83,82,,83,83,,83,82,,,,82,82,,82,82,,,,82,82,82,82,83,,82,,,,83,,83',
354
+ ',83,83,,83,83,83,,83,83,,,,,83,83,,,83,,,83,83,,,,,84,84,83,,84,84,',
355
+ '84,83,,,,83,83,,83,83,,,,83,83,83,83,84,,83,,,,84,,84,,84,84,,84,84',
356
+ '84,,84,84,,,,,84,84,,,84,,,84,84,,,,,85,85,84,,85,85,,85,84,,,,84,84',
357
+ ',84,84,,,,84,84,84,84,85,,84,,,,85,,85,,85,85,,85,85,85,,85,85,,,,,85',
358
+ '85,,,85,,,85,85,,,,,86,86,85,,86,86,,86,85,,,,85,85,,85,85,,,,85,85',
359
+ '85,85,86,,85,,,,86,,86,,86,86,,86,86,86,,86,86,,,,,86,86,,,86,,,86,86',
360
+ ',,,,87,87,86,,87,87,,87,86,,,,86,86,,86,86,,,,86,86,86,86,87,,86,,,',
361
+ '87,,87,,87,87,,87,87,87,,87,87,,,,,87,87,,,87,,,87,87,,,,,88,88,87,',
362
+ '88,88,,88,87,,,,87,87,,87,87,,,,87,87,87,87,88,,87,,,,88,,88,,88,88',
361
363
  ',88,88,88,,88,88,,,,,88,88,,,88,,,88,88,,,,,89,89,88,,89,89,,89,88,',
362
364
  ',,88,88,,88,88,,,,88,88,88,88,89,,88,,,,89,,89,,89,89,,89,89,89,,89',
363
365
  '89,,,,,89,89,,,89,,,89,89,,,,,90,90,89,,90,90,,90,89,,,,89,89,,89,89',
@@ -378,116 +380,120 @@ clist = [
378
380
  ',,97,97,,97,97,,,,97,97,97,97,98,,97,,,,98,,98,,98,98,,98,98,98,,98',
379
381
  '98,,,,,98,98,,,98,,,98,98,,,,,99,99,98,,99,99,,99,98,,,,98,98,,98,98',
380
382
  ',,,98,98,98,98,99,,98,,,,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99,,',
381
- '99,,,99,99,,,,,100,100,99,,100,100,,100,99,,,99,99,99,,99,99,,,,99,99',
382
- '99,99,100,100,99,,,,100,,100,,100,100,,100,100,100,,100,100,100,100',
383
- ',,100,100,,,100,,,100,100,,,,,173,173,100,,173,173,,173,100,,,,100,100',
384
- ',100,100,,,,100,100,100,100,173,,100,,,,173,,173,,173,173,,173,173,173',
385
- ',173,173,,,,,173,173,,,173,,,173,173,,,,,172,172,173,,172,172,,172,173',
386
- ',,,173,173,,173,173,,,,173,173,173,173,172,,173,,,,172,,172,,172,172',
387
- ',172,172,172,,172,172,,,,,172,172,,,172,,,172,172,,,,,103,103,172,,103',
388
- '103,,103,172,,,,172,172,,172,172,,,,172,172,172,172,103,,172,,,,103',
389
- ',103,,103,103,,103,103,103,,103,103,,,,,103,103,,,103,,,103,103,,,,',
390
- '104,104,103,,104,104,,104,103,,,,103,103,,103,103,,,,103,103,103,103',
391
- '104,,103,,,,104,,104,,104,104,,104,104,104,,104,104,,,,,104,104,,,104',
392
- ',,104,104,,,,,171,171,104,,171,171,,171,104,,,,104,104,,104,104,,,,104',
393
- '104,104,104,171,,104,,,,171,,171,,171,171,,171,171,171,,171,171,,,,',
394
- '171,171,,,171,,,171,171,,,,,167,167,171,,167,167,,167,171,,167,,171',
395
- '171,,171,171,,,,171,171,171,171,167,,171,,,,167,,167,,167,167,,167,167',
396
- '167,,167,167,,,,,167,167,,,167,,,167,167,,,,,107,107,167,,107,107,,107',
397
- '167,,,,167,167,,167,167,,,,167,167,167,167,107,,167,,,,107,,107,,107',
398
- '107,,107,107,107,,107,107,,,,,107,107,,,107,,,107,107,,,,,261,261,107',
399
- ',261,261,,261,107,,,,107,107,,107,107,,,,107,107,107,107,261,,107,,',
400
- ',261,,261,,261,261,,261,261,261,,261,261,261,261,,,261,261,,,261,,,261',
401
- '261,,,,,276,276,261,,276,276,,276,261,,,,261,261,,261,261,,,,261,261',
402
- '261,261,276,,261,,,,276,,276,,276,276,,276,276,276,,276,276,,,,,276',
403
- '276,,,276,,,276,276,,,,,277,277,276,,277,277,,277,276,,,,276,276,,276',
404
- '276,,,,276,276,276,276,277,,276,,,,277,,277,,277,277,,277,277,277,,277',
405
- '277,,,,,277,277,,,277,,,277,277,,,,,278,278,277,,278,278,,278,277,,',
406
- ',277,277,,277,277,,,,277,277,277,277,278,,277,,,,278,,278,,278,278,',
407
- '278,278,278,,278,278,,,,,278,278,,,278,,,278,278,,,,,,,278,,,,,,278',
408
- ',,,278,278,,278,278,,,,278,278,278,278,154,154,278,,154,154,,154,154',
409
- ',,,,,,,,,,,,,,,154,,,,,,154,,154,,154,154,,154,154,154,,154,154,154',
410
- '154,,,154,154,,,154,,,154,154,,,,,304,304,154,,304,304,,304,154,,,,154',
411
- '154,,154,154,,,,154,154,154,154,304,,154,,,,304,,304,,304,304,,304,304',
412
- '304,,304,304,,,,,304,304,,,304,,,304,304,,,,,328,328,304,,328,328,,328',
413
- '304,,,,304,304,,304,304,,,,304,304,304,304,328,,304,,,,328,,328,,328',
414
- '328,,328,328,328,,328,328,328,328,,,328,328,,,328,,,328,328,,,,,,,328',
415
- ',,,,,328,,,,328,328,,328,328,,,,328,328,328,328,230,230,328,,230,230',
416
- ',230,230,,,,,,,,,,,,,,,,230,,,,,,230,,230,,230,230,,230,230,230,,230',
417
- '230,230,230,,,230,230,,,230,,,230,230,,,,,122,122,230,,122,122,,122',
418
- '230,,,,230,230,,230,230,,,,230,230,230,230,122,122,230,,,,122,,122,',
419
- '122,122,,122,122,122,,122,122,122,122,,,122,122,,,122,,,122,122,,,,',
420
- '151,151,122,,151,151,,151,122,,,,122,122,,122,122,,,,122,122,122,122',
421
- '151,,122,,,,151,,151,,151,151,,151,151,151,,151,151,151,151,,,151,151',
422
- ',,151,,,151,151,,,,,280,280,151,,280,280,,280,151,,,,151,151,,151,151',
423
- ',,,151,151,151,151,280,,151,,,,280,,280,,280,280,,280,280,280,,280,280',
424
- ',,,,280,280,,,280,,,280,280,,,,,281,281,280,,281,281,,281,280,,,,280',
425
- '280,,280,280,,,,280,280,280,280,281,,280,,,,281,,281,,281,281,,281,281',
426
- '281,,281,281,,,,,281,281,,,281,,,281,281,,,,,,,281,,,,,,281,,,,281,281',
427
- ',281,281,,,,281,281,281,281,326,326,281,,326,326,,326,326,,,,,,,,,,',
428
- ',,,,,326,,,,,,326,,326,,326,326,,326,326,326,,326,326,,,,,326,326,,',
429
- '326,,,326,326,,,,,319,319,326,,319,319,,319,326,,,,326,326,,326,326',
430
- ',,,326,326,326,326,319,,326,,,,319,,319,,319,319,,319,319,319,,319,319',
431
- '319,319,,,319,319,,,319,,,319,319,,,,,318,318,319,,318,318,,318,319',
432
- ',,,319,319,,319,319,,,,319,319,319,319,318,,319,,,,318,,318,,318,318',
433
- ',318,318,318,,318,318,,,,,318,318,,,318,,,318,318,,,,,315,315,318,,315',
434
- '315,,315,318,,,,318,318,,318,318,,,,318,318,318,318,315,,318,,,,315',
435
- ',315,,315,315,,315,315,315,,315,315,,,,,315,315,,,315,,,315,315,,,,',
436
- ',,315,,,,,,315,,,,315,315,,315,315,,,,315,315,315,315,244,244,315,,244',
437
- '244,,244,244,,,,,,,,,,,,,,,,244,,,,,,244,,244,,244,244,,244,244,244',
438
- ',244,244,244,244,205,,244,244,,,244,,,244,244,,,205,205,,205,244,205',
439
- '205,,205,,244,,,,244,244,,244,244,,,,244,244,244,244,,205,244,,,,223',
440
- ',,205,205,205,205,205,205,,205,205,223,223,223,223,223,205,223,223,',
441
- '223,223,223,223,,249,249,,,249,,,,,,,,205,,223,,,,223,223,,,223,223',
442
- '223,223,223,223,,223,223,126,,126,,,223,,,249,,,249,126,126,126,,126',
443
- ',126,126,,126,126,126,126,,223,,,,,249,,,,,,,,,126,249,249,,126,126',
444
- ',,126,126,126,126,126,126,,126,126,125,,125,,,126,,,,,,,125,125,125',
445
- ',125,,125,125,,125,125,125,125,,126,,,,,,,,,,,,,,125,,,,125,125,,,125',
446
- '125,125,125,125,125,,125,125,123,,123,,,125,,,,,,,123,123,123,,123,199',
447
- '123,123,,123,123,123,123,,125,,,,,199,,199,,199,199,,,,123,,,,123,123',
448
- ',9,123,123,123,123,123,123,,123,123,199,,9,9,9,123,9,,9,9,,9,9,9,9,199',
449
- '199,,,,,,199,,,,123,,,,9,,,,9,9,,153,9,9,9,9,9,9,,9,9,,,153,153,153',
450
- '9,153,,153,153,,153,153,153,153,,,,,,,,,,,,9,,,,153,,,,153,153,,190',
451
- '153,153,153,153,153,153,,153,153,,,190,190,190,153,190,,190,190,,190',
452
- '190,190,190,,153,153,,,,,,,,,153,,,,190,,331,331,190,190,331,218,190',
453
- '190,190,190,190,190,,190,190,,,218,218,218,190,218,,218,218,,218,218',
454
- '218,218,,,,,,,,,,331,,190,331,,,218,,,,218,218,,195,218,218,218,218',
455
- '218,218,,218,218,331,,,,195,218,195,,195,195,331,331,,,,210,,,,,210',
456
- ',,,,,218,210,210,210,195,210,,210,210,,210,210,210,210,195,195,,,,195',
457
- '195,,,,,,195,,,210,,,,210,210,,209,210,210,210,210,210,210,,210,210',
458
- ',195,209,209,209,210,209,,209,209,,209,209,209,209,,,,,,,,,,,,210,,',
459
- ',209,,,,,209,,208,209,209,209,209,209,209,,209,209,,,208,208,208,209',
460
- '208,,208,208,,208,208,208,208,198,,,,,,,,,,,209,,,198,208,198,,198,198',
461
- '165,,,208,208,208,208,208,208,,208,208,165,165,165,165,165,208,165,165',
462
- '198,165,165,165,165,,,,,,,,,,,198,198,,208,,165,,198,,165,165,,346,165',
463
- '165,165,165,165,165,,165,165,,,346,346,346,165,346,,346,346,,346,346',
464
- '346,346,,,,,,,,,,,,165,,,,346,,,,346,346,,200,346,346,346,346,346,346',
465
- ',346,346,,,,,200,346,200,,200,200,,,,,,207,,,,,,,,,,,346,,207,207,200',
466
- '207,,207,207,206,207,,200,200,200,200,,,,200,200,,206,206,,206,200,206',
467
- '206,207,206,,,,197,,,207,207,207,207,207,207,,207,207,,200,197,206,197',
468
- '207,197,197,,,,206,206,206,206,206,206,366,206,206,,,,,,206,207,,197',
469
- '366,366,366,,366,,366,366,,366,366,366,366,,197,197,,206,,,,197,,,,',
470
- ',,366,,,,366,366,,348,366,366,366,366,366,366,,366,366,,,348,348,348',
471
- '366,348,,348,348,,348,348,348,348,,,,,,,,,,,,366,,,,348,,,,348,348,',
472
- '349,348,348,348,348,348,348,,348,348,,,349,349,349,348,349,,349,349',
473
- ',349,349,349,349,,,,,,,,,,,,348,,,,349,,,,349,349,,350,349,349,349,349',
474
- '349,349,,349,349,,,350,350,350,349,350,,350,350,,350,350,350,350,,,',
475
- ',,,,,,,,349,,,,350,,,,350,350,,204,350,350,350,350,350,350,,350,350',
476
- ',,,204,204,350,204,,204,204,,204,,203,,,,,,,,,,,,,350,203,,203,204,203',
477
- '203,,,,,,204,204,204,204,204,204,,204,204,,,,,,204,203,,,,,202,,,203',
478
- '203,203,203,203,203,,203,203,,,202,204,202,203,202,202,,,,196,,,,,,',
479
- ',,,,,,,196,203,196,202,196,196,,,,,,202,202,202,202,202,202,,202,202',
480
- ',,,,,202,196,,,,,201,,,,,196,196,,,,196,196,,,201,202,201,196,201,201',
481
- ',,,347,,,,,,,,,,,,347,347,347,196,347,201,347,347,,347,347,347,347,201',
482
- '201,201,201,,,,201,201,,,,,,201,347,,,,347,347,,,347,347,347,347,347',
483
- '347,,347,347,,,,201,,347,,,273,273,273,273,,273,273,273,,273,,273,273',
484
- ',,,,,347,273,273,273,,,,273,,,,,,,,,,,,273,273,,,,,,,,,,,,273,273,273',
485
- '273,275,275,275,275,,275,275,275,,275,,275,275,,,,,,,275,275,275,,,',
486
- '275,,,,,,,,,,,,275,275,,,,,,,,,,,,275,275,275,275,305,305,305,305,,305',
487
- '305,305,,305,,305,305,,,,,,,305,305,305,,,,305,,,,,,,,,,,,305,305,,',
488
- ',,,,,,,,,305,305,305,305,217,217,217,217,,217,217,217,,217,,217,217',
489
- ',,,,,,217,217,217,,,,217,,,,,,,,,,,,217,217,,,,,,,,,,,,217,217,217,217' ]
490
- racc_action_check = arr = ::Array.new(6785, nil)
383
+ '99,,,99,99,,,,,100,100,99,,100,100,,100,99,,,,99,99,,99,99,,,,99,99',
384
+ '99,99,100,,99,,,,100,,100,,100,100,,100,100,100,,100,100,,,,,100,100',
385
+ ',,100,,,100,100,,,,,101,101,100,,101,101,,101,100,,,100,100,100,,100',
386
+ '100,,,,100,100,100,100,101,101,100,,,,101,,101,,101,101,,101,101,101',
387
+ ',101,101,101,101,,,101,101,,,101,,,101,101,,,,,337,337,101,,337,337',
388
+ ',337,101,,,,101,101,,101,101,,,,101,101,101,101,337,,101,,,,337,,337',
389
+ ',337,337,,337,337,337,,337,337,337,337,,,337,337,,,337,,,337,337,,,',
390
+ ',331,331,337,,331,331,,331,337,,,,337,337,,337,337,,,,337,337,337,337',
391
+ '331,,337,,,,331,,331,,331,331,,331,331,331,,331,331,331,331,,,331,331',
392
+ ',,331,,,331,331,,,,,104,104,331,,104,104,,104,331,,,,331,331,,331,331',
393
+ ',,,331,331,331,331,104,,331,,,,104,,104,,104,104,,104,104,104,,104,104',
394
+ ',,,,104,104,,,104,,,104,104,,,,,105,105,104,,105,105,,105,104,,,,104',
395
+ '104,,104,104,,,,104,104,104,104,105,,104,,,,105,,105,,105,105,,105,105',
396
+ '105,,105,105,,,,,105,105,,,105,,,105,105,,,,,,,105,,,,,,105,,,,105,105',
397
+ ',105,105,,,,105,105,105,105,329,329,105,,329,329,,329,329,,,,,,,,,,',
398
+ ',,,,,329,,,,,,329,,329,,329,329,,329,329,329,,329,329,,,,,329,329,,',
399
+ '329,,,329,329,,,,,322,322,329,,322,322,,322,329,,,,329,329,,329,329',
400
+ ',,,329,329,329,329,322,,329,,,,322,,322,,322,322,,322,322,322,,322,322',
401
+ '322,322,,,322,322,,,322,,,322,322,,,,,108,108,322,,108,108,,108,322',
402
+ ',,,322,322,,322,322,,,,322,322,322,322,108,,322,,,,108,,108,,108,108',
403
+ ',108,108,108,,108,108,,,,,108,108,,,108,,,108,108,,,,,321,321,108,,321',
404
+ '321,,321,108,,,,108,108,,108,108,,,,108,108,108,108,321,,108,,,,321',
405
+ ',321,,321,321,,321,321,321,,321,321,,,,,321,321,,,321,,,321,321,,,,',
406
+ '318,318,321,,318,318,,318,321,,,,321,321,,321,321,,,,321,321,321,321',
407
+ '318,,321,,,,318,,318,,318,318,,318,318,318,,318,318,,,,,318,318,,,318',
408
+ ',,318,318,,,,,307,307,318,,307,307,,307,318,,,,318,318,,318,318,,,,318',
409
+ '318,318,318,307,,318,,,,307,,307,,307,307,,307,307,307,,307,307,,,,',
410
+ '307,307,,,307,,,307,307,,,,,284,284,307,,284,284,,284,307,,,,307,307',
411
+ ',307,307,,,,307,307,307,307,284,,307,,,,284,,284,,284,284,,284,284,284',
412
+ ',284,284,,,,,284,284,,,284,,,284,284,,,,,283,283,284,,283,283,,283,284',
413
+ ',,,284,284,,284,284,,,,284,284,284,284,283,,284,,,,283,,283,,283,283',
414
+ ',283,283,283,,283,283,,,,,283,283,,,283,,,283,283,,,,,281,281,283,,281',
415
+ '281,,281,283,,,,283,283,,283,283,,,,283,283,283,283,281,,283,,,,281',
416
+ ',281,,281,281,,281,281,281,,281,281,,,,,281,281,,,281,,,281,281,,,,',
417
+ '280,280,281,,280,280,,280,281,,,,281,281,,281,281,,,,281,281,281,281',
418
+ '280,,281,,,,280,,280,,280,280,,280,280,280,,280,280,,,,,280,280,,,280',
419
+ ',,280,280,,,,,279,279,280,,279,279,,279,280,,,,280,280,,280,280,,,,280',
420
+ '280,280,280,279,,280,,,,279,,279,,279,279,,279,279,279,,279,279,,,,',
421
+ '279,279,,,279,,,279,279,,,,,123,123,279,,123,123,,123,279,,,,279,279',
422
+ ',279,279,,,,279,279,279,279,123,123,279,,,,123,,123,,123,123,,123,123',
423
+ '123,,123,123,123,123,,,123,123,,,123,,,123,123,,,,,,,123,,,,,,123,,',
424
+ ',123,123,,123,123,,,,123,123,123,123,232,232,123,,232,232,,232,232,',
425
+ ',,,,,,,,,,,,,,232,334,334,,,334,232,,232,,232,232,,232,232,232,,232',
426
+ '232,232,232,,,232,232,,,232,,,232,232,,,,,,,232,,334,,,334,232,,,,232',
427
+ '232,,232,232,,,,232,232,232,232,246,246,232,334,246,246,,246,246,,,',
428
+ ',334,334,,,,,,,,,,246,47,47,,,47,246,,246,,246,246,,246,246,246,,246',
429
+ '246,246,246,,,246,246,,,246,,,246,246,,,,,,,246,,47,,,47,246,,,,246',
430
+ '246,,246,246,,,,246,246,246,246,247,247,246,47,247,247,,247,247,,,,',
431
+ '47,47,,,,,,,,,,247,,,,,,247,,247,,247,247,,247,247,247,,247,247,247',
432
+ '247,,,247,247,,,247,,,247,247,,,,,264,264,247,,264,264,,264,247,,,,247',
433
+ '247,,247,247,,,,247,247,247,247,264,,247,,,,264,,264,,264,264,,264,264',
434
+ '264,,264,264,264,264,,,264,264,,,264,,,264,264,,,,,259,259,264,,259',
435
+ '259,,259,264,,,,264,264,,264,264,,,,264,264,264,264,259,,264,,,,259',
436
+ ',259,,259,259,,259,259,259,,259,259,259,259,,,259,259,,,259,,,259,259',
437
+ ',,,,,,259,,,,,,259,,,,259,259,,259,259,,,,259,259,259,259,258,258,259',
438
+ ',258,258,,258,258,,,,,,,,,,,,,,,,258,,,,,,258,,258,,258,258,,258,258',
439
+ '258,,258,258,258,258,,,258,258,,,258,,,258,258,,,,,248,248,258,,248',
440
+ '248,,248,258,,,,258,258,,258,258,,,,258,258,258,258,248,,258,,,,248',
441
+ ',248,,248,248,,248,248,248,,248,248,,,,,248,248,,,248,,,248,248,,,,',
442
+ '254,254,248,,254,254,,254,248,,,,248,248,,248,248,,,,248,248,248,248',
443
+ '254,,248,,,,254,,254,,254,254,,254,254,254,,254,254,254,254,,,254,254',
444
+ ',,254,,,254,254,,,,,,,254,,,,,,254,,,,254,254,,254,254,127,,127,254',
445
+ '254,254,254,,,254,,,127,127,127,,127,,127,127,,127,127,127,127,,181',
446
+ '181,,,181,,,,,,,,,,127,,,,127,127,,,127,127,127,127,127,127,,127,127',
447
+ '126,,126,,,127,,,181,,,181,126,126,126,,126,,126,126,,126,126,126,126',
448
+ ',127,,,,,181,,,,,,,,,126,181,181,,126,126,,,126,126,126,126,126,126',
449
+ ',126,126,124,,124,,,126,,,,,,,124,124,124,,124,,124,124,,124,124,124',
450
+ '124,,126,,,,,,,,,,,,,,124,,,,124,124,,,124,124,124,124,124,124,225,124',
451
+ '124,,,,,,124,,,,225,225,225,225,225,200,225,225,,225,225,225,225,,,',
452
+ ',124,,200,,200,,200,200,,,,225,,,,225,225,,220,225,225,225,225,225,225',
453
+ ',225,225,200,,220,220,220,225,220,,220,220,,220,220,220,220,200,200',
454
+ ',,,,,200,,,,225,,,,220,,,,220,220,,350,220,220,220,220,220,220,,220',
455
+ '220,,,350,350,350,220,350,,350,350,,350,350,350,350,,,,,,,,,,,,220,',
456
+ ',,350,,,,350,350,,351,350,350,350,350,350,350,,350,350,,,351,351,351',
457
+ '350,351,,351,351,,351,351,351,351,,,,,,,,,,,,350,,,,351,,,,351,351,',
458
+ '155,351,351,351,351,351,351,,351,351,,,155,155,155,351,155,,155,155',
459
+ ',155,155,155,155,,,,,,,,,,,,351,,,,155,,,,155,155,,352,155,155,155,155',
460
+ '155,155,,155,155,,,352,352,352,155,352,,352,352,,352,352,352,352,,155',
461
+ '155,,,,,,,,,155,,,,352,,,,352,352,,,352,352,352,352,352,352,212,352',
462
+ '352,,,212,,,352,,,,212,212,212,,212,199,212,212,,212,212,212,212,,,',
463
+ ',352,,199,,199,,199,199,,,,212,,,,212,212,,211,212,212,212,212,212,212',
464
+ ',212,212,199,,211,211,211,212,211,,211,211,,211,211,211,211,199,199',
465
+ ',,,,,199,,,,212,,,,211,,,,,211,,210,211,211,211,211,211,211,,211,211',
466
+ ',,210,210,210,211,210,,210,210,,210,210,210,210,209,,,,,,,,,,,211,,209',
467
+ '209,210,209,,209,209,208,209,,210,210,210,210,210,210,,210,210,,208',
468
+ '208,,208,210,208,208,209,208,,,,,,,209,209,209,209,209,209,,209,209',
469
+ ',210,,208,,209,,,,,,208,208,208,208,208,208,167,208,208,,,,,,208,209',
470
+ ',,167,167,167,167,167,207,167,167,,167,167,167,167,,,,,208,207,207,',
471
+ '207,,207,207,,207,,167,,,,167,167,,,167,167,167,167,167,167,,167,167',
472
+ '207,,,,,167,,,207,207,207,207,207,207,,207,207,353,,,,,207,,,,167,,',
473
+ '353,353,353,,353,206,353,353,,353,353,353,353,,207,,,,206,206,,206,',
474
+ '206,206,,206,,353,,,,353,353,,,353,353,353,353,353,353,,353,353,206',
475
+ ',,,,353,,,206,206,206,206,206,206,205,206,206,,,,,,206,,,,353,,205,',
476
+ '205,204,205,205,,,,,,,,,,206,,204,,204,,204,204,,,,205,,,,,,,,205,205',
477
+ '205,205,205,205,,205,205,204,,,,,205,,,204,204,204,204,204,204,,204',
478
+ '204,354,,,,,204,,,,205,,,354,354,354,,354,201,354,354,,354,354,354,354',
479
+ ',204,,,,,201,,201,,201,201,,,,354,,,,354,354,,370,354,354,354,354,354',
480
+ '354,,354,354,201,,370,370,370,354,370,,370,370,,370,370,370,370,201',
481
+ '201,,,,,,201,,,,354,,,,370,,,,370,370,,9,370,370,370,370,370,370,,370',
482
+ '370,,,9,9,9,370,9,,9,9,,9,9,9,9,,,,,,,,,,,,370,,,,9,,,,9,9,,203,9,9',
483
+ '9,9,9,9,,9,9,,,,,203,9,203,,203,203,,,,202,,,,,,,,,,,,,9,202,,202,203',
484
+ '202,202,,,,,,203,203,203,203,,,,203,203,,,,,,203,202,,,,,198,,,202,202',
485
+ '202,202,,,,202,202,,,198,203,198,202,198,198,,,,192,,,,,,,,,,,,192,192',
486
+ '192,202,192,198,192,192,,192,192,192,192,,,198,198,,,,198,198,,,,,,198',
487
+ '192,,,,192,192,,197,192,192,192,192,192,192,,192,192,,,,198,197,192',
488
+ '197,,197,197,,,308,308,308,308,,308,308,308,,308,,308,308,,192,,,,197',
489
+ '308,308,308,,,,308,,,197,197,,,,197,197,,,308,308,,197,,,,,,,,,,308',
490
+ '308,308,308,,,,276,276,276,276,197,276,276,276,,276,,276,276,,,,,,,276',
491
+ '276,276,,,,276,,,,,,,,,,,,276,276,,,,,,,,,,,,276,276,276,276,278,278',
492
+ '278,278,,278,278,278,,278,,278,278,,,,,,,278,278,278,,,,278,,,,,,,,',
493
+ ',,,278,278,,,,,,,,,,,,278,278,278,278,219,219,219,219,,219,219,219,',
494
+ '219,,219,219,,,,,,,219,219,219,,,,219,,,,,,,,,,,,219,219,,,,,,,,,,,',
495
+ '219,219,219,219' ]
496
+ racc_action_check = arr = ::Array.new(6830, nil)
491
497
  idx = 0
492
498
  clist.each do |str|
493
499
  str.split(',', -1).each do |i|
@@ -497,200 +503,202 @@ clist = [
497
503
  end
498
504
 
499
505
  racc_action_pointer = [
500
- -2, 330, nil, nil, 118, 314, nil, 173, 316, 5605,
501
- 466, 526, 82, nil, nil, 646, 706, 766, 826, nil,
506
+ -2, 358, nil, nil, 118, 330, nil, 173, 332, 6397,
507
+ 466, 526, 237, nil, nil, 670, 730, 790, 850, nil,
502
508
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
503
509
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
504
- 253, 291, 1054, 1114, 1174, 9, 935, nil, nil, nil,
505
- nil, nil, 1378, 1438, 1522, nil, nil, nil, nil, nil,
506
- 1582, nil, 221, 215, nil, 1762, nil, nil, 6, 1882,
507
- 266, 2002, 2062, 2122, 2182, 2242, 2302, 2362, 2422, 2482,
508
- 2566, 2626, 2686, 2746, 2806, 2866, 2926, 2986, 3046, 3106,
509
- 3166, 3226, 3286, 3346, 3406, 3466, 3526, 3586, 3646, 3706,
510
- 3766, 235, 266, 3946, 4006, 265, 264, 4186, 232, nil,
511
- nil, nil, nil, nil, 1526, 68, 2564, 998, 222, nil,
512
- 236, 210, 4774, 5558, nil, 5501, 5444, 218, 207, nil,
513
- 195, nil, nil, nil, nil, nil, nil, nil, 200, nil,
514
- 192, nil, 83, nil, nil, 185, nil, 174, nil, nil,
515
- 170, 4834, 221, 5652, 4510, nil, 132, nil, nil, nil,
516
- nil, 121, 107, 101, 94, 5957, 57, 4126, -1, 75,
517
- 2, 4066, 3886, 3826, nil, nil, 5, 128, 63, 287,
518
- 24, 9, -9, -2, nil, nil, nil, nil, nil, nil,
519
- 5699, 105, 1262, 2, 350, 5793, 6429, 6121, 5937, 5575,
520
- 6051, 6474, 6406, 6361, 6338, 5342, 6096, 6076, 5912, 5865,
521
- 5818, nil, nil, 1318, 27, 213, nil, 6699, 5746, 9,
522
- nil, 174, 169, 5387, nil, 192, nil, 264, nil, nil,
523
- 4714, nil, 282, nil, nil, nil, nil, nil, 271, 215,
524
- -28, 236, -11, nil, 5302, 262, 406, 144, 110, 5418,
525
- -8, 586, 4, 11, nil, 1258, 1702, nil, nil, nil,
526
- nil, 4246, nil, nil, nil, nil, 66, nil, nil, nil,
527
- nil, 73, 79, 6537, 96, 6591, 4306, 4366, 4426, nil,
528
- 4894, 4954, 143, nil, 139, nil, 157, nil, 171, nil,
529
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
530
- nil, nil, nil, 176, 4570, 6645, 190, nil, 188, nil,
531
- 194, 198, nil, 138, 90, 5218, nil, nil, 5158, 5098,
532
- nil, 216, 116, 223, 203, 0, 5038, nil, 4630, 238,
533
- nil, 5746, nil, nil, nil, nil, nil, nil, nil, nil,
534
- nil, 179, 57, 241, nil, nil, 6004, 6497, 6197, 6244,
535
- 6291, 267, 1942, 209, 272, nil, nil, 270, 1822, nil,
536
- nil, nil, 258, nil, nil, nil, 6150, 18, -15, nil,
537
- 1642, 295, 276, nil, 301, 305, nil, nil, 306, nil,
538
- nil, 994, nil, nil, nil, 310, 280, nil, nil, nil,
539
- nil, nil, 313, nil, nil, nil, nil, 910, nil, 346,
540
- 178, nil, 319, nil, nil, 58, nil, 323, nil, 324,
541
- nil, 325, nil, nil, nil, 296, nil, nil, nil, nil ]
510
+ nil, 245, 283, 1030, 1090, 1150, 9, 4979, 82, nil,
511
+ nil, nil, nil, 1390, 1450, 1534, nil, nil, nil, nil,
512
+ nil, 1594, nil, 204, 206, nil, 1798, nil, nil, 276,
513
+ 1918, 260, 2038, 2098, 2158, 2218, 2278, 2338, 2398, 2458,
514
+ 2518, 2602, 2662, 2722, 2782, 2842, 2902, 2962, 3022, 3082,
515
+ 3142, 3202, 3262, 3322, 3382, 3442, 3502, 3562, 3622, 3682,
516
+ 3742, 3802, 216, 240, 3982, 4042, 236, 211, 4246, 187,
517
+ nil, nil, nil, nil, nil, 2600, 238, 1538, 1742, 118,
518
+ nil, 129, 264, 4786, 5548, nil, 5491, 5434, 63, 66,
519
+ nil, 36, nil, nil, nil, nil, nil, nil, -14, nil,
520
+ 117, nil, 140, nil, 90, nil, nil, 197, nil, 144,
521
+ nil, nil, 170, 1978, 80, 5790, 1738, nil, 270, nil,
522
+ nil, nil, nil, 283, 301, 305, 320, 6084, 329, 1654,
523
+ -9, 2, 5, 1330, 970, 406, nil, nil, 9, 188,
524
+ 128, 5465, 210, 24, -1, -2, nil, nil, nil, nil,
525
+ nil, nil, 6535, 83, 614, 2, 350, 6582, 6512, 5908,
526
+ 5619, 6320, 6467, 6444, 6246, 6229, 6175, 6101, 6030, 6010,
527
+ 5985, 5938, 5891, nil, nil, 1858, 268, 196, nil, 6744,
528
+ 5649, 206, nil, 212, 188, 5602, nil, 173, nil, 268,
529
+ nil, nil, 4870, nil, 186, nil, nil, nil, nil, nil,
530
+ 181, 150, -28, 149, -11, nil, 4954, 5038, 5302, 109,
531
+ 72, 287, -8, -3, 5362, 11, 32, nil, 5242, 5158,
532
+ nil, nil, nil, nil, 5098, nil, nil, nil, nil, 80,
533
+ nil, nil, nil, nil, 92, 96, 6636, 103, 6690, 4726,
534
+ 4666, 4606, nil, 4546, 4486, 153, nil, 143, nil, 165,
535
+ nil, 167, nil, nil, nil, nil, nil, nil, nil, nil,
536
+ nil, nil, nil, nil, nil, nil, 173, 4426, 6579, 189,
537
+ nil, 68, nil, 192, 197, nil, 137, 90, 4366, nil,
538
+ nil, 4306, 4186, nil, 216, -15, 222, 200, 0, 4126,
539
+ nil, 3922, 241, nil, 4895, nil, nil, 3862, nil, nil,
540
+ nil, nil, nil, nil, nil, 187, -11, 257, nil, nil,
541
+ 5696, 5743, 5837, 6158, 6303, 272, 1270, 213, 275, nil,
542
+ nil, 278, 1210, nil, nil, nil, 270, nil, nil, nil,
543
+ 6350, 18, 52, nil, 910, 311, 289, nil, 314, 315,
544
+ nil, nil, 317, nil, nil, 610, nil, 320, nil, nil,
545
+ 323, 292, nil, nil, nil, nil, nil, 328, nil, nil,
546
+ nil, nil, 346, nil, 262, 178, nil, 344, nil, nil,
547
+ nil, 58, nil, 349, nil, 350, nil, 353, nil, nil,
548
+ nil, 322, nil, nil, nil, nil ]
542
549
 
543
550
  racc_action_default = [
544
- -3, -243, -1, -2, -4, -5, -8, -10, -16, -21,
545
- -243, -243, -243, -33, -34, -243, -243, -243, -243, -61,
551
+ -3, -244, -1, -2, -4, -5, -8, -10, -16, -21,
552
+ -244, -244, -244, -33, -34, -244, -244, -244, -244, -61,
546
553
  -62, -63, -64, -65, -66, -67, -68, -69, -70, -71,
547
554
  -72, -73, -74, -75, -76, -77, -78, -79, -80, -81,
548
- -86, -90, -243, -243, -243, -243, -243, -176, -177, -178,
549
- -179, -180, -243, -243, -243, -191, -192, -193, -194, -195,
550
- -243, -197, -243, -210, -213, -243, -218, -219, -243, -243,
551
- -7, -243, -243, -243, -243, -243, -243, -243, -243, -126,
552
- -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
553
- -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
554
- -243, -243, -121, -242, -242, -22, -23, -243, -242, -136,
555
- -157, -158, -159, -160, -46, -243, -47, -54, -243, -87,
556
- -243, -243, -243, -243, -97, -243, -243, -242, -220, -145,
557
- -147, -148, -149, -150, -151, -153, -154, -14, -220, -182,
558
- -220, -184, -243, -187, -188, -243, -196, -243, -201, -204,
559
- -243, -208, -243, -243, -243, 420, -6, -9, -11, -12,
560
- -13, -17, -18, -19, -20, -243, -220, -243, -79, -80,
561
- -81, -231, -237, -225, -127, -130, -243, -228, -226, -234,
562
- -177, -178, -179, -180, -224, -229, -230, -232, -233, -235,
563
- -59, -243, -36, -37, -38, -39, -40, -41, -42, -43,
564
- -44, -45, -48, -49, -50, -51, -52, -53, -55, -56,
565
- -243, -57, -115, -243, -220, -83, -91, -126, -125, -243,
566
- -124, -243, -222, -243, -28, -242, -161, -243, -58, -92,
567
- -243, -95, -220, -164, -166, -167, -168, -169, -171, -243,
568
- -243, -174, -243, -89, -243, -243, -243, -243, -242, -221,
569
- -243, -221, -243, -243, -185, -243, -243, -198, -199, -200,
570
- -202, -243, -205, -206, -207, -209, -220, -211, -214, -216,
571
- -217, -8, -243, -126, -243, -221, -243, -243, -243, -35,
572
- -243, -243, -220, -117, -243, -85, -220, -129, -243, -225,
573
- -226, -227, -228, -231, -234, -236, -237, -238, -239, -240,
574
- -241, -122, -123, -243, -223, -126, -243, -139, -243, -162,
575
- -220, -243, -94, -243, -221, -243, -172, -173, -243, -243,
576
- -88, -243, -100, -243, -106, -243, -243, -110, -242, -243,
577
- -155, -243, -146, -152, -15, -181, -183, -186, -189, -190,
578
- -203, -243, -243, -220, -26, -128, -133, -131, -132, -60,
579
- -119, -243, -221, -82, -243, -25, -29, -220, -242, -140,
580
- -141, -142, -243, -93, -96, -165, -170, -243, -100, -99,
581
- -243, -243, -106, -105, -243, -243, -109, -111, -243, -137,
582
- -138, -243, -156, -212, -215, -243, -30, -116, -118, -84,
583
- -120, -27, -243, -163, -175, -98, -101, -243, -104, -243,
584
- -242, -134, -243, -144, -24, -31, -135, -243, -103, -243,
585
- -108, -243, -113, -114, -143, -222, -102, -107, -112, -32 ]
555
+ -82, -87, -91, -244, -244, -244, -244, -244, -244, -178,
556
+ -179, -180, -181, -244, -244, -244, -192, -193, -194, -195,
557
+ -196, -244, -198, -244, -211, -214, -244, -219, -220, -244,
558
+ -244, -7, -244, -244, -244, -244, -244, -244, -244, -244,
559
+ -127, -244, -244, -244, -244, -244, -244, -244, -244, -244,
560
+ -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
561
+ -244, -244, -244, -122, -243, -243, -22, -23, -244, -243,
562
+ -137, -159, -160, -161, -162, -46, -244, -47, -54, -244,
563
+ -88, -244, -244, -244, -244, -98, -244, -244, -243, -221,
564
+ -146, -148, -149, -150, -151, -152, -154, -155, -243, -14,
565
+ -221, -183, -221, -185, -244, -188, -189, -244, -197, -244,
566
+ -202, -205, -244, -209, -244, -244, -244, 426, -6, -9,
567
+ -11, -12, -13, -17, -18, -19, -20, -244, -221, -244,
568
+ -80, -81, -82, -232, -238, -226, -128, -131, -244, -229,
569
+ -227, -235, -241, -179, -180, -181, -225, -230, -231, -233,
570
+ -234, -236, -59, -244, -36, -37, -38, -39, -40, -41,
571
+ -42, -43, -44, -45, -48, -49, -50, -51, -52, -53,
572
+ -55, -56, -244, -57, -116, -244, -221, -84, -92, -127,
573
+ -126, -244, -125, -244, -223, -244, -28, -243, -163, -244,
574
+ -58, -93, -244, -96, -221, -166, -168, -169, -170, -171,
575
+ -173, -244, -244, -176, -244, -90, -244, -244, -244, -244,
576
+ -243, -222, -244, -244, -222, -244, -244, -186, -244, -244,
577
+ -199, -200, -201, -203, -244, -206, -207, -208, -210, -221,
578
+ -212, -215, -217, -218, -8, -244, -127, -244, -222, -244,
579
+ -244, -244, -35, -244, -244, -221, -118, -244, -86, -221,
580
+ -130, -244, -226, -227, -228, -229, -232, -235, -237, -238,
581
+ -239, -240, -241, -242, -123, -124, -244, -224, -127, -244,
582
+ -140, -244, -164, -221, -244, -95, -244, -222, -244, -174,
583
+ -175, -244, -244, -89, -244, -101, -244, -107, -244, -244,
584
+ -111, -243, -244, -156, -244, -147, -153, -243, -15, -182,
585
+ -184, -187, -190, -191, -204, -244, -244, -221, -26, -129,
586
+ -134, -132, -133, -60, -120, -244, -222, -83, -244, -25,
587
+ -29, -221, -243, -141, -142, -143, -244, -94, -97, -167,
588
+ -172, -244, -101, -100, -244, -244, -107, -106, -244, -244,
589
+ -110, -112, -244, -138, -139, -244, -157, -244, -213, -216,
590
+ -244, -30, -117, -119, -85, -121, -27, -244, -165, -177,
591
+ -99, -102, -244, -105, -244, -243, -135, -244, -145, -158,
592
+ -24, -31, -136, -244, -104, -244, -109, -244, -114, -115,
593
+ -144, -223, -103, -108, -113, -32 ]
586
594
 
587
595
  racc_goto_table = [
588
- 2, 114, 116, 117, 119, 118, 226, 222, 127, 131,
589
- 133, 191, 212, 146, 166, 268, 303, 332, 241, 232,
590
- 327, 70, 378, 411, 248, 226, 225, 326, 123, 125,
591
- 126, 219, 221, 282, 252, 396, 253, 105, 106, 137,
592
- 137, 145, 369, 138, 140, 247, 373, 148, 345, 241,
593
- 266, 153, 392, 229, 211, 356, 306, 359, 157, 158,
594
- 159, 160, 274, 329, 385, 165, 190, 192, 193, 194,
595
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
596
- 205, 206, 207, 208, 209, 210, 156, 137, 395, 218,
597
- 218, 214, 333, 223, 398, 365, 317, 316, 338, 382,
598
- 377, 262, 161, 162, 163, 164, 263, 3, 260, 137,
599
- 284, 261, 259, 242, 149, 151, 264, 1, nil, nil,
600
- nil, nil, nil, 307, 241, 310, 283, nil, 313, nil,
601
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
602
- 127, 271, 131, 133, nil, nil, 330, nil, nil, nil,
603
- nil, 265, 286, 116, 272, nil, nil, 123, 125, 126,
604
- nil, nil, 341, nil, nil, nil, nil, nil, nil, nil,
605
- nil, nil, nil, nil, nil, nil, nil, nil, 351, 285,
606
- nil, nil, 354, nil, nil, nil, nil, nil, nil, nil,
607
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 210,
608
- nil, nil, nil, nil, 384, nil, 362, nil, 343, 419,
609
- nil, 241, 131, 133, 340, nil, nil, nil, nil, nil,
610
- nil, nil, nil, nil, nil, nil, 380, nil, nil, nil,
611
- 311, nil, 190, nil, nil, nil, nil, nil, 334, 386,
612
- 357, nil, 145, 339, 321, 323, nil, nil, 148, 367,
613
- nil, nil, nil, 391, nil, nil, 380, nil, nil, nil,
614
- nil, nil, 346, 347, 348, 388, 349, 350, nil, nil,
615
- nil, 360, nil, nil, nil, nil, nil, nil, nil, nil,
596
+ 2, 115, 117, 118, 120, 224, 214, 132, 134, 168,
597
+ 193, 128, 148, 138, 377, 243, 222, 222, 271, 306,
598
+ 330, 335, 234, 250, 227, 417, 71, 221, 223, 124,
599
+ 126, 127, 329, 285, 255, 401, 256, 349, 231, 140,
600
+ 142, 373, 213, 249, 360, 309, 363, 243, 332, 390,
601
+ 336, 369, 155, 253, 269, 320, 319, 106, 107, 342,
602
+ 119, 265, 277, 403, 266, 3, 167, 192, 194, 195,
603
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
604
+ 206, 207, 208, 209, 210, 211, 212, 216, 400, 263,
605
+ 220, 220, 158, 264, 225, 139, 139, 147, 262, 382,
606
+ 151, 381, 153, 150, 386, 387, 267, 1, nil, 244,
607
+ 287, nil, nil, nil, 159, 160, 161, 162, nil, nil,
608
+ nil, 286, 243, 163, 164, 165, 166, nil, 316, 313,
609
+ 397, nil, nil, nil, nil, nil, nil, nil, nil, 310,
610
+ nil, 132, 134, 139, 128, nil, nil, 138, 289, nil,
611
+ nil, nil, nil, 268, nil, 117, 275, nil, nil, 124,
612
+ 126, 127, 333, 345, nil, 139, nil, nil, nil, nil,
613
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 355,
614
+ 288, nil, nil, 358, nil, nil, nil, nil, nil, nil,
615
+ nil, nil, nil, nil, nil, nil, nil, nil, 274, nil,
616
+ nil, 212, nil, nil, nil, 347, nil, 366, nil, 389,
617
+ 243, 132, 134, nil, nil, 344, 425, nil, nil, nil,
616
618
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
617
- 223, nil, nil, nil, 131, 133, nil, nil, 412, nil,
618
- nil, 366, nil, nil, 190, 415, 334, nil, nil, nil,
619
- nil, nil, 190, nil, nil, nil, nil, 389, nil, nil,
619
+ nil, nil, 314, nil, 192, nil, nil, 361, nil, nil,
620
+ nil, 391, nil, 384, nil, nil, 324, 326, nil, 384,
621
+ 371, nil, nil, nil, nil, 396, nil, nil, nil, nil,
622
+ nil, nil, 393, nil, nil, 350, 351, 352, nil, 353,
623
+ 354, nil, nil, nil, 384, nil, 364, nil, nil, nil,
620
624
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
621
- nil, nil, nil, nil, nil, nil, nil, nil, 210, nil,
625
+ nil, nil, nil, 225, 132, 134, 338, nil, nil, nil,
626
+ 147, 343, nil, nil, 370, nil, 150, 192, 421, nil,
627
+ nil, nil, nil, nil, nil, 192, nil, 418, nil, nil,
628
+ 394, nil, nil, nil, nil, nil, nil, nil, nil, nil,
622
629
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
623
- nil, nil, nil, nil, nil, nil, 123, nil, nil, nil,
630
+ nil, nil, 212, nil, nil, nil, nil, nil, nil, nil,
624
631
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
632
+ 124, nil, nil, nil, 338, nil, nil, nil, nil, nil,
625
633
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
626
- nil, 402, nil, nil, nil, nil, nil, nil, nil, nil,
627
- nil, 223, nil, nil, nil, nil, nil, 407, nil, 409,
628
- 413 ]
634
+ nil, nil, nil, nil, nil, 407, nil, nil, nil, nil,
635
+ nil, nil, nil, nil, nil, nil, nil, 225, nil, nil,
636
+ nil, nil, 413, nil, 415, 419 ]
629
637
 
630
638
  racc_goto_check = [
631
- 2, 10, 10, 10, 37, 6, 49, 13, 57, 35,
632
- 34, 19, 50, 80, 11, 88, 14, 65, 36, 42,
633
- 47, 5, 59, 48, 15, 49, 58, 46, 10, 10,
634
- 10, 53, 53, 51, 15, 43, 15, 9, 9, 6,
635
- 6, 6, 44, 8, 8, 58, 45, 6, 54, 36,
636
- 42, 10, 59, 41, 20, 16, 61, 62, 6, 6,
637
- 6, 6, 15, 64, 12, 10, 10, 10, 10, 10,
639
+ 2, 10, 10, 10, 38, 13, 51, 36, 35, 11,
640
+ 19, 58, 81, 58, 46, 37, 50, 50, 89, 14,
641
+ 48, 66, 43, 15, 59, 49, 5, 54, 54, 10,
642
+ 10, 10, 47, 52, 15, 44, 15, 55, 42, 8,
643
+ 8, 45, 20, 59, 16, 62, 63, 37, 65, 12,
644
+ 68, 69, 10, 59, 43, 70, 72, 9, 9, 76,
645
+ 6, 77, 15, 46, 78, 3, 10, 10, 10, 10,
638
646
  10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
639
- 10, 10, 10, 10, 10, 10, 5, 6, 44, 10,
640
- 10, 8, 67, 10, 45, 68, 69, 71, 75, 65,
641
- 47, 76, 9, 9, 9, 9, 77, 3, 81, 6,
642
- 15, 82, 84, 8, 85, 86, 87, 1, nil, nil,
643
- nil, nil, nil, 49, 36, 42, 50, nil, 15, nil,
647
+ 10, 10, 10, 10, 10, 10, 10, 8, 45, 82,
648
+ 10, 10, 5, 83, 10, 6, 6, 6, 85, 60,
649
+ 86, 48, 87, 6, 66, 60, 88, 1, nil, 8,
650
+ 15, nil, nil, nil, 6, 6, 6, 6, nil, nil,
651
+ nil, 51, 37, 9, 9, 9, 9, nil, 15, 43,
652
+ 60, nil, nil, nil, nil, nil, nil, nil, nil, 50,
653
+ nil, 36, 35, 6, 58, nil, nil, 58, 11, nil,
654
+ nil, nil, nil, 2, nil, 10, 2, nil, nil, 10,
655
+ 10, 10, 50, 15, nil, 6, nil, nil, nil, nil,
656
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 15,
657
+ 38, nil, nil, 15, nil, nil, nil, nil, nil, nil,
658
+ nil, nil, nil, nil, nil, nil, nil, nil, 6, nil,
659
+ nil, 10, nil, nil, nil, 11, nil, 15, nil, 89,
660
+ 37, 36, 35, nil, nil, 81, 14, nil, nil, nil,
644
661
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
645
- 57, 6, 35, 34, nil, nil, 49, nil, nil, nil,
646
- nil, 2, 11, 10, 2, nil, nil, 10, 10, 10,
647
- nil, nil, 15, nil, nil, nil, nil, nil, nil, nil,
648
- nil, nil, nil, nil, nil, nil, nil, nil, 15, 37,
649
- nil, nil, 15, nil, nil, nil, nil, nil, nil, nil,
650
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 10,
651
- nil, nil, nil, nil, 88, nil, 15, nil, 11, 14,
652
- nil, 36, 35, 34, 80, nil, nil, nil, nil, nil,
653
- nil, nil, nil, nil, nil, nil, 49, nil, nil, nil,
654
- 2, nil, 10, nil, nil, nil, nil, nil, 6, 15,
655
- 11, nil, 6, 6, 2, 2, nil, nil, 6, 19,
656
- nil, nil, nil, 15, nil, nil, 49, nil, nil, nil,
657
- nil, nil, 10, 10, 10, 50, 10, 10, nil, nil,
658
- nil, 57, nil, nil, nil, nil, nil, nil, nil, nil,
662
+ nil, nil, 2, nil, 10, nil, nil, 11, nil, nil,
663
+ nil, 15, nil, 50, nil, nil, 2, 2, nil, 50,
664
+ 19, nil, nil, nil, nil, 15, nil, nil, nil, nil,
665
+ nil, nil, 51, nil, nil, 10, 10, 10, nil, 10,
666
+ 10, nil, nil, nil, 50, nil, 58, nil, nil, nil,
659
667
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
660
- 10, nil, nil, nil, 35, 34, nil, nil, 49, nil,
661
- nil, 10, nil, nil, 10, 13, 6, nil, nil, nil,
662
- nil, nil, 10, nil, nil, nil, nil, 37, nil, nil,
668
+ nil, nil, nil, 10, 36, 35, 6, nil, nil, nil,
669
+ 6, 6, nil, nil, 10, nil, 6, 10, 13, nil,
670
+ nil, nil, nil, nil, nil, 10, nil, 50, nil, nil,
671
+ 38, nil, nil, nil, nil, nil, nil, nil, nil, nil,
663
672
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
664
- nil, nil, nil, nil, nil, nil, nil, nil, 10, nil,
673
+ nil, nil, 10, nil, nil, nil, nil, nil, nil, nil,
665
674
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
666
- nil, nil, nil, nil, nil, nil, 10, nil, nil, nil,
675
+ 10, nil, nil, nil, 6, nil, nil, nil, nil, nil,
667
676
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
668
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
669
- nil, 2, nil, nil, nil, nil, nil, nil, nil, nil,
670
- nil, 10, nil, nil, nil, nil, nil, 2, nil, 2,
671
- 2 ]
677
+ nil, nil, nil, nil, nil, 2, nil, nil, nil, nil,
678
+ nil, nil, nil, nil, nil, nil, nil, 10, nil, nil,
679
+ nil, nil, 2, nil, 2, 2 ]
672
680
 
673
681
  racc_goto_pointer = [
674
- nil, 117, 0, 107, nil, 17, -13, nil, -9, 27,
675
- -14, -65, -279, -100, -206, -104, -249, nil, nil, -69,
676
- -45, nil, nil, nil, nil, nil, nil, nil, nil, nil,
677
- nil, nil, nil, nil, -36, -37, -103, -36, nil, nil,
678
- nil, -67, -102, -335, -280, -278, -219, -226, -377, -102,
679
- -87, -180, nil, -72, -227, nil, nil, -37, -82, -306,
680
- nil, -169, -251, nil, -185, -232, nil, -158, -219, -144,
681
- nil, -142, nil, nil, nil, -157, -49, -44, nil, nil,
682
- -47, -39, -36, nil, -35, 52, 52, -35, -138 ]
682
+ nil, 107, 0, 65, nil, 22, 42, nil, -14, 47,
683
+ -14, -71, -298, -103, -205, -106, -263, nil, nil, -71,
684
+ -58, nil, nil, nil, nil, nil, nil, nil, nil, nil,
685
+ nil, nil, nil, nil, nil, -39, -40, -107, -37, nil,
686
+ nil, nil, -83, -100, -339, -284, -313, -216, -228, -380,
687
+ -88, -94, -182, nil, -77, -241, nil, nil, -35, -85,
688
+ -232, nil, -182, -265, nil, -202, -230, nil, -202, -266,
689
+ -187, nil, -185, nil, nil, nil, -199, -91, -88, nil,
690
+ nil, -49, -60, -56, nil, -51, 37, 38, -47, -137 ]
683
691
 
684
692
  racc_goto_default = [
685
- nil, nil, 379, nil, 4, 5, 6, 7, nil, 8,
686
- 9, nil, nil, nil, nil, nil, 224, 13, 14, 325,
693
+ nil, nil, 383, nil, 4, 5, 6, 7, nil, 8,
694
+ 9, nil, nil, nil, nil, nil, 226, 13, 14, 328,
687
695
  nil, 19, 20, 21, 22, 23, 24, 25, 26, 27,
688
- 28, 29, 30, 31, 32, 33, 34, nil, 40, 41,
689
- 120, nil, nil, 124, nil, nil, nil, nil, nil, 220,
690
- nil, nil, 102, nil, 174, 176, 175, 109, nil, nil,
691
- 108, nil, nil, 128, nil, 129, 130, 134, 233, 234,
692
- 235, 236, 237, 240, 142, 144, 55, 56, 57, 60,
693
- nil, nil, nil, 147, nil, nil, nil, nil, nil ]
696
+ 28, 29, 30, 31, 32, 33, 34, 35, nil, 41,
697
+ 42, 121, nil, nil, 125, nil, nil, nil, nil, nil,
698
+ 228, nil, nil, 103, nil, 176, 178, 177, 110, nil,
699
+ nil, 109, nil, nil, 129, nil, 130, 131, 135, 235,
700
+ 236, 237, 238, 239, 242, 144, 146, 56, 57, 58,
701
+ 61, nil, nil, nil, 149, nil, nil, nil, nil, nil ]
694
702
 
695
703
  racc_reduce_table = [
696
704
  0, 0, :racc_error,
@@ -770,176 +778,177 @@ racc_reduce_table = [
770
778
  1, 108, :_reduce_none,
771
779
  1, 108, :_reduce_none,
772
780
  1, 108, :_reduce_none,
773
- 1, 108, :_reduce_77,
781
+ 1, 108, :_reduce_none,
774
782
  1, 108, :_reduce_78,
775
783
  1, 108, :_reduce_79,
776
784
  1, 108, :_reduce_80,
777
785
  1, 108, :_reduce_81,
778
- 5, 109, :_reduce_82,
779
- 3, 109, :_reduce_83,
780
- 6, 109, :_reduce_84,
781
- 4, 109, :_reduce_85,
782
- 1, 113, :_reduce_86,
783
- 2, 113, :_reduce_87,
784
- 4, 129, :_reduce_88,
785
- 3, 129, :_reduce_89,
786
- 1, 129, :_reduce_90,
787
- 3, 130, :_reduce_91,
788
- 2, 128, :_reduce_92,
789
- 3, 132, :_reduce_93,
790
- 2, 132, :_reduce_94,
791
- 2, 131, :_reduce_95,
792
- 4, 131, :_reduce_96,
793
- 2, 116, :_reduce_97,
794
- 5, 134, :_reduce_98,
795
- 4, 134, :_reduce_99,
796
- 0, 135, :_reduce_none,
797
- 2, 135, :_reduce_101,
798
- 4, 135, :_reduce_102,
799
- 3, 135, :_reduce_103,
800
- 6, 117, :_reduce_104,
801
- 5, 117, :_reduce_105,
786
+ 1, 108, :_reduce_82,
787
+ 5, 109, :_reduce_83,
788
+ 3, 109, :_reduce_84,
789
+ 6, 109, :_reduce_85,
790
+ 4, 109, :_reduce_86,
791
+ 1, 113, :_reduce_87,
792
+ 2, 113, :_reduce_88,
793
+ 4, 130, :_reduce_89,
794
+ 3, 130, :_reduce_90,
795
+ 1, 130, :_reduce_91,
796
+ 3, 131, :_reduce_92,
797
+ 2, 129, :_reduce_93,
798
+ 3, 133, :_reduce_94,
799
+ 2, 133, :_reduce_95,
800
+ 2, 132, :_reduce_96,
801
+ 4, 132, :_reduce_97,
802
+ 2, 116, :_reduce_98,
803
+ 5, 135, :_reduce_99,
804
+ 4, 135, :_reduce_100,
802
805
  0, 136, :_reduce_none,
803
- 4, 136, :_reduce_107,
804
- 3, 136, :_reduce_108,
805
- 5, 115, :_reduce_109,
806
- 1, 137, :_reduce_110,
807
- 2, 137, :_reduce_111,
808
- 5, 138, :_reduce_112,
809
- 1, 139, :_reduce_none,
810
- 1, 139, :_reduce_none,
806
+ 2, 136, :_reduce_102,
807
+ 4, 136, :_reduce_103,
808
+ 3, 136, :_reduce_104,
809
+ 6, 117, :_reduce_105,
810
+ 5, 117, :_reduce_106,
811
+ 0, 137, :_reduce_none,
812
+ 4, 137, :_reduce_108,
813
+ 3, 137, :_reduce_109,
814
+ 5, 115, :_reduce_110,
815
+ 1, 138, :_reduce_111,
816
+ 2, 138, :_reduce_112,
817
+ 5, 139, :_reduce_113,
818
+ 1, 140, :_reduce_none,
819
+ 1, 140, :_reduce_none,
811
820
  1, 111, :_reduce_none,
812
- 4, 111, :_reduce_116,
813
- 1, 142, :_reduce_117,
814
- 3, 142, :_reduce_118,
815
- 3, 141, :_reduce_119,
816
- 6, 114, :_reduce_120,
817
- 2, 114, :_reduce_121,
818
- 3, 143, :_reduce_122,
819
- 3, 143, :_reduce_123,
820
- 1, 144, :_reduce_none,
821
- 1, 144, :_reduce_none,
822
- 0, 102, :_reduce_126,
823
- 1, 102, :_reduce_127,
824
- 3, 102, :_reduce_128,
825
- 1, 146, :_reduce_none,
826
- 1, 146, :_reduce_none,
827
- 3, 145, :_reduce_131,
828
- 3, 145, :_reduce_132,
829
- 3, 145, :_reduce_133,
830
- 6, 118, :_reduce_134,
831
- 7, 119, :_reduce_135,
832
- 1, 151, :_reduce_136,
833
- 1, 150, :_reduce_none,
834
- 1, 150, :_reduce_none,
835
- 1, 152, :_reduce_none,
836
- 2, 152, :_reduce_140,
837
- 1, 153, :_reduce_none,
821
+ 4, 111, :_reduce_117,
822
+ 1, 143, :_reduce_118,
823
+ 3, 143, :_reduce_119,
824
+ 3, 142, :_reduce_120,
825
+ 6, 114, :_reduce_121,
826
+ 2, 114, :_reduce_122,
827
+ 3, 144, :_reduce_123,
828
+ 3, 144, :_reduce_124,
829
+ 1, 145, :_reduce_none,
830
+ 1, 145, :_reduce_none,
831
+ 0, 102, :_reduce_127,
832
+ 1, 102, :_reduce_128,
833
+ 3, 102, :_reduce_129,
834
+ 1, 147, :_reduce_none,
835
+ 1, 147, :_reduce_none,
836
+ 3, 146, :_reduce_132,
837
+ 3, 146, :_reduce_133,
838
+ 3, 146, :_reduce_134,
839
+ 6, 118, :_reduce_135,
840
+ 7, 119, :_reduce_136,
841
+ 1, 152, :_reduce_137,
842
+ 1, 151, :_reduce_none,
843
+ 1, 151, :_reduce_none,
838
844
  1, 153, :_reduce_none,
839
- 7, 120, :_reduce_143,
840
- 6, 120, :_reduce_144,
841
- 1, 154, :_reduce_145,
842
- 3, 154, :_reduce_146,
843
- 1, 156, :_reduce_none,
844
- 1, 156, :_reduce_none,
845
- 1, 156, :_reduce_149,
846
- 1, 156, :_reduce_none,
847
- 1, 157, :_reduce_151,
848
- 3, 157, :_reduce_152,
849
- 1, 158, :_reduce_none,
850
- 1, 158, :_reduce_none,
851
- 1, 155, :_reduce_none,
852
- 2, 155, :_reduce_156,
853
- 1, 148, :_reduce_none,
854
- 1, 148, :_reduce_none,
855
- 1, 148, :_reduce_none,
856
- 1, 148, :_reduce_160,
857
- 1, 149, :_reduce_161,
858
- 2, 149, :_reduce_162,
859
- 4, 149, :_reduce_163,
860
- 1, 133, :_reduce_164,
861
- 3, 133, :_reduce_165,
845
+ 2, 153, :_reduce_141,
846
+ 1, 154, :_reduce_none,
847
+ 1, 154, :_reduce_none,
848
+ 7, 120, :_reduce_144,
849
+ 6, 120, :_reduce_145,
850
+ 1, 155, :_reduce_146,
851
+ 3, 155, :_reduce_147,
852
+ 1, 157, :_reduce_none,
853
+ 1, 157, :_reduce_none,
854
+ 1, 157, :_reduce_150,
855
+ 1, 157, :_reduce_none,
856
+ 1, 158, :_reduce_152,
857
+ 3, 158, :_reduce_153,
862
858
  1, 159, :_reduce_none,
863
859
  1, 159, :_reduce_none,
860
+ 1, 156, :_reduce_none,
861
+ 2, 156, :_reduce_157,
862
+ 6, 122, :_reduce_158,
863
+ 1, 149, :_reduce_none,
864
+ 1, 149, :_reduce_none,
865
+ 1, 149, :_reduce_none,
866
+ 1, 149, :_reduce_162,
867
+ 1, 150, :_reduce_163,
868
+ 2, 150, :_reduce_164,
869
+ 4, 150, :_reduce_165,
870
+ 1, 134, :_reduce_166,
871
+ 3, 134, :_reduce_167,
864
872
  1, 160, :_reduce_none,
865
873
  1, 160, :_reduce_none,
866
- 3, 162, :_reduce_170,
867
- 1, 162, :_reduce_171,
868
- 2, 163, :_reduce_172,
869
- 2, 161, :_reduce_173,
870
- 1, 164, :_reduce_174,
871
- 4, 164, :_reduce_175,
872
- 1, 112, :_reduce_176,
873
- 1, 122, :_reduce_177,
874
- 1, 122, :_reduce_178,
875
- 1, 122, :_reduce_179,
876
- 1, 122, :_reduce_180,
877
- 4, 123, :_reduce_181,
878
- 2, 123, :_reduce_182,
879
- 4, 123, :_reduce_183,
880
- 2, 123, :_reduce_184,
881
- 3, 124, :_reduce_185,
882
- 4, 124, :_reduce_186,
883
- 2, 124, :_reduce_187,
884
- 1, 165, :_reduce_188,
885
- 3, 165, :_reduce_189,
874
+ 1, 161, :_reduce_none,
875
+ 1, 161, :_reduce_none,
876
+ 3, 163, :_reduce_172,
877
+ 1, 163, :_reduce_173,
878
+ 2, 164, :_reduce_174,
879
+ 2, 162, :_reduce_175,
880
+ 1, 165, :_reduce_176,
881
+ 4, 165, :_reduce_177,
882
+ 1, 112, :_reduce_178,
883
+ 1, 123, :_reduce_179,
884
+ 1, 123, :_reduce_180,
885
+ 1, 123, :_reduce_181,
886
+ 4, 124, :_reduce_182,
887
+ 2, 124, :_reduce_183,
888
+ 4, 124, :_reduce_184,
889
+ 2, 124, :_reduce_185,
890
+ 3, 125, :_reduce_186,
891
+ 4, 125, :_reduce_187,
892
+ 2, 125, :_reduce_188,
893
+ 1, 166, :_reduce_189,
886
894
  3, 166, :_reduce_190,
887
- 1, 126, :_reduce_none,
888
- 1, 126, :_reduce_none,
889
- 1, 126, :_reduce_none,
890
- 1, 167, :_reduce_194,
891
- 1, 167, :_reduce_195,
892
- 2, 168, :_reduce_196,
893
- 1, 170, :_reduce_197,
894
- 1, 172, :_reduce_198,
895
+ 3, 167, :_reduce_191,
896
+ 1, 127, :_reduce_none,
897
+ 1, 127, :_reduce_none,
898
+ 1, 127, :_reduce_none,
899
+ 1, 168, :_reduce_195,
900
+ 1, 168, :_reduce_196,
901
+ 2, 169, :_reduce_197,
902
+ 1, 171, :_reduce_198,
895
903
  1, 173, :_reduce_199,
896
- 2, 171, :_reduce_200,
897
- 1, 174, :_reduce_201,
904
+ 1, 174, :_reduce_200,
905
+ 2, 172, :_reduce_201,
898
906
  1, 175, :_reduce_202,
899
- 2, 175, :_reduce_203,
900
- 2, 169, :_reduce_204,
901
- 2, 176, :_reduce_205,
902
- 2, 176, :_reduce_206,
903
- 3, 94, :_reduce_207,
904
- 0, 178, :_reduce_none,
905
- 1, 178, :_reduce_none,
906
- 0, 177, :_reduce_210,
907
- 2, 177, :_reduce_211,
908
- 4, 177, :_reduce_212,
909
- 1, 121, :_reduce_213,
910
- 3, 121, :_reduce_214,
911
- 5, 121, :_reduce_215,
912
- 1, 179, :_reduce_none,
907
+ 1, 176, :_reduce_203,
908
+ 2, 176, :_reduce_204,
909
+ 2, 170, :_reduce_205,
910
+ 2, 177, :_reduce_206,
911
+ 2, 177, :_reduce_207,
912
+ 3, 94, :_reduce_208,
913
+ 0, 179, :_reduce_none,
913
914
  1, 179, :_reduce_none,
914
- 1, 127, :_reduce_218,
915
- 1, 125, :_reduce_219,
915
+ 0, 178, :_reduce_211,
916
+ 2, 178, :_reduce_212,
917
+ 4, 178, :_reduce_213,
918
+ 1, 121, :_reduce_214,
919
+ 3, 121, :_reduce_215,
920
+ 5, 121, :_reduce_216,
921
+ 1, 180, :_reduce_none,
922
+ 1, 180, :_reduce_none,
923
+ 1, 128, :_reduce_219,
924
+ 1, 126, :_reduce_220,
916
925
  0, 106, :_reduce_none,
917
- 1, 106, :_reduce_221,
926
+ 1, 106, :_reduce_222,
918
927
  0, 105, :_reduce_none,
919
928
  1, 105, :_reduce_none,
920
- 1, 147, :_reduce_none,
921
- 1, 147, :_reduce_none,
922
- 1, 147, :_reduce_none,
923
- 1, 147, :_reduce_none,
924
- 1, 147, :_reduce_none,
925
- 1, 147, :_reduce_none,
926
- 1, 147, :_reduce_none,
927
- 1, 147, :_reduce_none,
928
- 1, 147, :_reduce_none,
929
- 1, 147, :_reduce_none,
930
- 1, 147, :_reduce_none,
931
- 1, 147, :_reduce_none,
932
- 1, 147, :_reduce_none,
933
- 1, 147, :_reduce_none,
934
- 1, 147, :_reduce_none,
935
- 1, 147, :_reduce_none,
936
- 1, 147, :_reduce_none,
937
- 1, 147, :_reduce_none,
938
- 0, 140, :_reduce_242 ]
929
+ 1, 148, :_reduce_none,
930
+ 1, 148, :_reduce_none,
931
+ 1, 148, :_reduce_none,
932
+ 1, 148, :_reduce_none,
933
+ 1, 148, :_reduce_none,
934
+ 1, 148, :_reduce_none,
935
+ 1, 148, :_reduce_none,
936
+ 1, 148, :_reduce_none,
937
+ 1, 148, :_reduce_none,
938
+ 1, 148, :_reduce_none,
939
+ 1, 148, :_reduce_none,
940
+ 1, 148, :_reduce_none,
941
+ 1, 148, :_reduce_none,
942
+ 1, 148, :_reduce_none,
943
+ 1, 148, :_reduce_none,
944
+ 1, 148, :_reduce_none,
945
+ 1, 148, :_reduce_none,
946
+ 1, 148, :_reduce_none,
947
+ 0, 141, :_reduce_243 ]
939
948
 
940
- racc_reduce_n = 243
949
+ racc_reduce_n = 244
941
950
 
942
- racc_shift_n = 420
951
+ racc_shift_n = 426
943
952
 
944
953
  racc_token_table = {
945
954
  false => 0,
@@ -1177,6 +1186,7 @@ Racc_token_to_s_table = [
1177
1186
  "hostclass_expression",
1178
1187
  "node_definition_expression",
1179
1188
  "epp_render_expression",
1189
+ "function_definition",
1180
1190
  "reserved_word",
1181
1191
  "array",
1182
1192
  "hash",
@@ -1242,63 +1252,63 @@ Racc_debug_parser = false
1242
1252
 
1243
1253
  # reduce 0 omitted
1244
1254
 
1245
- module_eval(<<'.,.,', 'egrammar.ra', 65)
1255
+ module_eval(<<'.,.,', 'egrammar.ra', 66)
1246
1256
  def _reduce_1(val, _values, result)
1247
1257
  result = create_program(Factory.block_or_expression(*val[0]))
1248
1258
  result
1249
1259
  end
1250
1260
  .,.,
1251
1261
 
1252
- module_eval(<<'.,.,', 'egrammar.ra', 66)
1262
+ module_eval(<<'.,.,', 'egrammar.ra', 67)
1253
1263
  def _reduce_2(val, _values, result)
1254
1264
  result = create_program(Factory.block_or_expression(*val[0]))
1255
1265
  result
1256
1266
  end
1257
1267
  .,.,
1258
1268
 
1259
- module_eval(<<'.,.,', 'egrammar.ra', 67)
1269
+ module_eval(<<'.,.,', 'egrammar.ra', 68)
1260
1270
  def _reduce_3(val, _values, result)
1261
1271
  result = create_empty_program()
1262
1272
  result
1263
1273
  end
1264
1274
  .,.,
1265
1275
 
1266
- module_eval(<<'.,.,', 'egrammar.ra', 71)
1276
+ module_eval(<<'.,.,', 'egrammar.ra', 72)
1267
1277
  def _reduce_4(val, _values, result)
1268
1278
  result = transform_calls(val[0])
1269
1279
  result
1270
1280
  end
1271
1281
  .,.,
1272
1282
 
1273
- module_eval(<<'.,.,', 'egrammar.ra', 78)
1283
+ module_eval(<<'.,.,', 'egrammar.ra', 79)
1274
1284
  def _reduce_5(val, _values, result)
1275
1285
  result = [val[0]]
1276
1286
  result
1277
1287
  end
1278
1288
  .,.,
1279
1289
 
1280
- module_eval(<<'.,.,', 'egrammar.ra', 79)
1290
+ module_eval(<<'.,.,', 'egrammar.ra', 80)
1281
1291
  def _reduce_6(val, _values, result)
1282
1292
  result = val[0].push val[2]
1283
1293
  result
1284
1294
  end
1285
1295
  .,.,
1286
1296
 
1287
- module_eval(<<'.,.,', 'egrammar.ra', 80)
1297
+ module_eval(<<'.,.,', 'egrammar.ra', 81)
1288
1298
  def _reduce_7(val, _values, result)
1289
1299
  result = val[0].push val[1]
1290
1300
  result
1291
1301
  end
1292
1302
  .,.,
1293
1303
 
1294
- module_eval(<<'.,.,', 'egrammar.ra', 87)
1304
+ module_eval(<<'.,.,', 'egrammar.ra', 88)
1295
1305
  def _reduce_8(val, _values, result)
1296
1306
  result = val[0]
1297
1307
  result
1298
1308
  end
1299
1309
  .,.,
1300
1310
 
1301
- module_eval(<<'.,.,', 'egrammar.ra', 88)
1311
+ module_eval(<<'.,.,', 'egrammar.ra', 89)
1302
1312
  def _reduce_9(val, _values, result)
1303
1313
  result = aryfy(val[0]).push(val[1]).push(val[2])
1304
1314
  result
@@ -1307,35 +1317,35 @@ module_eval(<<'.,.,', 'egrammar.ra', 88)
1307
1317
 
1308
1318
  # reduce 10 omitted
1309
1319
 
1310
- module_eval(<<'.,.,', 'egrammar.ra', 93)
1320
+ module_eval(<<'.,.,', 'egrammar.ra', 94)
1311
1321
  def _reduce_11(val, _values, result)
1312
1322
  result = val[0].set(val[2]) ; loc result, val[1]
1313
1323
  result
1314
1324
  end
1315
1325
  .,.,
1316
1326
 
1317
- module_eval(<<'.,.,', 'egrammar.ra', 94)
1327
+ module_eval(<<'.,.,', 'egrammar.ra', 95)
1318
1328
  def _reduce_12(val, _values, result)
1319
1329
  result = val[0].plus_set(val[2]) ; loc result, val[1]
1320
1330
  result
1321
1331
  end
1322
1332
  .,.,
1323
1333
 
1324
- module_eval(<<'.,.,', 'egrammar.ra', 95)
1334
+ module_eval(<<'.,.,', 'egrammar.ra', 96)
1325
1335
  def _reduce_13(val, _values, result)
1326
1336
  result = val[0].minus_set(val[2]); loc result, val[1]
1327
1337
  result
1328
1338
  end
1329
1339
  .,.,
1330
1340
 
1331
- module_eval(<<'.,.,', 'egrammar.ra', 98)
1341
+ module_eval(<<'.,.,', 'egrammar.ra', 99)
1332
1342
  def _reduce_14(val, _values, result)
1333
1343
  result = [val[0]]
1334
1344
  result
1335
1345
  end
1336
1346
  .,.,
1337
1347
 
1338
- module_eval(<<'.,.,', 'egrammar.ra', 99)
1348
+ module_eval(<<'.,.,', 'egrammar.ra', 100)
1339
1349
  def _reduce_15(val, _values, result)
1340
1350
  result = val[0].push(val[2])
1341
1351
  result
@@ -1344,28 +1354,28 @@ module_eval(<<'.,.,', 'egrammar.ra', 99)
1344
1354
 
1345
1355
  # reduce 16 omitted
1346
1356
 
1347
- module_eval(<<'.,.,', 'egrammar.ra', 103)
1357
+ module_eval(<<'.,.,', 'egrammar.ra', 104)
1348
1358
  def _reduce_17(val, _values, result)
1349
1359
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1350
1360
  result
1351
1361
  end
1352
1362
  .,.,
1353
1363
 
1354
- module_eval(<<'.,.,', 'egrammar.ra', 104)
1364
+ module_eval(<<'.,.,', 'egrammar.ra', 105)
1355
1365
  def _reduce_18(val, _values, result)
1356
1366
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1357
1367
  result
1358
1368
  end
1359
1369
  .,.,
1360
1370
 
1361
- module_eval(<<'.,.,', 'egrammar.ra', 105)
1371
+ module_eval(<<'.,.,', 'egrammar.ra', 106)
1362
1372
  def _reduce_19(val, _values, result)
1363
1373
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1364
1374
  result
1365
1375
  end
1366
1376
  .,.,
1367
1377
 
1368
- module_eval(<<'.,.,', 'egrammar.ra', 106)
1378
+ module_eval(<<'.,.,', 'egrammar.ra', 107)
1369
1379
  def _reduce_20(val, _values, result)
1370
1380
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1371
1381
  result
@@ -1374,7 +1384,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 106)
1374
1384
 
1375
1385
  # reduce 21 omitted
1376
1386
 
1377
- module_eval(<<'.,.,', 'egrammar.ra', 115)
1387
+ module_eval(<<'.,.,', 'egrammar.ra', 116)
1378
1388
  def _reduce_22(val, _values, result)
1379
1389
  result = val[1]
1380
1390
  unless Factory.set_resource_form(result, :virtual)
@@ -1388,7 +1398,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 115)
1388
1398
  end
1389
1399
  .,.,
1390
1400
 
1391
- module_eval(<<'.,.,', 'egrammar.ra', 126)
1401
+ module_eval(<<'.,.,', 'egrammar.ra', 127)
1392
1402
  def _reduce_23(val, _values, result)
1393
1403
  result = val[1]
1394
1404
  unless Factory.set_resource_form(result, :exported)
@@ -1402,7 +1412,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 126)
1402
1412
  end
1403
1413
  .,.,
1404
1414
 
1405
- module_eval(<<'.,.,', 'egrammar.ra', 137)
1415
+ module_eval(<<'.,.,', 'egrammar.ra', 138)
1406
1416
  def _reduce_24(val, _values, result)
1407
1417
  bodies = [Factory.RESOURCE_BODY(val[2], val[4])] + val[5]
1408
1418
  result = Factory.RESOURCE(val[0], bodies)
@@ -1412,7 +1422,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 137)
1412
1422
  end
1413
1423
  .,.,
1414
1424
 
1415
- module_eval(<<'.,.,', 'egrammar.ra', 144)
1425
+ module_eval(<<'.,.,', 'egrammar.ra', 145)
1416
1426
  def _reduce_25(val, _values, result)
1417
1427
  result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
1418
1428
  loc result, val[0], val[4]
@@ -1421,7 +1431,7 @@ module_eval(<<'.,.,', 'egrammar.ra', 144)
1421
1431
  end
1422
1432
  .,.,
1423
1433
 
1424
- module_eval(<<'.,.,', 'egrammar.ra', 153)
1434
+ module_eval(<<'.,.,', 'egrammar.ra', 154)
1425
1435
  def _reduce_26(val, _values, result)
1426
1436
  result = case Factory.resource_shape(val[0])
1427
1437
  when :resource, :class
@@ -1447,42 +1457,42 @@ module_eval(<<'.,.,', 'egrammar.ra', 153)
1447
1457
  end
1448
1458
  .,.,
1449
1459
 
1450
- module_eval(<<'.,.,', 'egrammar.ra', 175)
1460
+ module_eval(<<'.,.,', 'egrammar.ra', 176)
1451
1461
  def _reduce_27(val, _values, result)
1452
1462
  result = Factory.RESOURCE_BODY(val[0], val[2])
1453
1463
  result
1454
1464
  end
1455
1465
  .,.,
1456
1466
 
1457
- module_eval(<<'.,.,', 'egrammar.ra', 178)
1467
+ module_eval(<<'.,.,', 'egrammar.ra', 179)
1458
1468
  def _reduce_28(val, _values, result)
1459
1469
  result = [val[0]]
1460
1470
  result
1461
1471
  end
1462
1472
  .,.,
1463
1473
 
1464
- module_eval(<<'.,.,', 'egrammar.ra', 179)
1474
+ module_eval(<<'.,.,', 'egrammar.ra', 180)
1465
1475
  def _reduce_29(val, _values, result)
1466
1476
  result = val[0].push val[2]
1467
1477
  result
1468
1478
  end
1469
1479
  .,.,
1470
1480
 
1471
- module_eval(<<'.,.,', 'egrammar.ra', 185)
1481
+ module_eval(<<'.,.,', 'egrammar.ra', 186)
1472
1482
  def _reduce_30(val, _values, result)
1473
1483
  result = []
1474
1484
  result
1475
1485
  end
1476
1486
  .,.,
1477
1487
 
1478
- module_eval(<<'.,.,', 'egrammar.ra', 186)
1488
+ module_eval(<<'.,.,', 'egrammar.ra', 187)
1479
1489
  def _reduce_31(val, _values, result)
1480
1490
  result = []
1481
1491
  result
1482
1492
  end
1483
1493
  .,.,
1484
1494
 
1485
- module_eval(<<'.,.,', 'egrammar.ra', 187)
1495
+ module_eval(<<'.,.,', 'egrammar.ra', 188)
1486
1496
  def _reduce_32(val, _values, result)
1487
1497
  result = val[2]
1488
1498
  result
@@ -1493,182 +1503,182 @@ module_eval(<<'.,.,', 'egrammar.ra', 187)
1493
1503
 
1494
1504
  # reduce 34 omitted
1495
1505
 
1496
- module_eval(<<'.,.,', 'egrammar.ra', 194)
1506
+ module_eval(<<'.,.,', 'egrammar.ra', 195)
1497
1507
  def _reduce_35(val, _values, result)
1498
1508
  result = val[0][*val[2]] ; loc result, val[0], val[3]
1499
1509
  result
1500
1510
  end
1501
1511
  .,.,
1502
1512
 
1503
- module_eval(<<'.,.,', 'egrammar.ra', 195)
1513
+ module_eval(<<'.,.,', 'egrammar.ra', 196)
1504
1514
  def _reduce_36(val, _values, result)
1505
1515
  result = val[0].in val[2] ; loc result, val[1]
1506
1516
  result
1507
1517
  end
1508
1518
  .,.,
1509
1519
 
1510
- module_eval(<<'.,.,', 'egrammar.ra', 196)
1520
+ module_eval(<<'.,.,', 'egrammar.ra', 197)
1511
1521
  def _reduce_37(val, _values, result)
1512
1522
  result = val[0] =~ val[2] ; loc result, val[1]
1513
1523
  result
1514
1524
  end
1515
1525
  .,.,
1516
1526
 
1517
- module_eval(<<'.,.,', 'egrammar.ra', 197)
1527
+ module_eval(<<'.,.,', 'egrammar.ra', 198)
1518
1528
  def _reduce_38(val, _values, result)
1519
1529
  result = val[0].mne val[2] ; loc result, val[1]
1520
1530
  result
1521
1531
  end
1522
1532
  .,.,
1523
1533
 
1524
- module_eval(<<'.,.,', 'egrammar.ra', 198)
1534
+ module_eval(<<'.,.,', 'egrammar.ra', 199)
1525
1535
  def _reduce_39(val, _values, result)
1526
1536
  result = val[0] + val[2] ; loc result, val[1]
1527
1537
  result
1528
1538
  end
1529
1539
  .,.,
1530
1540
 
1531
- module_eval(<<'.,.,', 'egrammar.ra', 199)
1541
+ module_eval(<<'.,.,', 'egrammar.ra', 200)
1532
1542
  def _reduce_40(val, _values, result)
1533
1543
  result = val[0] - val[2] ; loc result, val[1]
1534
1544
  result
1535
1545
  end
1536
1546
  .,.,
1537
1547
 
1538
- module_eval(<<'.,.,', 'egrammar.ra', 200)
1548
+ module_eval(<<'.,.,', 'egrammar.ra', 201)
1539
1549
  def _reduce_41(val, _values, result)
1540
1550
  result = val[0] / val[2] ; loc result, val[1]
1541
1551
  result
1542
1552
  end
1543
1553
  .,.,
1544
1554
 
1545
- module_eval(<<'.,.,', 'egrammar.ra', 201)
1555
+ module_eval(<<'.,.,', 'egrammar.ra', 202)
1546
1556
  def _reduce_42(val, _values, result)
1547
1557
  result = val[0] * val[2] ; loc result, val[1]
1548
1558
  result
1549
1559
  end
1550
1560
  .,.,
1551
1561
 
1552
- module_eval(<<'.,.,', 'egrammar.ra', 202)
1562
+ module_eval(<<'.,.,', 'egrammar.ra', 203)
1553
1563
  def _reduce_43(val, _values, result)
1554
1564
  result = val[0] % val[2] ; loc result, val[1]
1555
1565
  result
1556
1566
  end
1557
1567
  .,.,
1558
1568
 
1559
- module_eval(<<'.,.,', 'egrammar.ra', 203)
1569
+ module_eval(<<'.,.,', 'egrammar.ra', 204)
1560
1570
  def _reduce_44(val, _values, result)
1561
1571
  result = val[0] << val[2] ; loc result, val[1]
1562
1572
  result
1563
1573
  end
1564
1574
  .,.,
1565
1575
 
1566
- module_eval(<<'.,.,', 'egrammar.ra', 204)
1576
+ module_eval(<<'.,.,', 'egrammar.ra', 205)
1567
1577
  def _reduce_45(val, _values, result)
1568
1578
  result = val[0] >> val[2] ; loc result, val[1]
1569
1579
  result
1570
1580
  end
1571
1581
  .,.,
1572
1582
 
1573
- module_eval(<<'.,.,', 'egrammar.ra', 205)
1583
+ module_eval(<<'.,.,', 'egrammar.ra', 206)
1574
1584
  def _reduce_46(val, _values, result)
1575
1585
  result = val[1].minus() ; loc result, val[0]
1576
1586
  result
1577
1587
  end
1578
1588
  .,.,
1579
1589
 
1580
- module_eval(<<'.,.,', 'egrammar.ra', 206)
1590
+ module_eval(<<'.,.,', 'egrammar.ra', 207)
1581
1591
  def _reduce_47(val, _values, result)
1582
1592
  result = val[1].unfold() ; loc result, val[0]
1583
1593
  result
1584
1594
  end
1585
1595
  .,.,
1586
1596
 
1587
- module_eval(<<'.,.,', 'egrammar.ra', 207)
1597
+ module_eval(<<'.,.,', 'egrammar.ra', 208)
1588
1598
  def _reduce_48(val, _values, result)
1589
1599
  result = val[0].ne val[2] ; loc result, val[1]
1590
1600
  result
1591
1601
  end
1592
1602
  .,.,
1593
1603
 
1594
- module_eval(<<'.,.,', 'egrammar.ra', 208)
1604
+ module_eval(<<'.,.,', 'egrammar.ra', 209)
1595
1605
  def _reduce_49(val, _values, result)
1596
1606
  result = val[0] == val[2] ; loc result, val[1]
1597
1607
  result
1598
1608
  end
1599
1609
  .,.,
1600
1610
 
1601
- module_eval(<<'.,.,', 'egrammar.ra', 209)
1611
+ module_eval(<<'.,.,', 'egrammar.ra', 210)
1602
1612
  def _reduce_50(val, _values, result)
1603
1613
  result = val[0] > val[2] ; loc result, val[1]
1604
1614
  result
1605
1615
  end
1606
1616
  .,.,
1607
1617
 
1608
- module_eval(<<'.,.,', 'egrammar.ra', 210)
1618
+ module_eval(<<'.,.,', 'egrammar.ra', 211)
1609
1619
  def _reduce_51(val, _values, result)
1610
1620
  result = val[0] >= val[2] ; loc result, val[1]
1611
1621
  result
1612
1622
  end
1613
1623
  .,.,
1614
1624
 
1615
- module_eval(<<'.,.,', 'egrammar.ra', 211)
1625
+ module_eval(<<'.,.,', 'egrammar.ra', 212)
1616
1626
  def _reduce_52(val, _values, result)
1617
1627
  result = val[0] < val[2] ; loc result, val[1]
1618
1628
  result
1619
1629
  end
1620
1630
  .,.,
1621
1631
 
1622
- module_eval(<<'.,.,', 'egrammar.ra', 212)
1632
+ module_eval(<<'.,.,', 'egrammar.ra', 213)
1623
1633
  def _reduce_53(val, _values, result)
1624
1634
  result = val[0] <= val[2] ; loc result, val[1]
1625
1635
  result
1626
1636
  end
1627
1637
  .,.,
1628
1638
 
1629
- module_eval(<<'.,.,', 'egrammar.ra', 213)
1639
+ module_eval(<<'.,.,', 'egrammar.ra', 214)
1630
1640
  def _reduce_54(val, _values, result)
1631
1641
  result = val[1].not ; loc result, val[0]
1632
1642
  result
1633
1643
  end
1634
1644
  .,.,
1635
1645
 
1636
- module_eval(<<'.,.,', 'egrammar.ra', 214)
1646
+ module_eval(<<'.,.,', 'egrammar.ra', 215)
1637
1647
  def _reduce_55(val, _values, result)
1638
1648
  result = val[0].and val[2] ; loc result, val[1]
1639
1649
  result
1640
1650
  end
1641
1651
  .,.,
1642
1652
 
1643
- module_eval(<<'.,.,', 'egrammar.ra', 215)
1653
+ module_eval(<<'.,.,', 'egrammar.ra', 216)
1644
1654
  def _reduce_56(val, _values, result)
1645
1655
  result = val[0].or val[2] ; loc result, val[1]
1646
1656
  result
1647
1657
  end
1648
1658
  .,.,
1649
1659
 
1650
- module_eval(<<'.,.,', 'egrammar.ra', 216)
1660
+ module_eval(<<'.,.,', 'egrammar.ra', 217)
1651
1661
  def _reduce_57(val, _values, result)
1652
1662
  result = val[0].select(*val[2]) ; loc result, val[0]
1653
1663
  result
1654
1664
  end
1655
1665
  .,.,
1656
1666
 
1657
- module_eval(<<'.,.,', 'egrammar.ra', 217)
1667
+ module_eval(<<'.,.,', 'egrammar.ra', 218)
1658
1668
  def _reduce_58(val, _values, result)
1659
1669
  result = val[1].paren() ; loc result, val[0]
1660
1670
  result
1661
1671
  end
1662
1672
  .,.,
1663
1673
 
1664
- module_eval(<<'.,.,', 'egrammar.ra', 227)
1674
+ module_eval(<<'.,.,', 'egrammar.ra', 228)
1665
1675
  def _reduce_59(val, _values, result)
1666
1676
  result = [val[0]]
1667
1677
  result
1668
1678
  end
1669
1679
  .,.,
1670
1680
 
1671
- module_eval(<<'.,.,', 'egrammar.ra', 228)
1681
+ module_eval(<<'.,.,', 'egrammar.ra', 229)
1672
1682
  def _reduce_60(val, _values, result)
1673
1683
  result = val[0].push(val[2])
1674
1684
  result
@@ -1707,43 +1717,45 @@ module_eval(<<'.,.,', 'egrammar.ra', 228)
1707
1717
 
1708
1718
  # reduce 76 omitted
1709
1719
 
1710
- module_eval(<<'.,.,', 'egrammar.ra', 247)
1711
- def _reduce_77(val, _values, result)
1720
+ # reduce 77 omitted
1721
+
1722
+ module_eval(<<'.,.,', 'egrammar.ra', 249)
1723
+ def _reduce_78(val, _values, result)
1712
1724
  result = Factory.NUMBER(val[0][:value]) ; loc result, val[0]
1713
1725
  result
1714
1726
  end
1715
1727
  .,.,
1716
1728
 
1717
- module_eval(<<'.,.,', 'egrammar.ra', 248)
1718
- def _reduce_78(val, _values, result)
1729
+ module_eval(<<'.,.,', 'egrammar.ra', 250)
1730
+ def _reduce_79(val, _values, result)
1719
1731
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
1720
1732
  result
1721
1733
  end
1722
1734
  .,.,
1723
1735
 
1724
- module_eval(<<'.,.,', 'egrammar.ra', 249)
1725
- def _reduce_79(val, _values, result)
1736
+ module_eval(<<'.,.,', 'egrammar.ra', 251)
1737
+ def _reduce_80(val, _values, result)
1726
1738
  result = Factory.literal(:default) ; loc result, val[0]
1727
1739
  result
1728
1740
  end
1729
1741
  .,.,
1730
1742
 
1731
- module_eval(<<'.,.,', 'egrammar.ra', 250)
1732
- def _reduce_80(val, _values, result)
1743
+ module_eval(<<'.,.,', 'egrammar.ra', 252)
1744
+ def _reduce_81(val, _values, result)
1733
1745
  result = Factory.literal(:undef) ; loc result, val[0]
1734
1746
  result
1735
1747
  end
1736
1748
  .,.,
1737
1749
 
1738
- module_eval(<<'.,.,', 'egrammar.ra', 251)
1739
- def _reduce_81(val, _values, result)
1750
+ module_eval(<<'.,.,', 'egrammar.ra', 253)
1751
+ def _reduce_82(val, _values, result)
1740
1752
  result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0]
1741
1753
  result
1742
1754
  end
1743
1755
  .,.,
1744
1756
 
1745
- module_eval(<<'.,.,', 'egrammar.ra', 260)
1746
- def _reduce_82(val, _values, result)
1757
+ module_eval(<<'.,.,', 'egrammar.ra', 262)
1758
+ def _reduce_83(val, _values, result)
1747
1759
  result = Factory.CALL_NAMED(val[0], true, val[2])
1748
1760
  loc result, val[0], val[4]
1749
1761
 
@@ -1751,8 +1763,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 260)
1751
1763
  end
1752
1764
  .,.,
1753
1765
 
1754
- module_eval(<<'.,.,', 'egrammar.ra', 264)
1755
- def _reduce_83(val, _values, result)
1766
+ module_eval(<<'.,.,', 'egrammar.ra', 266)
1767
+ def _reduce_84(val, _values, result)
1756
1768
  result = Factory.CALL_NAMED(val[0], true, [])
1757
1769
  loc result, val[0], val[2]
1758
1770
 
@@ -1760,8 +1772,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 264)
1760
1772
  end
1761
1773
  .,.,
1762
1774
 
1763
- module_eval(<<'.,.,', 'egrammar.ra', 268)
1764
- def _reduce_84(val, _values, result)
1775
+ module_eval(<<'.,.,', 'egrammar.ra', 270)
1776
+ def _reduce_85(val, _values, result)
1765
1777
  result = Factory.CALL_NAMED(val[0], true, val[2])
1766
1778
  loc result, val[0], val[4]
1767
1779
  result.lambda = val[5]
@@ -1770,8 +1782,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 268)
1770
1782
  end
1771
1783
  .,.,
1772
1784
 
1773
- module_eval(<<'.,.,', 'egrammar.ra', 273)
1774
- def _reduce_85(val, _values, result)
1785
+ module_eval(<<'.,.,', 'egrammar.ra', 275)
1786
+ def _reduce_86(val, _values, result)
1775
1787
  result = Factory.CALL_NAMED(val[0], true, [])
1776
1788
  loc result, val[0], val[2]
1777
1789
  result.lambda = val[3]
@@ -1780,43 +1792,43 @@ module_eval(<<'.,.,', 'egrammar.ra', 273)
1780
1792
  end
1781
1793
  .,.,
1782
1794
 
1783
- module_eval(<<'.,.,', 'egrammar.ra', 281)
1784
- def _reduce_86(val, _values, result)
1795
+ module_eval(<<'.,.,', 'egrammar.ra', 283)
1796
+ def _reduce_87(val, _values, result)
1785
1797
  result = val[0]
1786
1798
  result
1787
1799
  end
1788
1800
  .,.,
1789
1801
 
1790
- module_eval(<<'.,.,', 'egrammar.ra', 282)
1791
- def _reduce_87(val, _values, result)
1802
+ module_eval(<<'.,.,', 'egrammar.ra', 284)
1803
+ def _reduce_88(val, _values, result)
1792
1804
  result = val[0]; val[0].lambda = val[1]
1793
1805
  result
1794
1806
  end
1795
1807
  .,.,
1796
1808
 
1797
- module_eval(<<'.,.,', 'egrammar.ra', 285)
1798
- def _reduce_88(val, _values, result)
1809
+ module_eval(<<'.,.,', 'egrammar.ra', 287)
1810
+ def _reduce_89(val, _values, result)
1799
1811
  result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3]
1800
1812
  result
1801
1813
  end
1802
1814
  .,.,
1803
1815
 
1804
- module_eval(<<'.,.,', 'egrammar.ra', 286)
1805
- def _reduce_89(val, _values, result)
1816
+ module_eval(<<'.,.,', 'egrammar.ra', 288)
1817
+ def _reduce_90(val, _values, result)
1806
1818
  result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3]
1807
1819
  result
1808
1820
  end
1809
1821
  .,.,
1810
1822
 
1811
- module_eval(<<'.,.,', 'egrammar.ra', 287)
1812
- def _reduce_90(val, _values, result)
1823
+ module_eval(<<'.,.,', 'egrammar.ra', 289)
1824
+ def _reduce_91(val, _values, result)
1813
1825
  result = Factory.CALL_METHOD(val[0], []); loc result, val[0]
1814
1826
  result
1815
1827
  end
1816
1828
  .,.,
1817
1829
 
1818
- module_eval(<<'.,.,', 'egrammar.ra', 291)
1819
- def _reduce_91(val, _values, result)
1830
+ module_eval(<<'.,.,', 'egrammar.ra', 293)
1831
+ def _reduce_92(val, _values, result)
1820
1832
  result = val[0].dot(Factory.fqn(val[2][:value]))
1821
1833
  loc result, val[1], val[2]
1822
1834
 
@@ -1824,8 +1836,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 291)
1824
1836
  end
1825
1837
  .,.,
1826
1838
 
1827
- module_eval(<<'.,.,', 'egrammar.ra', 299)
1828
- def _reduce_92(val, _values, result)
1839
+ module_eval(<<'.,.,', 'egrammar.ra', 301)
1840
+ def _reduce_93(val, _values, result)
1829
1841
  result = Factory.LAMBDA(val[0][:value], val[1][:value])
1830
1842
  loc result, val[0][:start], val[1][:end]
1831
1843
 
@@ -1833,36 +1845,36 @@ module_eval(<<'.,.,', 'egrammar.ra', 299)
1833
1845
  end
1834
1846
  .,.,
1835
1847
 
1836
- module_eval(<<'.,.,', 'egrammar.ra', 304)
1837
- def _reduce_93(val, _values, result)
1848
+ module_eval(<<'.,.,', 'egrammar.ra', 306)
1849
+ def _reduce_94(val, _values, result)
1838
1850
  result = {:end => val[2], :value =>val[1] }
1839
1851
  result
1840
1852
  end
1841
1853
  .,.,
1842
1854
 
1843
- module_eval(<<'.,.,', 'egrammar.ra', 305)
1844
- def _reduce_94(val, _values, result)
1855
+ module_eval(<<'.,.,', 'egrammar.ra', 307)
1856
+ def _reduce_95(val, _values, result)
1845
1857
  result = {:end => val[1], :value => nil }
1846
1858
  result
1847
1859
  end
1848
1860
  .,.,
1849
1861
 
1850
- module_eval(<<'.,.,', 'egrammar.ra', 309)
1851
- def _reduce_95(val, _values, result)
1862
+ module_eval(<<'.,.,', 'egrammar.ra', 311)
1863
+ def _reduce_96(val, _values, result)
1852
1864
  result = {:start => val[0], :value => [] }
1853
1865
  result
1854
1866
  end
1855
1867
  .,.,
1856
1868
 
1857
- module_eval(<<'.,.,', 'egrammar.ra', 310)
1858
- def _reduce_96(val, _values, result)
1869
+ module_eval(<<'.,.,', 'egrammar.ra', 312)
1870
+ def _reduce_97(val, _values, result)
1859
1871
  result = {:start => val[0], :value => val[1] }
1860
1872
  result
1861
1873
  end
1862
1874
  .,.,
1863
1875
 
1864
- module_eval(<<'.,.,', 'egrammar.ra', 318)
1865
- def _reduce_97(val, _values, result)
1876
+ module_eval(<<'.,.,', 'egrammar.ra', 320)
1877
+ def _reduce_98(val, _values, result)
1866
1878
  result = val[1]
1867
1879
  loc(result, val[0], val[1])
1868
1880
 
@@ -1870,8 +1882,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 318)
1870
1882
  end
1871
1883
  .,.,
1872
1884
 
1873
- module_eval(<<'.,.,', 'egrammar.ra', 325)
1874
- def _reduce_98(val, _values, result)
1885
+ module_eval(<<'.,.,', 'egrammar.ra', 327)
1886
+ def _reduce_99(val, _values, result)
1875
1887
  result = Factory.IF(val[0], Factory.block_or_expression(*val[2]), val[4])
1876
1888
  loc(result, val[0], (val[4] ? val[4] : val[3]))
1877
1889
 
@@ -1879,8 +1891,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 325)
1879
1891
  end
1880
1892
  .,.,
1881
1893
 
1882
- module_eval(<<'.,.,', 'egrammar.ra', 329)
1883
- def _reduce_99(val, _values, result)
1894
+ module_eval(<<'.,.,', 'egrammar.ra', 331)
1895
+ def _reduce_100(val, _values, result)
1884
1896
  result = Factory.IF(val[0], nil, val[3])
1885
1897
  loc(result, val[0], (val[3] ? val[3] : val[2]))
1886
1898
 
@@ -1888,10 +1900,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 329)
1888
1900
  end
1889
1901
  .,.,
1890
1902
 
1891
- # reduce 100 omitted
1903
+ # reduce 101 omitted
1892
1904
 
1893
- module_eval(<<'.,.,', 'egrammar.ra', 337)
1894
- def _reduce_101(val, _values, result)
1905
+ module_eval(<<'.,.,', 'egrammar.ra', 339)
1906
+ def _reduce_102(val, _values, result)
1895
1907
  result = val[1]
1896
1908
  loc(result, val[0], val[1])
1897
1909
 
@@ -1899,8 +1911,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 337)
1899
1911
  end
1900
1912
  .,.,
1901
1913
 
1902
- module_eval(<<'.,.,', 'egrammar.ra', 341)
1903
- def _reduce_102(val, _values, result)
1914
+ module_eval(<<'.,.,', 'egrammar.ra', 343)
1915
+ def _reduce_103(val, _values, result)
1904
1916
  result = Factory.block_or_expression(*val[2])
1905
1917
  loc result, val[0], val[3]
1906
1918
 
@@ -1908,16 +1920,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 341)
1908
1920
  end
1909
1921
  .,.,
1910
1922
 
1911
- module_eval(<<'.,.,', 'egrammar.ra', 345)
1912
- def _reduce_103(val, _values, result)
1923
+ module_eval(<<'.,.,', 'egrammar.ra', 347)
1924
+ def _reduce_104(val, _values, result)
1913
1925
  result = nil # don't think a nop is needed here either
1914
1926
 
1915
1927
  result
1916
1928
  end
1917
1929
  .,.,
1918
1930
 
1919
- module_eval(<<'.,.,', 'egrammar.ra', 352)
1920
- def _reduce_104(val, _values, result)
1931
+ module_eval(<<'.,.,', 'egrammar.ra', 354)
1932
+ def _reduce_105(val, _values, result)
1921
1933
  result = Factory.UNLESS(val[1], Factory.block_or_expression(*val[3]), val[5])
1922
1934
  loc result, val[0], val[4]
1923
1935
 
@@ -1925,19 +1937,19 @@ module_eval(<<'.,.,', 'egrammar.ra', 352)
1925
1937
  end
1926
1938
  .,.,
1927
1939
 
1928
- module_eval(<<'.,.,', 'egrammar.ra', 356)
1929
- def _reduce_105(val, _values, result)
1930
- result = Factory.UNLESS(val[1], nil, nil)
1940
+ module_eval(<<'.,.,', 'egrammar.ra', 358)
1941
+ def _reduce_106(val, _values, result)
1942
+ result = Factory.UNLESS(val[1], nil, val[4])
1931
1943
  loc result, val[0], val[4]
1932
1944
 
1933
1945
  result
1934
1946
  end
1935
1947
  .,.,
1936
1948
 
1937
- # reduce 106 omitted
1949
+ # reduce 107 omitted
1938
1950
 
1939
- module_eval(<<'.,.,', 'egrammar.ra', 366)
1940
- def _reduce_107(val, _values, result)
1951
+ module_eval(<<'.,.,', 'egrammar.ra', 368)
1952
+ def _reduce_108(val, _values, result)
1941
1953
  result = Factory.block_or_expression(*val[2])
1942
1954
  loc result, val[0], val[3]
1943
1955
 
@@ -1945,16 +1957,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 366)
1945
1957
  end
1946
1958
  .,.,
1947
1959
 
1948
- module_eval(<<'.,.,', 'egrammar.ra', 370)
1949
- def _reduce_108(val, _values, result)
1960
+ module_eval(<<'.,.,', 'egrammar.ra', 372)
1961
+ def _reduce_109(val, _values, result)
1950
1962
  result = nil # don't think a nop is needed here either
1951
1963
 
1952
1964
  result
1953
1965
  end
1954
1966
  .,.,
1955
1967
 
1956
- module_eval(<<'.,.,', 'egrammar.ra', 377)
1957
- def _reduce_109(val, _values, result)
1968
+ module_eval(<<'.,.,', 'egrammar.ra', 379)
1969
+ def _reduce_110(val, _values, result)
1958
1970
  result = Factory.CASE(val[1], *val[3])
1959
1971
  loc result, val[0], val[4]
1960
1972
 
@@ -1962,65 +1974,65 @@ module_eval(<<'.,.,', 'egrammar.ra', 377)
1962
1974
  end
1963
1975
  .,.,
1964
1976
 
1965
- module_eval(<<'.,.,', 'egrammar.ra', 383)
1966
- def _reduce_110(val, _values, result)
1977
+ module_eval(<<'.,.,', 'egrammar.ra', 385)
1978
+ def _reduce_111(val, _values, result)
1967
1979
  result = [val[0]]
1968
1980
  result
1969
1981
  end
1970
1982
  .,.,
1971
1983
 
1972
- module_eval(<<'.,.,', 'egrammar.ra', 384)
1973
- def _reduce_111(val, _values, result)
1984
+ module_eval(<<'.,.,', 'egrammar.ra', 386)
1985
+ def _reduce_112(val, _values, result)
1974
1986
  result = val[0].push val[1]
1975
1987
  result
1976
1988
  end
1977
1989
  .,.,
1978
1990
 
1979
- module_eval(<<'.,.,', 'egrammar.ra', 389)
1980
- def _reduce_112(val, _values, result)
1991
+ module_eval(<<'.,.,', 'egrammar.ra', 391)
1992
+ def _reduce_113(val, _values, result)
1981
1993
  result = Factory.WHEN(val[0], val[3]); loc result, val[1], val[4]
1982
1994
 
1983
1995
  result
1984
1996
  end
1985
1997
  .,.,
1986
1998
 
1987
- # reduce 113 omitted
1988
-
1989
1999
  # reduce 114 omitted
1990
2000
 
1991
2001
  # reduce 115 omitted
1992
2002
 
1993
- module_eval(<<'.,.,', 'egrammar.ra', 405)
1994
- def _reduce_116(val, _values, result)
2003
+ # reduce 116 omitted
2004
+
2005
+ module_eval(<<'.,.,', 'egrammar.ra', 407)
2006
+ def _reduce_117(val, _values, result)
1995
2007
  result = val[1]
1996
2008
 
1997
2009
  result
1998
2010
  end
1999
2011
  .,.,
2000
2012
 
2001
- module_eval(<<'.,.,', 'egrammar.ra', 410)
2002
- def _reduce_117(val, _values, result)
2013
+ module_eval(<<'.,.,', 'egrammar.ra', 412)
2014
+ def _reduce_118(val, _values, result)
2003
2015
  result = [val[0]]
2004
2016
  result
2005
2017
  end
2006
2018
  .,.,
2007
2019
 
2008
- module_eval(<<'.,.,', 'egrammar.ra', 411)
2009
- def _reduce_118(val, _values, result)
2020
+ module_eval(<<'.,.,', 'egrammar.ra', 413)
2021
+ def _reduce_119(val, _values, result)
2010
2022
  result = val[0].push val[2]
2011
2023
  result
2012
2024
  end
2013
2025
  .,.,
2014
2026
 
2015
- module_eval(<<'.,.,', 'egrammar.ra', 416)
2016
- def _reduce_119(val, _values, result)
2027
+ module_eval(<<'.,.,', 'egrammar.ra', 418)
2028
+ def _reduce_120(val, _values, result)
2017
2029
  result = Factory.MAP(val[0], val[2]) ; loc result, val[1]
2018
2030
  result
2019
2031
  end
2020
2032
  .,.,
2021
2033
 
2022
- module_eval(<<'.,.,', 'egrammar.ra', 426)
2023
- def _reduce_120(val, _values, result)
2034
+ module_eval(<<'.,.,', 'egrammar.ra', 428)
2035
+ def _reduce_121(val, _values, result)
2024
2036
  result = Factory.COLLECT(val[0], val[1], val[3])
2025
2037
  loc result, val[0], val[5]
2026
2038
 
@@ -2028,8 +2040,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 426)
2028
2040
  end
2029
2041
  .,.,
2030
2042
 
2031
- module_eval(<<'.,.,', 'egrammar.ra', 430)
2032
- def _reduce_121(val, _values, result)
2043
+ module_eval(<<'.,.,', 'egrammar.ra', 432)
2044
+ def _reduce_122(val, _values, result)
2033
2045
  result = Factory.COLLECT(val[0], val[1], [])
2034
2046
  loc result, val[0], val[1]
2035
2047
 
@@ -2037,51 +2049,51 @@ module_eval(<<'.,.,', 'egrammar.ra', 430)
2037
2049
  end
2038
2050
  .,.,
2039
2051
 
2040
- module_eval(<<'.,.,', 'egrammar.ra', 435)
2041
- def _reduce_122(val, _values, result)
2052
+ module_eval(<<'.,.,', 'egrammar.ra', 437)
2053
+ def _reduce_123(val, _values, result)
2042
2054
  result = Factory.VIRTUAL_QUERY(val[1]) ; loc result, val[0], val[2]
2043
2055
  result
2044
2056
  end
2045
2057
  .,.,
2046
2058
 
2047
- module_eval(<<'.,.,', 'egrammar.ra', 436)
2048
- def _reduce_123(val, _values, result)
2059
+ module_eval(<<'.,.,', 'egrammar.ra', 438)
2060
+ def _reduce_124(val, _values, result)
2049
2061
  result = Factory.EXPORTED_QUERY(val[1]) ; loc result, val[0], val[2]
2050
2062
  result
2051
2063
  end
2052
2064
  .,.,
2053
2065
 
2054
- # reduce 124 omitted
2055
-
2056
2066
  # reduce 125 omitted
2057
2067
 
2058
- module_eval(<<'.,.,', 'egrammar.ra', 445)
2059
- def _reduce_126(val, _values, result)
2068
+ # reduce 126 omitted
2069
+
2070
+ module_eval(<<'.,.,', 'egrammar.ra', 447)
2071
+ def _reduce_127(val, _values, result)
2060
2072
  result = []
2061
2073
  result
2062
2074
  end
2063
2075
  .,.,
2064
2076
 
2065
- module_eval(<<'.,.,', 'egrammar.ra', 446)
2066
- def _reduce_127(val, _values, result)
2077
+ module_eval(<<'.,.,', 'egrammar.ra', 448)
2078
+ def _reduce_128(val, _values, result)
2067
2079
  result = [val[0]]
2068
2080
  result
2069
2081
  end
2070
2082
  .,.,
2071
2083
 
2072
- module_eval(<<'.,.,', 'egrammar.ra', 447)
2073
- def _reduce_128(val, _values, result)
2084
+ module_eval(<<'.,.,', 'egrammar.ra', 449)
2085
+ def _reduce_129(val, _values, result)
2074
2086
  result = val[0].push(val[2])
2075
2087
  result
2076
2088
  end
2077
2089
  .,.,
2078
2090
 
2079
- # reduce 129 omitted
2080
-
2081
2091
  # reduce 130 omitted
2082
2092
 
2083
- module_eval(<<'.,.,', 'egrammar.ra', 463)
2084
- def _reduce_131(val, _values, result)
2093
+ # reduce 131 omitted
2094
+
2095
+ module_eval(<<'.,.,', 'egrammar.ra', 465)
2096
+ def _reduce_132(val, _values, result)
2085
2097
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'=>', val[2])
2086
2098
  loc result, val[0], val[2]
2087
2099
 
@@ -2089,8 +2101,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 463)
2089
2101
  end
2090
2102
  .,.,
2091
2103
 
2092
- module_eval(<<'.,.,', 'egrammar.ra', 467)
2093
- def _reduce_132(val, _values, result)
2104
+ module_eval(<<'.,.,', 'egrammar.ra', 469)
2105
+ def _reduce_133(val, _values, result)
2094
2106
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'+>', val[2])
2095
2107
  loc result, val[0], val[2]
2096
2108
 
@@ -2098,16 +2110,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 467)
2098
2110
  end
2099
2111
  .,.,
2100
2112
 
2101
- module_eval(<<'.,.,', 'egrammar.ra', 471)
2102
- def _reduce_133(val, _values, result)
2113
+ module_eval(<<'.,.,', 'egrammar.ra', 473)
2114
+ def _reduce_134(val, _values, result)
2103
2115
  result = Factory.ATTRIBUTES_OP(val[2]) ; loc result, val[0], val[2]
2104
2116
 
2105
2117
  result
2106
2118
  end
2107
2119
  .,.,
2108
2120
 
2109
- module_eval(<<'.,.,', 'egrammar.ra', 480)
2110
- def _reduce_134(val, _values, result)
2121
+ module_eval(<<'.,.,', 'egrammar.ra', 482)
2122
+ def _reduce_135(val, _values, result)
2111
2123
  result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
2112
2124
  loc result, val[0], val[5]
2113
2125
  # New lexer does not keep track of this, this is done in validation
@@ -2119,8 +2131,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 480)
2119
2131
  end
2120
2132
  .,.,
2121
2133
 
2122
- module_eval(<<'.,.,', 'egrammar.ra', 494)
2123
- def _reduce_135(val, _values, result)
2134
+ module_eval(<<'.,.,', 'egrammar.ra', 496)
2135
+ def _reduce_136(val, _values, result)
2124
2136
  # Remove this class' name from the namestack as all nested classes have been parsed
2125
2137
  namepop
2126
2138
  result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
@@ -2130,32 +2142,32 @@ module_eval(<<'.,.,', 'egrammar.ra', 494)
2130
2142
  end
2131
2143
  .,.,
2132
2144
 
2133
- module_eval(<<'.,.,', 'egrammar.ra', 504)
2134
- def _reduce_136(val, _values, result)
2145
+ module_eval(<<'.,.,', 'egrammar.ra', 506)
2146
+ def _reduce_137(val, _values, result)
2135
2147
  namestack(val[0][:value]) ; result = val[0]
2136
2148
  result
2137
2149
  end
2138
2150
  .,.,
2139
2151
 
2140
- # reduce 137 omitted
2141
-
2142
2152
  # reduce 138 omitted
2143
2153
 
2144
2154
  # reduce 139 omitted
2145
2155
 
2146
- module_eval(<<'.,.,', 'egrammar.ra', 513)
2147
- def _reduce_140(val, _values, result)
2156
+ # reduce 140 omitted
2157
+
2158
+ module_eval(<<'.,.,', 'egrammar.ra', 515)
2159
+ def _reduce_141(val, _values, result)
2148
2160
  result = val[1]
2149
2161
  result
2150
2162
  end
2151
2163
  .,.,
2152
2164
 
2153
- # reduce 141 omitted
2154
-
2155
2165
  # reduce 142 omitted
2156
2166
 
2157
- module_eval(<<'.,.,', 'egrammar.ra', 530)
2158
- def _reduce_143(val, _values, result)
2167
+ # reduce 143 omitted
2168
+
2169
+ module_eval(<<'.,.,', 'egrammar.ra', 532)
2170
+ def _reduce_144(val, _values, result)
2159
2171
  result = add_definition(Factory.NODE(val[1], val[3], val[5]))
2160
2172
  loc result, val[0], val[6]
2161
2173
 
@@ -2163,8 +2175,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 530)
2163
2175
  end
2164
2176
  .,.,
2165
2177
 
2166
- module_eval(<<'.,.,', 'egrammar.ra', 534)
2167
- def _reduce_144(val, _values, result)
2178
+ module_eval(<<'.,.,', 'egrammar.ra', 536)
2179
+ def _reduce_145(val, _values, result)
2168
2180
  result = add_definition(Factory.NODE(val[1], val[3], nil))
2169
2181
  loc result, val[0], val[5]
2170
2182
 
@@ -2172,442 +2184,442 @@ module_eval(<<'.,.,', 'egrammar.ra', 534)
2172
2184
  end
2173
2185
  .,.,
2174
2186
 
2175
- module_eval(<<'.,.,', 'egrammar.ra', 544)
2176
- def _reduce_145(val, _values, result)
2187
+ module_eval(<<'.,.,', 'egrammar.ra', 546)
2188
+ def _reduce_146(val, _values, result)
2177
2189
  result = [result]
2178
2190
  result
2179
2191
  end
2180
2192
  .,.,
2181
2193
 
2182
- module_eval(<<'.,.,', 'egrammar.ra', 545)
2183
- def _reduce_146(val, _values, result)
2194
+ module_eval(<<'.,.,', 'egrammar.ra', 547)
2195
+ def _reduce_147(val, _values, result)
2184
2196
  result = val[0].push(val[2])
2185
2197
  result
2186
2198
  end
2187
2199
  .,.,
2188
2200
 
2189
- # reduce 147 omitted
2190
-
2191
2201
  # reduce 148 omitted
2192
2202
 
2193
- module_eval(<<'.,.,', 'egrammar.ra', 552)
2194
- def _reduce_149(val, _values, result)
2203
+ # reduce 149 omitted
2204
+
2205
+ module_eval(<<'.,.,', 'egrammar.ra', 554)
2206
+ def _reduce_150(val, _values, result)
2195
2207
  result = Factory.literal(:default); loc result, val[0]
2196
2208
  result
2197
2209
  end
2198
2210
  .,.,
2199
2211
 
2200
- # reduce 150 omitted
2212
+ # reduce 151 omitted
2201
2213
 
2202
- module_eval(<<'.,.,', 'egrammar.ra', 556)
2203
- def _reduce_151(val, _values, result)
2214
+ module_eval(<<'.,.,', 'egrammar.ra', 558)
2215
+ def _reduce_152(val, _values, result)
2204
2216
  result = Factory.literal(val[0][:value]); loc result, val[0]
2205
2217
  result
2206
2218
  end
2207
2219
  .,.,
2208
2220
 
2209
- module_eval(<<'.,.,', 'egrammar.ra', 557)
2210
- def _reduce_152(val, _values, result)
2221
+ module_eval(<<'.,.,', 'egrammar.ra', 559)
2222
+ def _reduce_153(val, _values, result)
2211
2223
  result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2]
2212
2224
  result
2213
2225
  end
2214
2226
  .,.,
2215
2227
 
2216
- # reduce 153 omitted
2217
-
2218
2228
  # reduce 154 omitted
2219
2229
 
2220
2230
  # reduce 155 omitted
2221
2231
 
2222
- module_eval(<<'.,.,', 'egrammar.ra', 566)
2223
- def _reduce_156(val, _values, result)
2232
+ # reduce 156 omitted
2233
+
2234
+ module_eval(<<'.,.,', 'egrammar.ra', 568)
2235
+ def _reduce_157(val, _values, result)
2224
2236
  result = val[1]
2225
2237
  result
2226
2238
  end
2227
2239
  .,.,
2228
2240
 
2229
- # reduce 157 omitted
2230
-
2231
- # reduce 158 omitted
2241
+ module_eval(<<'.,.,', 'egrammar.ra', 574)
2242
+ def _reduce_158(val, _values, result)
2243
+ result = add_definition(Factory.FUNCTION(val[1][:value], val[2], val[4]))
2244
+ loc result, val[0], val[5]
2245
+
2246
+ result
2247
+ end
2248
+ .,.,
2232
2249
 
2233
2250
  # reduce 159 omitted
2234
2251
 
2252
+ # reduce 160 omitted
2253
+
2254
+ # reduce 161 omitted
2255
+
2235
2256
  module_eval(<<'.,.,', 'egrammar.ra', 585)
2236
- def _reduce_160(val, _values, result)
2257
+ def _reduce_162(val, _values, result)
2237
2258
  error val[0], "'class' is not a valid classname"
2238
2259
  result
2239
2260
  end
2240
2261
  .,.,
2241
2262
 
2242
2263
  module_eval(<<'.,.,', 'egrammar.ra', 589)
2243
- def _reduce_161(val, _values, result)
2264
+ def _reduce_163(val, _values, result)
2244
2265
  result = []
2245
2266
  result
2246
2267
  end
2247
2268
  .,.,
2248
2269
 
2249
2270
  module_eval(<<'.,.,', 'egrammar.ra', 590)
2250
- def _reduce_162(val, _values, result)
2271
+ def _reduce_164(val, _values, result)
2251
2272
  result = []
2252
2273
  result
2253
2274
  end
2254
2275
  .,.,
2255
2276
 
2256
2277
  module_eval(<<'.,.,', 'egrammar.ra', 591)
2257
- def _reduce_163(val, _values, result)
2278
+ def _reduce_165(val, _values, result)
2258
2279
  result = val[1]
2259
2280
  result
2260
2281
  end
2261
2282
  .,.,
2262
2283
 
2263
2284
  module_eval(<<'.,.,', 'egrammar.ra', 595)
2264
- def _reduce_164(val, _values, result)
2285
+ def _reduce_166(val, _values, result)
2265
2286
  result = [val[0]]
2266
2287
  result
2267
2288
  end
2268
2289
  .,.,
2269
2290
 
2270
2291
  module_eval(<<'.,.,', 'egrammar.ra', 596)
2271
- def _reduce_165(val, _values, result)
2292
+ def _reduce_167(val, _values, result)
2272
2293
  result = val[0].push(val[2])
2273
2294
  result
2274
2295
  end
2275
2296
  .,.,
2276
2297
 
2277
- # reduce 166 omitted
2278
-
2279
- # reduce 167 omitted
2280
-
2281
2298
  # reduce 168 omitted
2282
2299
 
2283
2300
  # reduce 169 omitted
2284
2301
 
2302
+ # reduce 170 omitted
2303
+
2304
+ # reduce 171 omitted
2305
+
2285
2306
  module_eval(<<'.,.,', 'egrammar.ra', 608)
2286
- def _reduce_170(val, _values, result)
2307
+ def _reduce_172(val, _values, result)
2287
2308
  result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0]
2288
2309
  result
2289
2310
  end
2290
2311
  .,.,
2291
2312
 
2292
2313
  module_eval(<<'.,.,', 'egrammar.ra', 609)
2293
- def _reduce_171(val, _values, result)
2314
+ def _reduce_173(val, _values, result)
2294
2315
  result = Factory.PARAM(val[0][:value]); loc result, val[0]
2295
2316
  result
2296
2317
  end
2297
2318
  .,.,
2298
2319
 
2299
2320
  module_eval(<<'.,.,', 'egrammar.ra', 612)
2300
- def _reduce_172(val, _values, result)
2321
+ def _reduce_174(val, _values, result)
2301
2322
  result = val[1]; val[1].captures_rest()
2302
2323
  result
2303
2324
  end
2304
2325
  .,.,
2305
2326
 
2306
2327
  module_eval(<<'.,.,', 'egrammar.ra', 615)
2307
- def _reduce_173(val, _values, result)
2328
+ def _reduce_175(val, _values, result)
2308
2329
  val[1].type_expr(val[0]) ; result = val[1]
2309
2330
  result
2310
2331
  end
2311
2332
  .,.,
2312
2333
 
2313
2334
  module_eval(<<'.,.,', 'egrammar.ra', 618)
2314
- def _reduce_174(val, _values, result)
2335
+ def _reduce_176(val, _values, result)
2315
2336
  result = val[0]
2316
2337
  result
2317
2338
  end
2318
2339
  .,.,
2319
2340
 
2320
2341
  module_eval(<<'.,.,', 'egrammar.ra', 619)
2321
- def _reduce_175(val, _values, result)
2342
+ def _reduce_177(val, _values, result)
2322
2343
  result = val[0][*val[2]] ; loc result, val[0], val[3]
2323
2344
  result
2324
2345
  end
2325
2346
  .,.,
2326
2347
 
2327
2348
  module_eval(<<'.,.,', 'egrammar.ra', 624)
2328
- def _reduce_176(val, _values, result)
2349
+ def _reduce_178(val, _values, result)
2329
2350
  result = Factory.fqn(val[0][:value]).var ; loc result, val[0]
2330
2351
  result
2331
2352
  end
2332
2353
  .,.,
2333
2354
 
2334
2355
  module_eval(<<'.,.,', 'egrammar.ra', 629)
2335
- def _reduce_177(val, _values, result)
2356
+ def _reduce_179(val, _values, result)
2336
2357
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2337
2358
  result
2338
2359
  end
2339
2360
  .,.,
2340
2361
 
2341
2362
  module_eval(<<'.,.,', 'egrammar.ra', 630)
2342
- def _reduce_178(val, _values, result)
2363
+ def _reduce_180(val, _values, result)
2343
2364
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2344
2365
  result
2345
2366
  end
2346
2367
  .,.,
2347
2368
 
2348
2369
  module_eval(<<'.,.,', 'egrammar.ra', 631)
2349
- def _reduce_179(val, _values, result)
2350
- result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2351
- result
2352
- end
2353
- .,.,
2354
-
2355
- module_eval(<<'.,.,', 'egrammar.ra', 632)
2356
- def _reduce_180(val, _values, result)
2370
+ def _reduce_181(val, _values, result)
2357
2371
  result = Factory.RESERVED(val[0][:value]) ; loc result, val[0]
2358
2372
  result
2359
2373
  end
2360
2374
  .,.,
2361
2375
 
2362
- module_eval(<<'.,.,', 'egrammar.ra', 638)
2363
- def _reduce_181(val, _values, result)
2376
+ module_eval(<<'.,.,', 'egrammar.ra', 637)
2377
+ def _reduce_182(val, _values, result)
2364
2378
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2365
2379
  result
2366
2380
  end
2367
2381
  .,.,
2368
2382
 
2369
- module_eval(<<'.,.,', 'egrammar.ra', 639)
2370
- def _reduce_182(val, _values, result)
2383
+ module_eval(<<'.,.,', 'egrammar.ra', 638)
2384
+ def _reduce_183(val, _values, result)
2371
2385
  result = Factory.literal([]) ; loc result, val[0], val[1]
2372
2386
  result
2373
2387
  end
2374
2388
  .,.,
2375
2389
 
2376
- module_eval(<<'.,.,', 'egrammar.ra', 640)
2377
- def _reduce_183(val, _values, result)
2390
+ module_eval(<<'.,.,', 'egrammar.ra', 639)
2391
+ def _reduce_184(val, _values, result)
2378
2392
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2379
2393
  result
2380
2394
  end
2381
2395
  .,.,
2382
2396
 
2383
- module_eval(<<'.,.,', 'egrammar.ra', 641)
2384
- def _reduce_184(val, _values, result)
2397
+ module_eval(<<'.,.,', 'egrammar.ra', 640)
2398
+ def _reduce_185(val, _values, result)
2385
2399
  result = Factory.literal([]) ; loc result, val[0], val[1]
2386
2400
  result
2387
2401
  end
2388
2402
  .,.,
2389
2403
 
2390
- module_eval(<<'.,.,', 'egrammar.ra', 644)
2391
- def _reduce_185(val, _values, result)
2404
+ module_eval(<<'.,.,', 'egrammar.ra', 643)
2405
+ def _reduce_186(val, _values, result)
2392
2406
  result = Factory.HASH(val[1]); loc result, val[0], val[2]
2393
2407
  result
2394
2408
  end
2395
2409
  .,.,
2396
2410
 
2397
- module_eval(<<'.,.,', 'egrammar.ra', 645)
2398
- def _reduce_186(val, _values, result)
2411
+ module_eval(<<'.,.,', 'egrammar.ra', 644)
2412
+ def _reduce_187(val, _values, result)
2399
2413
  result = Factory.HASH(val[1]); loc result, val[0], val[3]
2400
2414
  result
2401
2415
  end
2402
2416
  .,.,
2403
2417
 
2404
- module_eval(<<'.,.,', 'egrammar.ra', 646)
2405
- def _reduce_187(val, _values, result)
2418
+ module_eval(<<'.,.,', 'egrammar.ra', 645)
2419
+ def _reduce_188(val, _values, result)
2406
2420
  result = Factory.literal({}) ; loc result, val[0], val[1]
2407
2421
  result
2408
2422
  end
2409
2423
  .,.,
2410
2424
 
2411
- module_eval(<<'.,.,', 'egrammar.ra', 649)
2412
- def _reduce_188(val, _values, result)
2425
+ module_eval(<<'.,.,', 'egrammar.ra', 648)
2426
+ def _reduce_189(val, _values, result)
2413
2427
  result = [val[0]]
2414
2428
  result
2415
2429
  end
2416
2430
  .,.,
2417
2431
 
2418
- module_eval(<<'.,.,', 'egrammar.ra', 650)
2419
- def _reduce_189(val, _values, result)
2432
+ module_eval(<<'.,.,', 'egrammar.ra', 649)
2433
+ def _reduce_190(val, _values, result)
2420
2434
  result = val[0].push val[2]
2421
2435
  result
2422
2436
  end
2423
2437
  .,.,
2424
2438
 
2425
- module_eval(<<'.,.,', 'egrammar.ra', 653)
2426
- def _reduce_190(val, _values, result)
2439
+ module_eval(<<'.,.,', 'egrammar.ra', 652)
2440
+ def _reduce_191(val, _values, result)
2427
2441
  result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1]
2428
2442
  result
2429
2443
  end
2430
2444
  .,.,
2431
2445
 
2432
- # reduce 191 omitted
2433
-
2434
2446
  # reduce 192 omitted
2435
2447
 
2436
2448
  # reduce 193 omitted
2437
2449
 
2438
- module_eval(<<'.,.,', 'egrammar.ra', 661)
2439
- def _reduce_194(val, _values, result)
2440
- result = Factory.literal(val[0][:value]) ; loc result, val[0]
2441
- result
2442
- end
2443
- .,.,
2450
+ # reduce 194 omitted
2444
2451
 
2445
- module_eval(<<'.,.,', 'egrammar.ra', 662)
2452
+ module_eval(<<'.,.,', 'egrammar.ra', 660)
2446
2453
  def _reduce_195(val, _values, result)
2447
2454
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2448
2455
  result
2449
2456
  end
2450
2457
  .,.,
2451
2458
 
2452
- module_eval(<<'.,.,', 'egrammar.ra', 664)
2459
+ module_eval(<<'.,.,', 'egrammar.ra', 661)
2453
2460
  def _reduce_196(val, _values, result)
2454
- result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1]
2461
+ result = Factory.literal(val[0][:value]) ; loc result, val[0]
2455
2462
  result
2456
2463
  end
2457
2464
  .,.,
2458
2465
 
2459
- module_eval(<<'.,.,', 'egrammar.ra', 665)
2466
+ module_eval(<<'.,.,', 'egrammar.ra', 663)
2460
2467
  def _reduce_197(val, _values, result)
2461
- result = Factory.literal(val[0][:value]); loc result, val[0]
2468
+ result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1]
2462
2469
  result
2463
2470
  end
2464
2471
  .,.,
2465
2472
 
2466
- module_eval(<<'.,.,', 'egrammar.ra', 666)
2473
+ module_eval(<<'.,.,', 'egrammar.ra', 664)
2467
2474
  def _reduce_198(val, _values, result)
2468
2475
  result = Factory.literal(val[0][:value]); loc result, val[0]
2469
2476
  result
2470
2477
  end
2471
2478
  .,.,
2472
2479
 
2473
- module_eval(<<'.,.,', 'egrammar.ra', 667)
2480
+ module_eval(<<'.,.,', 'egrammar.ra', 665)
2474
2481
  def _reduce_199(val, _values, result)
2475
2482
  result = Factory.literal(val[0][:value]); loc result, val[0]
2476
2483
  result
2477
2484
  end
2478
2485
  .,.,
2479
2486
 
2480
- module_eval(<<'.,.,', 'egrammar.ra', 668)
2487
+ module_eval(<<'.,.,', 'egrammar.ra', 666)
2481
2488
  def _reduce_200(val, _values, result)
2482
- result = [val[0]] + val[1]
2489
+ result = Factory.literal(val[0][:value]); loc result, val[0]
2483
2490
  result
2484
2491
  end
2485
2492
  .,.,
2486
2493
 
2487
- module_eval(<<'.,.,', 'egrammar.ra', 669)
2494
+ module_eval(<<'.,.,', 'egrammar.ra', 667)
2488
2495
  def _reduce_201(val, _values, result)
2489
- result = Factory.TEXT(val[0])
2496
+ result = [val[0]] + val[1]
2490
2497
  result
2491
2498
  end
2492
2499
  .,.,
2493
2500
 
2494
- module_eval(<<'.,.,', 'egrammar.ra', 672)
2501
+ module_eval(<<'.,.,', 'egrammar.ra', 668)
2495
2502
  def _reduce_202(val, _values, result)
2496
- result = [val[0]]
2503
+ result = Factory.TEXT(val[0])
2497
2504
  result
2498
2505
  end
2499
2506
  .,.,
2500
2507
 
2501
- module_eval(<<'.,.,', 'egrammar.ra', 673)
2508
+ module_eval(<<'.,.,', 'egrammar.ra', 671)
2502
2509
  def _reduce_203(val, _values, result)
2503
- result = [val[0]] + val[1]
2510
+ result = [val[0]]
2504
2511
  result
2505
2512
  end
2506
2513
  .,.,
2507
2514
 
2508
- module_eval(<<'.,.,', 'egrammar.ra', 676)
2515
+ module_eval(<<'.,.,', 'egrammar.ra', 672)
2509
2516
  def _reduce_204(val, _values, result)
2510
- result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
2517
+ result = [val[0]] + val[1]
2511
2518
  result
2512
2519
  end
2513
2520
  .,.,
2514
2521
 
2515
- module_eval(<<'.,.,', 'egrammar.ra', 679)
2522
+ module_eval(<<'.,.,', 'egrammar.ra', 675)
2516
2523
  def _reduce_205(val, _values, result)
2517
- result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2524
+ result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
2518
2525
  result
2519
2526
  end
2520
2527
  .,.,
2521
2528
 
2522
- module_eval(<<'.,.,', 'egrammar.ra', 680)
2529
+ module_eval(<<'.,.,', 'egrammar.ra', 678)
2523
2530
  def _reduce_206(val, _values, result)
2524
2531
  result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2525
2532
  result
2526
2533
  end
2527
2534
  .,.,
2528
2535
 
2529
- module_eval(<<'.,.,', 'egrammar.ra', 683)
2536
+ module_eval(<<'.,.,', 'egrammar.ra', 679)
2530
2537
  def _reduce_207(val, _values, result)
2531
- result = Factory.EPP(val[1], val[2]); loc result, val[0]
2538
+ result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2532
2539
  result
2533
2540
  end
2534
2541
  .,.,
2535
2542
 
2536
- # reduce 208 omitted
2543
+ module_eval(<<'.,.,', 'egrammar.ra', 682)
2544
+ def _reduce_208(val, _values, result)
2545
+ result = Factory.EPP(val[1], val[2]); loc result, val[0]
2546
+ result
2547
+ end
2548
+ .,.,
2537
2549
 
2538
2550
  # reduce 209 omitted
2539
2551
 
2540
- module_eval(<<'.,.,', 'egrammar.ra', 690)
2541
- def _reduce_210(val, _values, result)
2552
+ # reduce 210 omitted
2553
+
2554
+ module_eval(<<'.,.,', 'egrammar.ra', 689)
2555
+ def _reduce_211(val, _values, result)
2542
2556
  result = nil
2543
2557
  result
2544
2558
  end
2545
2559
  .,.,
2546
2560
 
2547
- module_eval(<<'.,.,', 'egrammar.ra', 691)
2548
- def _reduce_211(val, _values, result)
2561
+ module_eval(<<'.,.,', 'egrammar.ra', 690)
2562
+ def _reduce_212(val, _values, result)
2549
2563
  result = []
2550
2564
  result
2551
2565
  end
2552
2566
  .,.,
2553
2567
 
2554
- module_eval(<<'.,.,', 'egrammar.ra', 692)
2555
- def _reduce_212(val, _values, result)
2568
+ module_eval(<<'.,.,', 'egrammar.ra', 691)
2569
+ def _reduce_213(val, _values, result)
2556
2570
  result = val[1]
2557
2571
  result
2558
2572
  end
2559
2573
  .,.,
2560
2574
 
2561
- module_eval(<<'.,.,', 'egrammar.ra', 695)
2562
- def _reduce_213(val, _values, result)
2575
+ module_eval(<<'.,.,', 'egrammar.ra', 694)
2576
+ def _reduce_214(val, _values, result)
2563
2577
  result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0]
2564
2578
  result
2565
2579
  end
2566
2580
  .,.,
2567
2581
 
2568
- module_eval(<<'.,.,', 'egrammar.ra', 696)
2569
- def _reduce_214(val, _values, result)
2582
+ module_eval(<<'.,.,', 'egrammar.ra', 695)
2583
+ def _reduce_215(val, _values, result)
2570
2584
  result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2]
2571
2585
  result
2572
2586
  end
2573
2587
  .,.,
2574
2588
 
2575
- module_eval(<<'.,.,', 'egrammar.ra', 697)
2576
- def _reduce_215(val, _values, result)
2589
+ module_eval(<<'.,.,', 'egrammar.ra', 696)
2590
+ def _reduce_216(val, _values, result)
2577
2591
  result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4]
2578
2592
  result
2579
2593
  end
2580
2594
  .,.,
2581
2595
 
2582
- # reduce 216 omitted
2583
-
2584
2596
  # reduce 217 omitted
2585
2597
 
2586
- module_eval(<<'.,.,', 'egrammar.ra', 703)
2587
- def _reduce_218(val, _values, result)
2598
+ # reduce 218 omitted
2599
+
2600
+ module_eval(<<'.,.,', 'egrammar.ra', 702)
2601
+ def _reduce_219(val, _values, result)
2588
2602
  result = Factory.QREF(val[0][:value]) ; loc result, val[0]
2589
2603
  result
2590
2604
  end
2591
2605
  .,.,
2592
2606
 
2593
- module_eval(<<'.,.,', 'egrammar.ra', 706)
2594
- def _reduce_219(val, _values, result)
2607
+ module_eval(<<'.,.,', 'egrammar.ra', 705)
2608
+ def _reduce_220(val, _values, result)
2595
2609
  result = Factory.literal(val[0][:value]); loc result, val[0]
2596
2610
  result
2597
2611
  end
2598
2612
  .,.,
2599
2613
 
2600
- # reduce 220 omitted
2614
+ # reduce 221 omitted
2601
2615
 
2602
- module_eval(<<'.,.,', 'egrammar.ra', 712)
2603
- def _reduce_221(val, _values, result)
2616
+ module_eval(<<'.,.,', 'egrammar.ra', 711)
2617
+ def _reduce_222(val, _values, result)
2604
2618
  result = nil
2605
2619
  result
2606
2620
  end
2607
2621
  .,.,
2608
2622
 
2609
- # reduce 222 omitted
2610
-
2611
2623
  # reduce 223 omitted
2612
2624
 
2613
2625
  # reduce 224 omitted
@@ -2646,8 +2658,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 712)
2646
2658
 
2647
2659
  # reduce 241 omitted
2648
2660
 
2649
- module_eval(<<'.,.,', 'egrammar.ra', 739)
2650
- def _reduce_242(val, _values, result)
2661
+ # reduce 242 omitted
2662
+
2663
+ module_eval(<<'.,.,', 'egrammar.ra', 738)
2664
+ def _reduce_243(val, _values, result)
2651
2665
  result = nil
2652
2666
  result
2653
2667
  end