puppet 3.4.3 → 3.5.0.rc1

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 (811) hide show
  1. data/CONTRIBUTING.md +6 -6
  2. data/Gemfile +22 -16
  3. data/LICENSE +1 -1
  4. data/README.md +33 -11
  5. data/Rakefile +1 -1
  6. data/conf/auth.conf +4 -0
  7. data/ext/build_defaults.yaml +1 -1
  8. data/ext/debian/control +6 -6
  9. data/ext/ips/transforms +1 -1
  10. data/ext/nagios/naggen +1 -1
  11. data/ext/project_data.yaml +21 -1
  12. data/ext/puppet-test +3 -3
  13. data/ext/redhat/puppet.spec.erb +28 -2
  14. data/ext/suse/puppet.spec +1 -1
  15. data/ext/upload_facts.rb +1 -1
  16. data/ext/windows/service/daemon.rb +99 -20
  17. data/lib/hiera_puppet.rb +2 -2
  18. data/lib/puppet.rb +68 -5
  19. data/lib/puppet/agent.rb +5 -1
  20. data/lib/puppet/application.rb +20 -11
  21. data/lib/puppet/application/agent.rb +1 -1
  22. data/lib/puppet/application/apply.rb +61 -41
  23. data/lib/puppet/application/cert.rb +3 -3
  24. data/lib/puppet/application/device.rb +7 -8
  25. data/lib/puppet/application/doc.rb +1 -1
  26. data/lib/puppet/application/filebucket.rb +3 -3
  27. data/lib/puppet/application/kick.rb +2 -2
  28. data/lib/puppet/application/master.rb +1 -1
  29. data/lib/puppet/application/queue.rb +9 -9
  30. data/lib/puppet/application/resource.rb +2 -2
  31. data/lib/puppet/bindings.rb +6 -6
  32. data/lib/puppet/configurer.rb +17 -14
  33. data/lib/puppet/configurer/fact_handler.rb +1 -1
  34. data/lib/puppet/confine/any.rb +26 -0
  35. data/lib/puppet/confine/exists.rb +1 -1
  36. data/lib/puppet/confiner.rb +1 -0
  37. data/lib/puppet/context.rb +55 -0
  38. data/lib/puppet/context/trusted_information.rb +56 -0
  39. data/lib/puppet/defaults.rb +97 -26
  40. data/lib/puppet/environments.rb +187 -0
  41. data/lib/puppet/error.rb +2 -1
  42. data/lib/puppet/external/pson/common.rb +1 -1
  43. data/lib/puppet/external/pson/pure/generator.rb +1 -1
  44. data/lib/puppet/external/pson/pure/parser.rb +1 -1
  45. data/lib/puppet/face/config.rb +73 -15
  46. data/lib/puppet/face/file/store.rb +1 -1
  47. data/lib/puppet/face/help.rb +2 -1
  48. data/lib/puppet/face/help/action.erb +1 -0
  49. data/lib/puppet/face/help/face.erb +1 -0
  50. data/lib/puppet/face/help/global.erb +1 -0
  51. data/lib/puppet/face/help/man.erb +9 -8
  52. data/lib/puppet/face/module/list.rb +13 -7
  53. data/lib/puppet/face/node/clean.rb +2 -2
  54. data/lib/puppet/face/parser.rb +11 -5
  55. data/lib/puppet/face/status.rb +1 -1
  56. data/lib/puppet/feature/external_facts.rb +2 -2
  57. data/lib/puppet/feature/libuser.rb +1 -1
  58. data/lib/puppet/feature/msgpack.rb +2 -0
  59. data/lib/puppet/feature/rails.rb +2 -2
  60. data/lib/puppet/file_bucket/dipper.rb +9 -9
  61. data/lib/puppet/file_bucket/file.rb +9 -5
  62. data/lib/puppet/file_serving/base.rb +1 -1
  63. data/lib/puppet/file_serving/configuration.rb +1 -1
  64. data/lib/puppet/file_serving/configuration/parser.rb +3 -3
  65. data/lib/puppet/file_serving/content.rb +2 -2
  66. data/lib/puppet/file_serving/fileset.rb +4 -4
  67. data/lib/puppet/file_serving/metadata.rb +69 -15
  68. data/lib/puppet/file_serving/mount/file.rb +1 -1
  69. data/lib/puppet/file_system.rb +361 -1
  70. data/lib/puppet/file_system/file18.rb +3 -3
  71. data/lib/puppet/file_system/file19.rb +3 -3
  72. data/lib/puppet/file_system/file19windows.rb +18 -23
  73. data/lib/puppet/file_system/file_impl.rb +145 -0
  74. data/lib/puppet/file_system/memory_file.rb +23 -9
  75. data/lib/puppet/file_system/memory_impl.rb +64 -0
  76. data/lib/puppet/forge.rb +4 -3
  77. data/lib/puppet/forge/repository.rb +0 -1
  78. data/lib/puppet/graph/relationship_graph.rb +7 -7
  79. data/lib/puppet/indirector.rb +1 -0
  80. data/lib/puppet/indirector/catalog/compiler.rb +3 -30
  81. data/lib/puppet/indirector/catalog/msgpack.rb +6 -0
  82. data/lib/puppet/indirector/catalog/static_compiler.rb +3 -7
  83. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  84. data/lib/puppet/indirector/direct_file_server.rb +2 -2
  85. data/lib/puppet/indirector/exec.rb +1 -1
  86. data/lib/puppet/indirector/face.rb +3 -2
  87. data/lib/puppet/indirector/facts/facter.rb +1 -1
  88. data/lib/puppet/indirector/file_bucket_file/file.rb +25 -15
  89. data/lib/puppet/indirector/file_metadata/file.rb +1 -1
  90. data/lib/puppet/indirector/file_server.rb +1 -1
  91. data/lib/puppet/indirector/indirection.rb +1 -1
  92. data/lib/puppet/indirector/json.rb +4 -4
  93. data/lib/puppet/indirector/key/file.rb +8 -5
  94. data/lib/puppet/indirector/ldap.rb +1 -1
  95. data/lib/puppet/indirector/memory.rb +4 -0
  96. data/lib/puppet/indirector/msgpack.rb +82 -0
  97. data/lib/puppet/indirector/node/exec.rb +1 -1
  98. data/lib/puppet/indirector/node/ldap.rb +3 -3
  99. data/lib/puppet/indirector/node/msgpack.rb +7 -0
  100. data/lib/puppet/indirector/node/yaml.rb +15 -0
  101. data/lib/puppet/indirector/queue.rb +3 -2
  102. data/lib/puppet/indirector/report/msgpack.rb +11 -0
  103. data/lib/puppet/indirector/request.rb +17 -20
  104. data/lib/puppet/indirector/resource/rest.rb +1 -1
  105. data/lib/puppet/indirector/resource_type/parser.rb +3 -13
  106. data/lib/puppet/indirector/rest.rb +6 -7
  107. data/lib/puppet/indirector/ssl_file.rb +7 -7
  108. data/lib/puppet/indirector/yaml.rb +9 -13
  109. data/lib/puppet/metatype/manager.rb +12 -7
  110. data/lib/puppet/module.rb +14 -9
  111. data/lib/puppet/module_tool.rb +21 -26
  112. data/lib/puppet/module_tool/applications/application.rb +1 -1
  113. data/lib/puppet/module_tool/applications/generator.rb +2 -1
  114. data/lib/puppet/module_tool/applications/installer.rb +9 -4
  115. data/lib/puppet/module_tool/applications/uninstaller.rb +10 -7
  116. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  117. data/lib/puppet/module_tool/applications/upgrader.rb +11 -8
  118. data/lib/puppet/module_tool/checksums.rb +1 -1
  119. data/lib/puppet/module_tool/contents_description.rb +2 -0
  120. data/lib/puppet/module_tool/dependency.rb +4 -5
  121. data/lib/puppet/module_tool/errors.rb +2 -0
  122. data/lib/puppet/module_tool/install_directory.rb +3 -0
  123. data/lib/puppet/module_tool/metadata.rb +3 -5
  124. data/lib/puppet/module_tool/modulefile.rb +3 -0
  125. data/lib/puppet/module_tool/shared_behaviors.rb +6 -1
  126. data/lib/puppet/module_tool/skeleton.rb +3 -0
  127. data/lib/puppet/module_tool/tar.rb +3 -0
  128. data/lib/puppet/network/auth_config_parser.rb +1 -1
  129. data/lib/puppet/network/authconfig.rb +5 -2
  130. data/lib/puppet/network/authentication.rb +7 -2
  131. data/lib/puppet/network/authorization.rb +2 -2
  132. data/lib/puppet/network/format_support.rb +4 -0
  133. data/lib/puppet/network/formats.rb +9 -14
  134. data/lib/puppet/network/http.rb +11 -0
  135. data/lib/puppet/network/http/api.rb +0 -2
  136. data/lib/puppet/network/http/api/v1.rb +146 -11
  137. data/lib/puppet/network/http/api/v2.rb +32 -0
  138. data/lib/puppet/network/http/api/v2/authorization.rb +13 -0
  139. data/lib/puppet/network/http/api/v2/environments.rb +21 -0
  140. data/lib/puppet/network/http/connection.rb +94 -37
  141. data/lib/puppet/network/http/error.rb +69 -0
  142. data/lib/puppet/network/http/handler.rb +28 -196
  143. data/lib/puppet/network/http/issues.rb +9 -0
  144. data/lib/puppet/network/http/memory_response.rb +13 -0
  145. data/lib/puppet/network/http/rack/rest.rb +10 -18
  146. data/lib/puppet/network/http/request.rb +56 -0
  147. data/lib/puppet/network/http/response.rb +11 -0
  148. data/lib/puppet/network/http/route.rb +91 -0
  149. data/lib/puppet/network/http/webrick.rb +1 -1
  150. data/lib/puppet/network/http/webrick/rest.rb +7 -12
  151. data/lib/puppet/network/http_pool.rb +3 -3
  152. data/lib/puppet/network/rights.rb +4 -4
  153. data/lib/puppet/node.rb +23 -14
  154. data/lib/puppet/node/environment.rb +149 -125
  155. data/lib/puppet/node/facts.rb +6 -5
  156. data/lib/puppet/parameter.rb +1 -1
  157. data/lib/puppet/parser/ast.rb +1 -1
  158. data/lib/puppet/parser/ast/block_expression.rb +1 -6
  159. data/lib/puppet/parser/ast/collexpr.rb +54 -2
  160. data/lib/puppet/parser/ast/lambda.rb +9 -0
  161. data/lib/puppet/parser/ast/leaf.rb +15 -0
  162. data/lib/puppet/parser/ast/pops_bridge.rb +168 -0
  163. data/lib/puppet/parser/code_merger.rb +13 -0
  164. data/lib/puppet/parser/collector.rb +1 -1
  165. data/lib/puppet/parser/compiler.rb +28 -30
  166. data/lib/puppet/parser/e4_parser_adapter.rb +81 -0
  167. data/lib/puppet/parser/e_parser_adapter.rb +0 -1
  168. data/lib/puppet/parser/files.rb +12 -7
  169. data/lib/puppet/parser/functions.rb +36 -29
  170. data/lib/puppet/parser/functions/collect.rb +1 -1
  171. data/lib/puppet/parser/functions/defined.rb +40 -16
  172. data/lib/puppet/parser/functions/each.rb +55 -41
  173. data/lib/puppet/parser/functions/epp.rb +41 -0
  174. data/lib/puppet/parser/functions/extlookup.rb +2 -2
  175. data/lib/puppet/parser/functions/file.rb +1 -1
  176. data/lib/puppet/parser/functions/filter.rb +68 -16
  177. data/lib/puppet/parser/functions/generate.rb +1 -1
  178. data/lib/puppet/parser/functions/include.rb +3 -2
  179. data/lib/puppet/parser/functions/inline_epp.rb +79 -0
  180. data/lib/puppet/parser/functions/inline_template.rb +1 -1
  181. data/lib/puppet/parser/functions/lookup.rb +127 -27
  182. data/lib/puppet/parser/functions/map.rb +64 -12
  183. data/lib/puppet/parser/functions/reduce.rb +40 -16
  184. data/lib/puppet/parser/functions/select.rb +1 -1
  185. data/lib/puppet/parser/functions/slice.rb +42 -23
  186. data/lib/puppet/parser/grammar.ra +3 -0
  187. data/lib/puppet/parser/lexer.rb +10 -9
  188. data/lib/puppet/parser/parser.rb +15 -12
  189. data/lib/puppet/parser/parser_factory.rb +26 -1
  190. data/lib/puppet/parser/parser_support.rb +13 -4
  191. data/lib/puppet/parser/resource.rb +1 -1
  192. data/lib/puppet/parser/scope.rb +246 -97
  193. data/lib/puppet/parser/templatewrapper.rb +1 -1
  194. data/lib/puppet/parser/type_loader.rb +13 -2
  195. data/lib/puppet/pops.rb +15 -1
  196. data/lib/puppet/pops/adapters.rb +64 -32
  197. data/lib/puppet/pops/binder/binder.rb +122 -150
  198. data/lib/puppet/pops/binder/binder_issues.rb +1 -21
  199. data/lib/puppet/pops/binder/bindings_checker.rb +0 -20
  200. data/lib/puppet/pops/binder/bindings_composer.rb +4 -70
  201. data/lib/puppet/pops/binder/bindings_factory.rb +16 -58
  202. data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -3
  203. data/lib/puppet/pops/binder/bindings_loader.rb +13 -4
  204. data/lib/puppet/pops/binder/bindings_model.rb +17 -31
  205. data/lib/puppet/pops/binder/bindings_model_dumper.rb +2 -20
  206. data/lib/puppet/pops/binder/config/binder_config.rb +8 -40
  207. data/lib/puppet/pops/binder/config/binder_config_checker.rb +2 -43
  208. data/lib/puppet/pops/binder/config/issues.rb +1 -21
  209. data/lib/puppet/pops/binder/injector.rb +86 -7
  210. data/lib/puppet/pops/binder/injector_entry.rb +6 -2
  211. data/lib/puppet/pops/binder/key_factory.rb +7 -1
  212. data/lib/puppet/pops/binder/lookup.rb +191 -0
  213. data/lib/puppet/pops/binder/producers.rb +5 -5
  214. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +2 -3
  215. data/lib/puppet/pops/binder/system_bindings.rb +4 -16
  216. data/lib/puppet/pops/containment.rb +72 -5
  217. data/lib/puppet/pops/evaluator/access_operator.rb +548 -0
  218. data/lib/puppet/pops/evaluator/closure.rb +57 -0
  219. data/lib/puppet/pops/evaluator/compare_operator.rb +168 -0
  220. data/lib/puppet/pops/evaluator/epp_evaluator.rb +87 -0
  221. data/lib/puppet/pops/evaluator/evaluator_impl.rb +1069 -0
  222. data/lib/puppet/pops/evaluator/external_syntax_support.rb +49 -0
  223. data/lib/puppet/pops/evaluator/relationship_operator.rb +156 -0
  224. data/lib/puppet/pops/evaluator/runtime3_support.rb +489 -0
  225. data/lib/puppet/pops/issue_reporter.rb +8 -4
  226. data/lib/puppet/pops/issues.rb +199 -4
  227. data/lib/puppet/pops/label_provider.rb +5 -0
  228. data/lib/puppet/pops/model/ast_transformer.rb +55 -31
  229. data/lib/puppet/pops/model/ast_tree_dumper.rb +9 -1
  230. data/lib/puppet/pops/model/factory.rb +265 -111
  231. data/lib/puppet/pops/model/model.rb +179 -140
  232. data/lib/puppet/pops/model/model_label_provider.rb +38 -9
  233. data/lib/puppet/pops/model/model_tree_dumper.rb +38 -13
  234. data/lib/puppet/pops/parser/code_merger.rb +17 -0
  235. data/lib/puppet/pops/parser/egrammar.ra +110 -61
  236. data/lib/puppet/pops/parser/eparser.rb +1415 -1092
  237. data/lib/puppet/pops/parser/epp_parser.rb +51 -0
  238. data/lib/puppet/pops/parser/epp_support.rb +247 -0
  239. data/lib/puppet/pops/parser/evaluating_parser.rb +53 -15
  240. data/lib/puppet/pops/parser/heredoc_support.rb +139 -0
  241. data/lib/puppet/pops/parser/interpolation_support.rb +227 -0
  242. data/lib/puppet/pops/parser/lexer.rb +83 -192
  243. data/lib/puppet/pops/parser/lexer2.rb +684 -0
  244. data/lib/puppet/pops/parser/lexer_support.rb +107 -0
  245. data/lib/puppet/pops/parser/locatable.rb +23 -0
  246. data/lib/puppet/pops/parser/locator.rb +291 -0
  247. data/lib/puppet/pops/parser/makefile +1 -8
  248. data/lib/puppet/pops/parser/parser_support.rb +76 -48
  249. data/lib/puppet/pops/parser/slurp_support.rb +95 -0
  250. data/lib/puppet/pops/patterns.rb +13 -4
  251. data/lib/puppet/pops/types/class_loader.rb +2 -2
  252. data/lib/puppet/pops/types/enumeration.rb +34 -0
  253. data/lib/puppet/pops/types/type_calculator.rb +983 -58
  254. data/lib/puppet/pops/types/type_factory.rb +203 -15
  255. data/lib/puppet/pops/types/type_parser.rb +355 -12
  256. data/lib/puppet/pops/types/types.rb +314 -24
  257. data/lib/puppet/pops/utils.rb +23 -7
  258. data/lib/puppet/pops/validation.rb +14 -8
  259. data/lib/puppet/pops/validation/checker3_1.rb +17 -12
  260. data/lib/puppet/pops/validation/checker4_0.rb +514 -0
  261. data/lib/puppet/pops/validation/validator_factory_4_0.rb +31 -0
  262. data/lib/puppet/pops/visitor.rb +146 -4
  263. data/lib/puppet/property.rb +1 -1
  264. data/lib/puppet/property/ensure.rb +1 -1
  265. data/lib/puppet/provider.rb +47 -26
  266. data/lib/puppet/provider/aixobject.rb +3 -3
  267. data/lib/puppet/provider/augeas/augeas.rb +11 -11
  268. data/lib/puppet/provider/cron/crontab.rb +10 -1
  269. data/lib/puppet/provider/exec.rb +1 -1
  270. data/lib/puppet/provider/exec/posix.rb +1 -1
  271. data/lib/puppet/provider/exec/windows.rb +1 -1
  272. data/lib/puppet/provider/file/posix.rb +2 -2
  273. data/lib/puppet/provider/file/windows.rb +15 -9
  274. data/lib/puppet/provider/group/aix.rb +2 -2
  275. data/lib/puppet/provider/macauthorization/macauthorization.rb +3 -3
  276. data/lib/puppet/provider/mount.rb +7 -0
  277. data/lib/puppet/provider/mount/parsed.rb +0 -1
  278. data/lib/puppet/provider/naginator.rb +1 -1
  279. data/lib/puppet/provider/nameservice.rb +3 -3
  280. data/lib/puppet/provider/nameservice/directoryservice.rb +3 -3
  281. data/lib/puppet/provider/package/aix.rb +1 -1
  282. data/lib/puppet/provider/package/appdmg.rb +1 -4
  283. data/lib/puppet/provider/package/apple.rb +1 -1
  284. data/lib/puppet/provider/package/apt.rb +1 -1
  285. data/lib/puppet/provider/package/blastwave.rb +1 -1
  286. data/lib/puppet/provider/package/fink.rb +1 -1
  287. data/lib/puppet/provider/package/gem.rb +3 -3
  288. data/lib/puppet/provider/package/openbsd.rb +6 -4
  289. data/lib/puppet/provider/package/pacman.rb +58 -5
  290. data/lib/puppet/provider/package/pip.rb +2 -2
  291. data/lib/puppet/provider/package/pkgdmg.rb +25 -10
  292. data/lib/puppet/provider/package/pkgin.rb +48 -23
  293. data/lib/puppet/provider/package/pkgutil.rb +1 -1
  294. data/lib/puppet/provider/package/ports.rb +1 -1
  295. data/lib/puppet/provider/package/portupgrade.rb +7 -7
  296. data/lib/puppet/provider/package/rpm.rb +16 -8
  297. data/lib/puppet/provider/package/windows.rb +1 -1
  298. data/lib/puppet/provider/package/windows/package.rb +1 -1
  299. data/lib/puppet/provider/parsedfile.rb +1 -1
  300. data/lib/puppet/provider/selboolean/getsetsebool.rb +1 -1
  301. data/lib/puppet/provider/selmodule/semodule.rb +5 -5
  302. data/lib/puppet/provider/service/base.rb +1 -1
  303. data/lib/puppet/provider/service/bsd.rb +3 -3
  304. data/lib/puppet/provider/service/daemontools.rb +20 -20
  305. data/lib/puppet/provider/service/debian.rb +1 -1
  306. data/lib/puppet/provider/service/freebsd.rb +3 -3
  307. data/lib/puppet/provider/service/gentoo.rb +2 -2
  308. data/lib/puppet/provider/service/init.rb +5 -5
  309. data/lib/puppet/provider/service/launchd.rb +4 -4
  310. data/lib/puppet/provider/service/redhat.rb +2 -2
  311. data/lib/puppet/provider/service/runit.rb +4 -4
  312. data/lib/puppet/provider/service/service.rb +3 -4
  313. data/lib/puppet/provider/service/smf.rb +1 -1
  314. data/lib/puppet/provider/service/src.rb +3 -3
  315. data/lib/puppet/provider/service/systemd.rb +4 -4
  316. data/lib/puppet/provider/service/upstart.rb +22 -7
  317. data/lib/puppet/provider/service/windows.rb +7 -7
  318. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +3 -3
  319. data/lib/puppet/provider/user/aix.rb +5 -5
  320. data/lib/puppet/provider/user/directoryservice.rb +8 -5
  321. data/lib/puppet/provider/user/ldap.rb +1 -1
  322. data/lib/puppet/provider/user/pw.rb +1 -1
  323. data/lib/puppet/provider/user/user_role_add.rb +2 -2
  324. data/lib/puppet/provider/user/useradd.rb +19 -5
  325. data/lib/puppet/provider/yumrepo/inifile.rb +187 -0
  326. data/lib/puppet/provider/zone/solaris.rb +4 -4
  327. data/lib/puppet/rails.rb +16 -11
  328. data/lib/puppet/rails/benchmark.rb +1 -1
  329. data/lib/puppet/rails/resource.rb +5 -1
  330. data/lib/puppet/reference/configuration.rb +1 -1
  331. data/lib/puppet/reference/report.rb +1 -1
  332. data/lib/puppet/relationship.rb +10 -5
  333. data/lib/puppet/reports/http.rb +8 -2
  334. data/lib/puppet/reports/rrdgraph.rb +1 -1
  335. data/lib/puppet/reports/store.rb +3 -3
  336. data/lib/puppet/reports/tagmail.rb +4 -4
  337. data/lib/puppet/resource.rb +37 -44
  338. data/lib/puppet/resource/catalog.rb +18 -20
  339. data/lib/puppet/resource/status.rb +7 -6
  340. data/lib/puppet/resource/type.rb +6 -5
  341. data/lib/puppet/resource/type_collection.rb +2 -2
  342. data/lib/puppet/run.rb +9 -8
  343. data/lib/puppet/settings.rb +395 -244
  344. data/lib/puppet/settings/base_setting.rb +10 -4
  345. data/lib/puppet/settings/config_file.rb +81 -44
  346. data/lib/puppet/settings/directory_setting.rb +1 -2
  347. data/lib/puppet/settings/file_setting.rb +12 -5
  348. data/lib/puppet/settings/ini_file.rb +171 -0
  349. data/lib/puppet/ssl/base.rb +4 -0
  350. data/lib/puppet/ssl/certificate_authority.rb +16 -11
  351. data/lib/puppet/ssl/certificate_authority/interface.rb +3 -2
  352. data/lib/puppet/ssl/certificate_factory.rb +50 -5
  353. data/lib/puppet/ssl/certificate_request.rb +2 -2
  354. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  355. data/lib/puppet/ssl/certificate_revocation_list.rb +3 -1
  356. data/lib/puppet/ssl/host.rb +9 -8
  357. data/lib/puppet/ssl/inventory.rb +1 -1
  358. data/lib/puppet/ssl/key.rb +1 -1
  359. data/lib/puppet/ssl/validator/default_validator.rb +1 -1
  360. data/lib/puppet/status.rb +8 -7
  361. data/lib/puppet/test/test_helper.rb +35 -4
  362. data/lib/puppet/transaction/event.rb +6 -5
  363. data/lib/puppet/transaction/report.rb +10 -10
  364. data/lib/puppet/type.rb +1 -3
  365. data/lib/puppet/type/augeas.rb +2 -1
  366. data/lib/puppet/type/cron.rb +41 -11
  367. data/lib/puppet/type/exec.rb +5 -5
  368. data/lib/puppet/type/file.rb +42 -4
  369. data/lib/puppet/type/file/content.rb +5 -6
  370. data/lib/puppet/type/file/ensure.rb +3 -3
  371. data/lib/puppet/type/file/source.rb +12 -6
  372. data/lib/puppet/type/file/target.rb +5 -5
  373. data/lib/puppet/type/k5login.rb +4 -4
  374. data/lib/puppet/type/mount.rb +1 -1
  375. data/lib/puppet/type/package.rb +79 -3
  376. data/lib/puppet/type/resources.rb +34 -5
  377. data/lib/puppet/type/selboolean.rb +1 -1
  378. data/lib/puppet/type/selmodule.rb +1 -1
  379. data/lib/puppet/type/ssh_authorized_key.rb +2 -1
  380. data/lib/puppet/type/sshkey.rb +2 -1
  381. data/lib/puppet/type/tidy.rb +1 -1
  382. data/lib/puppet/type/user.rb +4 -1
  383. data/lib/puppet/type/yumrepo.rb +219 -344
  384. data/lib/puppet/type/zone.rb +15 -5
  385. data/lib/puppet/util.rb +14 -13
  386. data/lib/puppet/util/adsi.rb +19 -3
  387. data/lib/puppet/util/autoload.rb +27 -24
  388. data/lib/puppet/util/backups.rb +6 -6
  389. data/lib/puppet/util/checksums.rb +2 -2
  390. data/lib/puppet/util/classgen.rb +1 -1
  391. data/lib/puppet/util/colors.rb +4 -12
  392. data/lib/puppet/util/command_line.rb +2 -2
  393. data/lib/puppet/util/command_line/trollop.rb +3 -3
  394. data/lib/puppet/util/docs.rb +2 -2
  395. data/lib/puppet/util/errors.rb +8 -1
  396. data/lib/puppet/util/execution.rb +12 -5
  397. data/lib/puppet/util/filetype.rb +5 -5
  398. data/lib/puppet/util/inifile.rb +19 -4
  399. data/lib/puppet/util/instrumentation/data.rb +5 -0
  400. data/lib/puppet/util/instrumentation/indirection_probe.rb +6 -1
  401. data/lib/puppet/util/instrumentation/listener.rb +6 -1
  402. data/lib/puppet/util/json_lockfile.rb +4 -1
  403. data/lib/puppet/util/ldap/connection.rb +1 -1
  404. data/lib/puppet/util/lockfile.rb +10 -6
  405. data/lib/puppet/util/log.rb +6 -1
  406. data/lib/puppet/util/log/destinations.rb +2 -2
  407. data/lib/puppet/util/metric.rb +9 -4
  408. data/lib/puppet/util/nagios_maker.rb +26 -1
  409. data/lib/puppet/util/network_device.rb +1 -1
  410. data/lib/puppet/util/network_device/config.rb +1 -1
  411. data/lib/puppet/util/network_device/transport/ssh.rb +3 -3
  412. data/lib/puppet/util/plugins.rb +1 -1
  413. data/lib/puppet/util/profiler.rb +13 -1
  414. data/lib/puppet/util/pson.rb +1 -1
  415. data/lib/puppet/util/queue/stomp.rb +2 -2
  416. data/lib/puppet/util/rdoc.rb +1 -1
  417. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
  418. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +19 -19
  419. data/lib/puppet/util/reference.rb +1 -1
  420. data/lib/puppet/util/resource_template.rb +1 -1
  421. data/lib/puppet/util/retryaction.rb +1 -1
  422. data/lib/puppet/util/selinux.rb +2 -2
  423. data/lib/puppet/util/storage.rb +3 -3
  424. data/lib/puppet/util/symbolic_file_mode.rb +1 -1
  425. data/lib/puppet/util/tag_set.rb +15 -3
  426. data/lib/puppet/util/tagging.rb +12 -17
  427. data/lib/puppet/util/watched_file.rb +1 -1
  428. data/lib/puppet/util/watcher.rb +1 -1
  429. data/lib/puppet/util/windows/error.rb +2 -2
  430. data/lib/puppet/util/windows/file.rb +20 -4
  431. data/lib/puppet/util/windows/registry.rb +2 -2
  432. data/lib/puppet/vendor/safe_yaml/CHANGES.md +1 -1
  433. data/lib/puppet/version.rb +1 -1
  434. data/lib/puppetx.rb +1 -21
  435. data/lib/puppetx/puppet/syntax_checker.rb +1 -1
  436. data/lib/puppetx/puppetlabs/syntax_checkers/json.rb +9 -11
  437. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +2 -0
  438. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +6 -0
  439. data/spec/fixtures/{unit/pops/binder/hiera2/yaml_backend/empty/common.yaml → integration/node/environment/sitedir/03_empty.pp} +0 -0
  440. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +2 -0
  441. data/spec/fixtures/integration/provider/cron/crontab/purged +8 -0
  442. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  443. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +3 -12
  444. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +10 -0
  445. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +20 -0
  446. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/{awesome/lib/puppetx/awesome → awesome2/lib/puppetx/awesome2}/echo_scheme_handler.rb +2 -2
  447. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +5 -0
  448. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +6 -0
  449. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +2 -2
  450. data/spec/fixtures/unit/provider/service/systemd/{list_units → list_units_services} +0 -1
  451. data/spec/integration/agent/logging_spec.rb +1 -1
  452. data/spec/integration/application/apply_spec.rb +78 -3
  453. data/spec/integration/application/doc_spec.rb +3 -2
  454. data/spec/integration/configurer_spec.rb +5 -3
  455. data/spec/integration/directory_environments_spec.rb +50 -0
  456. data/spec/integration/indirector/direct_file_server_spec.rb +1 -1
  457. data/spec/integration/indirector/file_content/file_server_spec.rb +4 -5
  458. data/spec/integration/network/authconfig_spec.rb +4 -4
  459. data/spec/integration/network/formats_spec.rb +1 -1
  460. data/spec/integration/node/environment_spec.rb +67 -15
  461. data/spec/integration/node/facts_spec.rb +1 -1
  462. data/spec/integration/node_spec.rb +1 -1
  463. data/spec/integration/parser/catalog_spec.rb +100 -60
  464. data/spec/integration/parser/compiler_spec.rb +102 -13
  465. data/spec/integration/parser/future_compiler_spec.rb +416 -0
  466. data/spec/integration/parser/parser_spec.rb +44 -105
  467. data/spec/integration/parser/scope_spec.rb +614 -528
  468. data/spec/integration/provider/cron/crontab_spec.rb +21 -0
  469. data/spec/integration/provider/mount_spec.rb +15 -2
  470. data/spec/integration/resource/catalog_spec.rb +1 -1
  471. data/spec/integration/resource/type_collection_spec.rb +3 -4
  472. data/spec/integration/ssl/autosign_spec.rb +1 -1
  473. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -1
  474. data/spec/integration/ssl/host_spec.rb +1 -1
  475. data/spec/integration/transaction_spec.rb +13 -13
  476. data/spec/integration/type/exec_spec.rb +2 -2
  477. data/spec/integration/type/file_spec.rb +114 -41
  478. data/spec/integration/type/nagios_spec.rb +80 -0
  479. data/spec/integration/type/tidy_spec.rb +2 -2
  480. data/spec/integration/util/execution_spec.rb +17 -0
  481. data/spec/integration/util/rdoc/parser_spec.rb +1 -1
  482. data/spec/integration/util/settings_spec.rb +1 -1
  483. data/spec/integration/util/windows/security_spec.rb +27 -2
  484. data/spec/lib/matchers/include.rb +27 -0
  485. data/spec/lib/matchers/include_spec.rb +32 -0
  486. data/spec/lib/matchers/json.rb +135 -79
  487. data/spec/lib/matchers/match_tokens2.rb +74 -0
  488. data/spec/lib/matchers/resource.rb +35 -0
  489. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +7 -0
  490. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +6 -0
  491. data/spec/lib/puppet/indirector_testing.rb +12 -2
  492. data/spec/lib/puppet_spec/files.rb +1 -0
  493. data/spec/lib/puppet_spec/matchers.rb +5 -0
  494. data/spec/lib/puppet_spec/modules.rb +1 -1
  495. data/spec/lib/puppet_spec/scope.rb +14 -0
  496. data/spec/shared_behaviours/file_server_terminus.rb +2 -2
  497. data/spec/spec_helper.rb +47 -17
  498. data/spec/unit/agent_spec.rb +8 -1
  499. data/spec/unit/application/agent_spec.rb +5 -4
  500. data/spec/unit/application/apply_spec.rb +34 -15
  501. data/spec/unit/application/device_spec.rb +27 -32
  502. data/spec/unit/application/doc_spec.rb +4 -4
  503. data/spec/unit/application/filebucket_spec.rb +1 -1
  504. data/spec/unit/application/master_spec.rb +2 -2
  505. data/spec/unit/application_spec.rb +1 -1
  506. data/spec/unit/configurer/downloader_spec.rb +1 -1
  507. data/spec/unit/configurer/fact_handler_spec.rb +5 -16
  508. data/spec/unit/configurer_spec.rb +2 -2
  509. data/spec/unit/confine/exists_spec.rb +5 -5
  510. data/spec/unit/context/trusted_information_spec.rb +124 -0
  511. data/spec/unit/context_spec.rb +74 -0
  512. data/spec/unit/environments_spec.rb +126 -0
  513. data/spec/unit/face/config_spec.rb +31 -16
  514. data/spec/unit/face/module/build_spec.rb +1 -0
  515. data/spec/unit/face/module/install_spec.rb +21 -104
  516. data/spec/unit/face/module/list_spec.rb +52 -36
  517. data/spec/unit/face/module/uninstall_spec.rb +18 -25
  518. data/spec/unit/face/parser_spec.rb +39 -23
  519. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  520. data/spec/unit/file_serving/base_spec.rb +9 -13
  521. data/spec/unit/file_serving/configuration/parser_spec.rb +8 -2
  522. data/spec/unit/file_serving/configuration_spec.rb +7 -7
  523. data/spec/unit/file_serving/content_spec.rb +7 -12
  524. data/spec/unit/file_serving/fileset_spec.rb +49 -53
  525. data/spec/unit/file_serving/metadata_spec.rb +83 -32
  526. data/spec/unit/file_serving/mount/file_spec.rb +10 -10
  527. data/spec/unit/file_system/tempfile_spec.rb +3 -3
  528. data/spec/unit/file_system_spec.rb +508 -0
  529. data/spec/unit/forge/errors_spec.rb +1 -1
  530. data/spec/unit/forge/repository_spec.rb +1 -3
  531. data/spec/unit/hiera/scope_spec.rb +6 -2
  532. data/spec/unit/hiera_puppet_spec.rb +13 -6
  533. data/spec/unit/indirector/catalog/msgpack_spec.rb +12 -0
  534. data/spec/unit/indirector/catalog/static_compiler_spec.rb +42 -11
  535. data/spec/unit/indirector/direct_file_server_spec.rb +6 -6
  536. data/spec/unit/indirector/facts/facter_spec.rb +5 -5
  537. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
  538. data/spec/unit/indirector/file_metadata/file_spec.rb +2 -2
  539. data/spec/unit/indirector/file_server_spec.rb +4 -4
  540. data/spec/unit/indirector/json_spec.rb +6 -6
  541. data/spec/unit/indirector/key/file_spec.rb +8 -8
  542. data/spec/unit/indirector/msgpack_spec.rb +191 -0
  543. data/spec/unit/indirector/node/active_record_spec.rb +1 -1
  544. data/spec/unit/indirector/node/ldap_spec.rb +16 -7
  545. data/spec/unit/indirector/node/msgpack_spec.rb +24 -0
  546. data/spec/unit/indirector/node/plain_spec.rb +1 -1
  547. data/spec/unit/indirector/queue_spec.rb +1 -1
  548. data/spec/unit/indirector/report/msgpack_spec.rb +28 -0
  549. data/spec/unit/indirector/request_spec.rb +16 -8
  550. data/spec/unit/indirector/rest_spec.rb +0 -4
  551. data/spec/unit/indirector/ssl_file_spec.rb +12 -11
  552. data/spec/unit/indirector/yaml_spec.rb +4 -4
  553. data/spec/unit/man_spec.rb +32 -0
  554. data/spec/unit/module_spec.rb +60 -46
  555. data/spec/unit/module_tool/applications/checksummer_spec.rb +1 -1
  556. data/spec/unit/module_tool/applications/installer_spec.rb +53 -16
  557. data/spec/unit/module_tool/applications/uninstaller_spec.rb +26 -25
  558. data/spec/unit/module_tool/tar_spec.rb +1 -1
  559. data/spec/unit/module_tool_spec.rb +17 -90
  560. data/spec/unit/network/authconfig_spec.rb +3 -4
  561. data/spec/unit/network/authentication_spec.rb +20 -6
  562. data/spec/unit/network/authorization_spec.rb +11 -1
  563. data/spec/unit/network/formats_spec.rb +32 -9
  564. data/spec/unit/network/http/api/v1_spec.rb +365 -62
  565. data/spec/unit/network/http/api/v2/authorization_spec.rb +57 -0
  566. data/spec/unit/network/http/api/v2/environments_spec.rb +42 -0
  567. data/spec/unit/network/http/api/v2_spec.rb +14 -0
  568. data/spec/unit/network/http/connection_spec.rb +39 -5
  569. data/spec/unit/network/http/error_spec.rb +30 -0
  570. data/spec/unit/network/http/handler_spec.rb +69 -419
  571. data/spec/unit/network/http/rack/rest_spec.rb +20 -28
  572. data/spec/unit/network/http/route_spec.rb +75 -0
  573. data/spec/unit/network/http/webrick/rest_spec.rb +21 -58
  574. data/spec/unit/network/http_pool_spec.rb +3 -3
  575. data/spec/unit/network/rights_spec.rb +2 -2
  576. data/spec/unit/node/environment_spec.rb +108 -89
  577. data/spec/unit/node/facts_spec.rb +5 -12
  578. data/spec/unit/node_spec.rb +22 -22
  579. data/spec/unit/parser/ast/collection_spec.rb +1 -1
  580. data/spec/unit/parser/ast/leaf_spec.rb +2 -0
  581. data/spec/unit/parser/ast/resource_spec.rb +1 -1
  582. data/spec/unit/parser/compiler_spec.rb +5 -3
  583. data/spec/unit/parser/files_spec.rb +40 -50
  584. data/spec/unit/parser/functions/defined_spec.rb +80 -18
  585. data/spec/unit/parser/functions/epp_spec.rb +88 -0
  586. data/spec/unit/parser/functions/fqdn_rand_spec.rb +4 -1
  587. data/spec/unit/parser/functions/generate_spec.rb +6 -2
  588. data/spec/unit/parser/functions/hiera_array_spec.rb +5 -2
  589. data/spec/unit/parser/functions/hiera_hash_spec.rb +4 -1
  590. data/spec/unit/parser/functions/hiera_include_spec.rb +6 -3
  591. data/spec/unit/parser/functions/hiera_spec.rb +5 -2
  592. data/spec/unit/parser/functions/include_spec.rb +0 -1
  593. data/spec/unit/parser/functions/inline_epp_spec.rb +82 -0
  594. data/spec/unit/parser/functions/lookup_spec.rb +66 -16
  595. data/spec/unit/parser/functions_spec.rb +25 -91
  596. data/spec/unit/parser/lexer_spec.rb +1 -1
  597. data/spec/unit/parser/methods/filter_spec.rb +56 -0
  598. data/spec/unit/parser/methods/map_spec.rb +94 -5
  599. data/spec/unit/parser/methods/reduce_spec.rb +10 -0
  600. data/spec/unit/parser/methods/shared.rb +2 -18
  601. data/spec/unit/parser/methods/slice_spec.rb +39 -1
  602. data/spec/unit/parser/parser_spec.rb +14 -10
  603. data/spec/unit/parser/resource_spec.rb +3 -9
  604. data/spec/unit/parser/scope_spec.rb +81 -78
  605. data/spec/unit/parser/type_loader_spec.rb +0 -4
  606. data/spec/unit/pops/benchmark_spec.rb +142 -0
  607. data/spec/unit/pops/binder/binder_spec.rb +15 -34
  608. data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -41
  609. data/spec/unit/pops/binder/bindings_composer_spec.rb +6 -31
  610. data/spec/unit/pops/binder/config/binder_config_spec.rb +5 -18
  611. data/spec/unit/pops/binder/injector_spec.rb +76 -81
  612. data/spec/unit/pops/evaluator/access_ops_spec.rb +376 -0
  613. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +77 -0
  614. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +103 -0
  615. data/spec/unit/pops/evaluator/collections_ops_spec.rb +111 -0
  616. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +256 -0
  617. data/spec/unit/pops/evaluator/conditionals_spec.rb +190 -0
  618. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1045 -0
  619. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +75 -0
  620. data/spec/unit/pops/evaluator/logical_ops_spec.rb +90 -0
  621. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +44 -0
  622. data/spec/unit/pops/evaluator/variables_spec.rb +194 -0
  623. data/spec/unit/pops/factory_spec.rb +6 -29
  624. data/spec/unit/pops/issues_spec.rb +1 -1
  625. data/spec/unit/pops/model/ast_transformer_spec.rb +6 -9
  626. data/spec/unit/pops/model/model_spec.rb +2 -2
  627. data/spec/unit/pops/parser/epp_parser_spec.rb +86 -0
  628. data/spec/unit/pops/parser/evaluating_parser_spec.rb +4 -2
  629. data/spec/unit/pops/parser/lexer2_spec.rb +428 -0
  630. data/spec/unit/pops/parser/lexer_spec.rb +25 -86
  631. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +29 -4
  632. data/spec/unit/pops/parser/parse_calls_spec.rb +10 -6
  633. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -9
  634. data/spec/unit/pops/parser/parse_containers_spec.rb +43 -12
  635. data/spec/unit/pops/parser/parse_heredoc_spec.rb +73 -0
  636. data/spec/unit/pops/parser/parse_resource_spec.rb +14 -0
  637. data/spec/unit/pops/parser/parser_spec.rb +3 -1
  638. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +4 -4
  639. data/spec/unit/pops/transformer/transform_calls_spec.rb +41 -6
  640. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -9
  641. data/spec/unit/pops/transformer/transform_containers_spec.rb +12 -4
  642. data/spec/unit/pops/types/enumeration_spec.rb +50 -0
  643. data/spec/unit/pops/types/type_calculator_spec.rb +1171 -196
  644. data/spec/unit/pops/types/type_factory_spec.rb +108 -4
  645. data/spec/unit/pops/types/type_parser_spec.rb +114 -10
  646. data/spec/unit/pops/validator/validator_spec.rb +36 -1
  647. data/spec/unit/provider/augeas/augeas_spec.rb +39 -16
  648. data/spec/unit/provider/cron/parsed_spec.rb +27 -31
  649. data/spec/unit/provider/file/posix_spec.rb +2 -2
  650. data/spec/unit/provider/group/windows_adsi_spec.rb +1 -0
  651. data/spec/unit/provider/mount_spec.rb +12 -1
  652. data/spec/unit/provider/nameservice/directoryservice_spec.rb +3 -3
  653. data/spec/unit/provider/package/apt_spec.rb +1 -1
  654. data/spec/unit/provider/package/aptrpm_spec.rb +1 -1
  655. data/spec/unit/provider/package/gem_spec.rb +12 -0
  656. data/spec/unit/provider/package/msi_spec.rb +4 -0
  657. data/spec/unit/provider/package/openbsd_spec.rb +10 -10
  658. data/spec/unit/provider/package/pacman_spec.rb +36 -7
  659. data/spec/unit/provider/package/pkgin_spec.rb +57 -55
  660. data/spec/unit/provider/package/rpm_spec.rb +51 -6
  661. data/spec/unit/provider/service/base_spec.rb +4 -4
  662. data/spec/unit/provider/service/daemontools_spec.rb +8 -13
  663. data/spec/unit/provider/service/freebsd_spec.rb +3 -3
  664. data/spec/unit/provider/service/gentoo_spec.rb +24 -24
  665. data/spec/unit/provider/service/init_spec.rb +15 -15
  666. data/spec/unit/provider/service/openbsd_spec.rb +16 -16
  667. data/spec/unit/provider/service/openrc_spec.rb +20 -20
  668. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  669. data/spec/unit/provider/service/runit_spec.rb +5 -8
  670. data/spec/unit/provider/service/src_spec.rb +4 -4
  671. data/spec/unit/provider/service/systemd_spec.rb +24 -14
  672. data/spec/unit/provider/service/upstart_spec.rb +12 -4
  673. data/spec/unit/provider/service/windows_spec.rb +1 -1
  674. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +21 -23
  675. data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
  676. data/spec/unit/provider/user/useradd_spec.rb +43 -15
  677. data/spec/unit/provider/user/windows_adsi_spec.rb +1 -0
  678. data/spec/unit/provider/yumrepo/inifile_spec.rb +105 -0
  679. data/spec/unit/provider/zone/solaris_spec.rb +1 -1
  680. data/spec/unit/provider_spec.rb +120 -62
  681. data/spec/unit/rails/host_spec.rb +1 -1
  682. data/spec/unit/rails/param_value_spec.rb +4 -0
  683. data/spec/unit/relationship_spec.rb +4 -4
  684. data/spec/unit/reports/http_spec.rb +14 -3
  685. data/spec/unit/reports/rrdgraph_spec.rb +0 -1
  686. data/spec/unit/reports/store_spec.rb +2 -2
  687. data/spec/unit/resource/catalog_spec.rb +17 -29
  688. data/spec/unit/resource/status_spec.rb +1 -1
  689. data/spec/unit/resource/type_collection_spec.rb +28 -47
  690. data/spec/unit/resource/type_spec.rb +12 -23
  691. data/spec/unit/resource_spec.rb +54 -93
  692. data/spec/unit/run_spec.rb +3 -3
  693. data/spec/unit/settings/autosign_setting_spec.rb +1 -1
  694. data/spec/unit/settings/config_file_spec.rb +68 -15
  695. data/spec/unit/settings/file_setting_spec.rb +2 -2
  696. data/spec/unit/settings/ini_file_spec.rb +184 -0
  697. data/spec/unit/settings_spec.rb +137 -79
  698. data/spec/unit/ssl/certificate_authority/interface_spec.rb +3 -1
  699. data/spec/unit/ssl/certificate_authority_spec.rb +11 -9
  700. data/spec/unit/ssl/certificate_factory_spec.rb +19 -4
  701. data/spec/unit/ssl/certificate_request_attributes_spec.rb +1 -1
  702. data/spec/unit/ssl/certificate_revocation_list_spec.rb +101 -72
  703. data/spec/unit/ssl/host_spec.rb +8 -20
  704. data/spec/unit/ssl/inventory_spec.rb +2 -2
  705. data/spec/unit/ssl/key_spec.rb +4 -4
  706. data/spec/unit/status_spec.rb +6 -4
  707. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -11
  708. data/spec/unit/transaction/event_spec.rb +2 -2
  709. data/spec/unit/transaction/report_spec.rb +24 -15
  710. data/spec/unit/transaction/resource_harness_spec.rb +1 -1
  711. data/spec/unit/type/cron_spec.rb +39 -1
  712. data/spec/unit/type/file/content_spec.rb +4 -5
  713. data/spec/unit/type/file/ctime_spec.rb +1 -1
  714. data/spec/unit/type/file/mode_spec.rb +5 -4
  715. data/spec/unit/type/file/mtime_spec.rb +1 -1
  716. data/spec/unit/type/file/source_spec.rb +30 -7
  717. data/spec/unit/type/file_spec.rb +8 -8
  718. data/spec/unit/type/k5login_spec.rb +3 -3
  719. data/spec/unit/type/nagios_spec.rb +6 -0
  720. data/spec/unit/type/package/package_settings_spec.rb +135 -0
  721. data/spec/unit/type/package_spec.rb +13 -1
  722. data/spec/unit/type/resources_spec.rb +155 -0
  723. data/spec/unit/type/service_spec.rb +3 -3
  724. data/spec/unit/type/ssh_authorized_key_spec.rb +96 -93
  725. data/spec/unit/type/sshkey_spec.rb +39 -30
  726. data/spec/unit/type/tidy_spec.rb +19 -12
  727. data/spec/unit/type/user_spec.rb +47 -2
  728. data/spec/unit/type/whit_spec.rb +2 -2
  729. data/spec/unit/type/yumrepo_spec.rb +32 -177
  730. data/spec/unit/type/zone_spec.rb +2 -2
  731. data/spec/unit/type_spec.rb +11 -0
  732. data/spec/unit/util/adsi_spec.rb +48 -1
  733. data/spec/unit/util/autoload_spec.rb +24 -39
  734. data/spec/unit/util/backups_spec.rb +25 -28
  735. data/spec/unit/util/checksums_spec.rb +1 -3
  736. data/spec/unit/util/colors_spec.rb +14 -0
  737. data/spec/unit/util/docs_spec.rb +9 -0
  738. data/spec/unit/util/execution_spec.rb +1 -1
  739. data/spec/unit/util/filetype_spec.rb +7 -7
  740. data/spec/unit/util/instrumentation/data_spec.rb +3 -1
  741. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +2 -0
  742. data/spec/unit/util/instrumentation/listener_spec.rb +3 -2
  743. data/spec/unit/util/json_lockfile_spec.rb +25 -4
  744. data/spec/unit/util/lockfile_spec.rb +49 -7
  745. data/spec/unit/util/log/destinations_spec.rb +1 -0
  746. data/spec/unit/util/log_spec.rb +1 -1
  747. data/spec/unit/util/metric_spec.rb +1 -1
  748. data/spec/unit/util/pidlock_spec.rb +6 -6
  749. data/spec/unit/util/pson_spec.rb +2 -2
  750. data/spec/unit/util/rdoc/parser_spec.rb +32 -29
  751. data/spec/unit/util/resource_template_spec.rb +3 -3
  752. data/spec/unit/util/selinux_spec.rb +5 -5
  753. data/spec/unit/util/storage_spec.rb +4 -4
  754. data/spec/unit/util/tag_set_spec.rb +1 -1
  755. data/spec/unit/util/watcher_spec.rb +1 -4
  756. data/spec/unit/util/yaml_spec.rb +2 -2
  757. data/spec/unit/util_spec.rb +7 -7
  758. data/tasks/benchmark.rake +0 -1
  759. data/tasks/parallel.rake +408 -0
  760. data/tasks/yard.rake +59 -0
  761. metadata +2889 -2782
  762. checksums.yaml +0 -7
  763. data/README_DEVELOPER.md +0 -809
  764. data/lib/puppet/file_system/file.rb +0 -271
  765. data/lib/puppet/network/http/rack/httphandler.rb +0 -13
  766. data/lib/puppet/pops/binder/hiera2.rb +0 -10
  767. data/lib/puppet/pops/binder/hiera2/bindings_provider.rb +0 -148
  768. data/lib/puppet/pops/binder/hiera2/config.rb +0 -69
  769. data/lib/puppet/pops/binder/hiera2/config_checker.rb +0 -68
  770. data/lib/puppet/pops/binder/hiera2/diagnostic_producer.rb +0 -36
  771. data/lib/puppet/pops/binder/hiera2/issues.rb +0 -67
  772. data/lib/puppet/pops/binder/hiera2/json_backend.rb +0 -18
  773. data/lib/puppet/pops/binder/hiera2/yaml_backend.rb +0 -21
  774. data/lib/puppet/pops/binder/scheme_handler/confdir_hiera_scheme.rb +0 -67
  775. data/lib/puppet/pops/binder/scheme_handler/module_hiera_scheme.rb +0 -92
  776. data/lib/puppet/pops/parser/grammar.ra +0 -746
  777. data/lib/puppet/provider/port/parsed.rb +0 -173
  778. data/lib/puppet/type/port.rb +0 -119
  779. data/lib/puppetx/puppet/hiera2_backend.rb +0 -31
  780. data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/binder_config.yaml +0 -18
  781. data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/hiera.yaml +0 -8
  782. data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/common.yaml +0 -1
  783. data/spec/fixtures/unit/pops/binder/bindings_composer/hiera1config/modules/good/hiera.yaml +0 -10
  784. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/common.yaml +0 -1
  785. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/hiera.yaml +0 -11
  786. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/localhost.yaml +0 -1
  787. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/common.yaml +0 -3
  788. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/hiera.yaml +0 -13
  789. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppet/bindings/awesome/default.rb +0 -4
  790. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/lib/puppetx/awesome/echo_backend.rb +0 -11
  791. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome/localhost.yaml +0 -1
  792. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/common.yaml +0 -3
  793. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/hiera_config.yaml +0 -9
  794. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/common.yaml +0 -2
  795. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/hiera.yaml +0 -11
  796. data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/hiera.yaml +0 -9
  797. data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.json +0 -9
  798. data/spec/fixtures/unit/pops/binder/hiera2/bindings_provider/ok/node.example.com.yaml +0 -5
  799. data/spec/fixtures/unit/pops/binder/hiera2/config/bad_syntax/hiera.yaml +0 -10
  800. data/spec/fixtures/unit/pops/binder/hiera2/config/malformed_hierarchy/hiera.yaml +0 -8
  801. data/spec/fixtures/unit/pops/binder/hiera2/config/missing/foo.txt +0 -1
  802. data/spec/fixtures/unit/pops/binder/hiera2/config/no_backends/hiera.yaml +0 -7
  803. data/spec/fixtures/unit/pops/binder/hiera2/config/no_hierarchy/hiera.yaml +0 -4
  804. data/spec/fixtures/unit/pops/binder/hiera2/config/not_a_hash/hiera.yaml +0 -2
  805. data/spec/fixtures/unit/pops/binder/hiera2/config/ok/hiera.yaml +0 -8
  806. data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/invalid/common.yaml +0 -1
  807. data/spec/fixtures/unit/pops/binder/hiera2/yaml_backend/ok/common.yaml +0 -2
  808. data/spec/unit/file_system/file_spec.rb +0 -486
  809. data/spec/unit/pops/binder/hiera2/bindings_provider_spec.rb +0 -74
  810. data/spec/unit/pops/binder/hiera2/config_spec.rb +0 -61
  811. data/spec/unit/pops/binder/hiera2/yaml_backend_spec.rb +0 -33
@@ -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', 699)
23
+ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 748)
24
24
 
25
25
  # Make emacs happy
26
26
  # Local Variables:
@@ -30,150 +30,198 @@ module_eval(<<'...end egrammar.ra/module_eval...', 'egrammar.ra', 699)
30
30
  ##### State transition tables begin ###
31
31
 
32
32
  clist = [
33
- '68,215,228,229,-126,230,202,229,238,87,88,84,79,90,290,94,262,89,-124',
34
- '68,80,82,81,83,68,217,51,53,51,53,224,223,90,239,94,-192,89,90,93,94',
35
- '199,89,86,85,-126,212,72,73,75,74,77,78,276,70,71,51,53,93,-124,68,69',
36
- '202,93,117,-201,54,119,76,87,88,84,79,90,240,94,-192,89,70,71,80,82',
37
- '81,83,68,69,59,229,59,51,53,292,212,117,109,312,119,90,93,94,112,89',
38
- '86,85,111,-201,72,73,75,74,77,78,294,70,71,59,51,53,279,68,69,112,93',
39
- '51,53,111,54,76,87,88,84,79,90,307,94,306,89,70,71,80,82,81,83,112,69',
40
- '112,219,111,59,111,321,218,278,117,112,112,119,93,111,111,117,86,85',
41
- '119,275,72,73,75,74,77,78,220,70,71,221,59,68,68,307,69,306,238,59,189',
42
- '299,300,76,84,79,90,90,94,94,89,89,301,80,82,81,83,51,53,202,68,165',
43
- '51,53,284,64,66,65,67,125,304,93,93,90,236,94,85,89,308,72,73,75,74',
44
- '77,78,310,70,71,222,261,68,236,238,69,54,317,318,260,93,54,76,84,79',
45
- '90,260,94,63,89,63,131,80,82,81,83,68,102,254,327,253,198,113,252,330',
46
- '102,103,238,102,90,93,94,334,89,310,336,337,338,72,73,75,74,77,78,339',
47
- '70,71,99,342,343,344,68,69,91,93,236,63,60,351,76,87,88,84,79,90,352',
48
- '94,353,89,70,71,80,82,81,83,68,69,354,,,,,,,,,,79,90,93,94,,89,86,85',
49
- '80,,72,73,75,74,77,78,,70,71,,,,,,69,,93,,,,,76,68,,72,73,75,74,77,78',
50
- ',70,71,,79,90,,94,69,89,,,80,,,76,68,,,,,,,,,,,,79,90,93,94,,89,,,80',
51
- ',72,73,75,74,77,78,,70,71,,,,,,69,,93,,,,,76,68,,72,73,75,74,77,78,',
52
- '70,71,,79,90,,94,69,89,,,80,,,76,68,,,,,,,,,,,,,90,93,94,,89,,,,,72',
53
- '73,75,74,77,78,,70,71,,,,,,69,,93,,,,,76,,,72,73,75,74,77,78,,70,71',
54
- ',,,,68,69,,,,,,,76,87,88,84,79,90,,94,,89,,,80,82,81,83,68,,,,,,,,,',
55
- ',,,90,93,94,,89,86,85,,,72,73,75,74,77,78,,70,71,,,,,,69,,93,,,,68,76',
56
- ',,72,73,75,74,77,78,,70,71,90,,94,,89,69,,,,,,68,76,,,,,,,,,,,,90,93',
57
- '94,,89,,,,,72,73,75,74,,,,70,71,,,,,,69,,93,,,,,76,,,72,73,75,74,,,',
58
- '70,71,,,,,68,69,,,,,,,76,87,88,84,79,90,234,94,,89,,,80,82,81,83,,,',
59
- ',,,,,,,,,,,93,,,,86,85,,,72,73,75,74,77,78,,70,71,,,,,68,69,,,,,,,76',
60
- '87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85,,,72',
61
- '73,75,74,77,78,,70,71,,,,,68,69,,,,,,,76,87,88,84,79,90,,94,,89,,,80',
62
- '82,81,83,68,,,,,,,,,,,,,90,93,94,,89,86,85,,,72,73,75,74,77,78,,70,71',
63
- ',,,,,69,,93,,,,,76,,,,,75,74,,,,70,71,,,,,68,69,,,,,,,76,87,88,84,79',
64
- '90,,94,,89,,,80,82,81,83,68,,,,,,,,,,,,,90,93,94,,89,86,85,,,72,73,75',
65
- '74,77,78,,70,71,,,,,,69,,93,,,,,76,,,,,75,74,,,,70,71,,,,,68,69,,,,',
66
- ',,76,87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85',
67
- ',,72,73,75,74,77,78,,70,71,,,,,68,69,,,,,,,76,87,88,84,79,90,,94,,89',
68
- ',,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85,,,72,73,75,74,77,78,,70,71,',
69
- ',,,68,69,,,,,,,76,87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,',
70
- ',93,,,,86,85,,,72,73,75,74,77,78,,70,71,,,,,68,69,,,,,,,76,87,88,84',
71
- '79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85,,,72,73,75,74',
72
- '77,78,,70,71,,,,,68,69,,,,,,,76,87,88,84,79,90,,94,,89,,,80,82,81,83',
73
- ',,,,,,,,,,,,,,93,,,,86,85,,,72,73,75,74,77,78,,70,71,,,,,68,69,208,',
74
- ',,,,76,87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85',
75
- ',,72,73,75,74,77,78,,70,71,,,,,68,69,207,,,,,,76,87,88,84,79,90,,94',
76
- ',89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85,,,72,73,75,74,77,78,,70',
77
- '71,,,,,68,69,206,,,,,,76,87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,',
78
- ',,,,,,,,93,,,,86,85,,,72,73,75,74,77,78,,70,71,,,,,68,69,205,,,,,,76',
79
- '87,88,84,79,90,,94,,89,,,80,82,81,83,,,,,,,,,,,,,,,93,,,,86,85,,,72',
80
- '73,75,74,77,78,,70,71,,,,,68,69,,,,,,,76,87,88,84,79,90,,94,,89,,194',
81
- '80,82,81,83,,,,,,,,,,51,53,,,47,93,48,,,86,85,,,72,73,75,74,77,78,,70',
82
- '71,13,,,,,69,38,,44,,46,96,76,45,58,54,,40,57,,,,55,12,51,53,56,,47',
83
- '11,48,,,,,,,59,,,,,,39,,164,13,,,,,,167,184,178,185,46,179,187,180,176',
84
- '174,,169,182,,,,55,12,188,183,181,51,53,11,,47,,48,324,,,59,,,,,186',
85
- '168,,,,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56',
86
- ',47,11,48,313,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
87
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
88
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
89
- ',,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,',
90
- ',,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53',
91
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
92
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
93
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
94
- ',,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,',
95
- ',,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53',
96
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
97
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
98
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
99
- ',,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,',
100
- ',,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53',
101
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
102
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
103
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
104
- ',,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,',
105
- ',,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53',
106
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
107
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
108
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
109
- ',,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,',
110
- ',,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53',
111
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,167,184,178,185,46,179,187,180',
112
- '176,174,,169,182,,,,55,12,188,183,181,51,53,11,,47,,48,,,,59,,,,,186',
113
- '168,,,,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47',
114
- '11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55',
115
- '12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58',
116
- '54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38',
117
- ',44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,',
118
- ',,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47',
119
- '11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55',
120
- '12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58',
121
- '54,,40,57,43,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,196,,',
122
- ',,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59',
123
- ',,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,',
124
- '47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,',
125
- ',,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,204,,,,,38,,44,,46',
126
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13',
127
- ',,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56,,47,11,48,,',
128
- ',,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51',
129
- '53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,',
130
- '40,57,43,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44',
131
- ',46,42,,45,58,54,,40,57,43,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,',
132
- '39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11',
133
- '48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12',
134
- '51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54',
135
- ',40,57,,,,55,12,,,56,51,53,11,,47,283,48,,,,59,,,,,,39,,,,,,13,,,,,',
136
- '38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,326,,,,,',
137
- '59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53',
138
- '56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40',
139
- '57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46',
140
- '96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,266,,,,,,59,,,,,,39',
141
- ',,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56,,47,11',
142
- '48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55',
143
- '12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58',
144
- '54,,40,57,,,,55,12,51,53,56,,47,11,48,258,,,,,,59,,,,,,39,,,13,,,,,',
145
- '38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56,,47,11,48,,,,,,,59',
146
- ',,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,',
147
- '47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,',
148
- ',,55,12,,,56,51,53,11,,47,123,48,,,,59,,,,,,39,,,,,,13,,,,,,38,,44,',
149
- '46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39',
150
- ',,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48',
151
- ',,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51',
152
- '53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,',
153
- '40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44',
154
- ',46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39',
155
- ',,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48',
156
- ',,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55,12,51',
157
- '53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,',
158
- '40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44',
159
- ',46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,341,,,,,,59,,,,',
160
- ',39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56,,47',
161
- '11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58,54,,40,57,,,,55',
162
- '12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,96,,45,58',
163
- '54,,40,57,,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38',
164
- ',44,,46,96,,45,58,54,,40,57,,,,55,12,51,53,56,,47,11,48,346,,,,,,59',
165
- ',,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56',
166
- ',47,11,48,348,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40',
167
- '57,43,,,55,12,51,53,56,,47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,',
168
- '46,42,,45,58,54,61,40,57,43,,,55,12,51,53,56,,47,11,48,350,,,,,,59,',
169
- ',,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57,43,,,55,12,51,53,56',
170
- ',47,11,48,,,,,,,59,,,,,,39,,,13,,,,,,38,,44,,46,42,,45,58,54,,40,57',
171
- '43,,,55,12,51,53,56,,47,11,48,264,,,,,,59,,,,,,39,,,13,,,,,,38,,44,',
172
- '46,42,,45,58,54,,40,57,43,,,55,12,,,56,,,11,,,,248,184,247,185,59,245',
173
- '187,249,243,242,39,244,246,,,,,,188,183,250,248,184,247,185,,245,187',
174
- '249,243,242,,244,246,,,186,251,,188,183,250,248,184,247,185,,245,187',
175
- '249,243,242,,244,246,,,186,251,,188,183,250,,,,,,,,,,,,,,,,186,251' ]
176
- racc_action_table = arr = ::Array.new(4874, nil)
33
+ '57,59,275,-130,51,265,53,-216,79,-132,-225,126,313,126,79,125,265,125',
34
+ '363,298,224,224,102,14,106,353,101,360,102,41,106,48,101,50,45,235,49',
35
+ '69,65,238,43,68,46,47,276,-130,66,13,105,-216,67,-132,-225,12,105,258',
36
+ '57,59,260,261,51,70,53,395,240,224,247,42,245,248,80,64,60,244,62,63',
37
+ '61,328,243,14,231,264,52,242,126,41,265,48,125,50,45,126,49,69,65,125',
38
+ '43,68,46,47,221,316,66,13,57,59,67,235,126,12,57,59,125,331,51,126,53',
39
+ '70,79,125,348,272,347,42,348,333,347,64,60,220,62,63,102,14,106,335',
40
+ '101,74,52,41,297,48,135,50,45,133,49,69,65,72,43,68,46,47,296,122,66',
41
+ '13,105,274,67,57,59,12,114,70,57,59,250,249,51,70,53,393,340,341,60',
42
+ '42,342,224,79,64,60,126,62,63,211,125,345,14,241,349,52,351,102,41,106',
43
+ '48,101,50,45,290,49,69,65,187,43,68,46,47,272,274,66,13,272,359,67,296',
44
+ '289,12,105,296,57,59,74,154,51,70,53,391,151,149,370,42,312,81,82,64',
45
+ '60,288,62,63,80,372,274,14,274,127,52,272,375,41,114,48,115,50,45,315',
46
+ '49,69,65,114,43,68,46,47,379,351,66,13,381,382,67,383,384,12,57,59,385',
47
+ '111,51,387,53,70,75,77,76,78,388,42,389,319,74,64,60,71,62,63,396,14',
48
+ '397,57,59,398,52,41,399,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,',
49
+ ',12,57,59,,,51,,53,70,,135,,,133,42,,,,64,60,,62,63,,14,,57,59,,52,41',
50
+ ',48,70,50,108,,49,69,65,,43,68,,60,,,66,13,,,67,,,12,57,59,,,51,,53',
51
+ '70,,135,,,133,42,,,,64,60,,62,63,,14,,57,59,,52,41,,48,70,50,108,,49',
52
+ '69,65,,43,68,,60,,,66,13,,,67,,,12,57,59,,,51,,53,70,79,135,,,133,42',
53
+ ',,,64,60,,62,63,102,14,106,,101,,52,41,,48,70,50,108,,49,69,65,,43,68',
54
+ ',60,,,66,13,105,,67,,,12,57,59,,,51,,53,70,79,,,,,42,,,80,64,60,,62',
55
+ '63,102,14,106,,101,,52,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13',
56
+ '105,,67,,,12,57,59,,,51,,53,70,79,81,82,,,42,,,80,64,60,,62,63,102,14',
57
+ '106,,101,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,105,,67,,,12',
58
+ '57,59,,,51,,53,70,79,81,82,,,42,,,80,64,60,,62,63,102,14,106,,101,,52',
59
+ '41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,105,,67,,,12,57,59,,,51,,53',
60
+ '70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68',
61
+ ',,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,',
62
+ ',,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51',
63
+ ',53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,',
64
+ '43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63',
65
+ ',14,,,,,52,41,,48,,50,121,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59',
66
+ ',,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69',
67
+ '65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62',
68
+ '63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57',
69
+ '59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49',
70
+ '69,65,,43,68,,,,,66,13,,,67,,,12,,,57,59,,,51,70,53,294,,,,42,,,,64',
71
+ '60,,62,63,,,,14,,,52,,,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13',
72
+ ',,67,,,12,57,59,,,51,138,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41',
73
+ ',48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,140,53,70',
74
+ ',,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,',
75
+ ',,,66,13,,,67,,,12,,,57,59,,,51,70,53,143,,,,42,,,,64,60,,62,63,,,,14',
76
+ ',,52,,,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51',
77
+ ',53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,',
78
+ '43,68,,,,,66,13,,,67,,,12,,,57,59,,,51,70,53,300,,,,42,,,,64,60,,62',
79
+ '63,,,,14,,,52,,,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13,,,67,,',
80
+ '12,,,57,59,,,51,70,53,143,,,,42,,,,64,60,,62,63,,,,14,,,52,,,41,,48',
81
+ ',50,45,,49,69,65,,43,68,46,47,,,66,13,,,67,,,12,57,59,,,51,,153,70,',
82
+ ',,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,',
83
+ ',,66,13,,,67,,,12,,,57,59,,,51,70,53,369,,,,42,,,,64,60,,62,63,,,,14',
84
+ ',,52,,,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13,,,67,,,12,57,59',
85
+ ',,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,45,,49,69',
86
+ '65,,43,68,46,47,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60',
87
+ ',62,63,,14,,,,,52,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13,,,67',
88
+ ',,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50',
89
+ '45,,49,69,65,,43,68,46,47,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42',
90
+ ',,,64,60,,62,63,,14,,,,,52,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66',
91
+ '13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41',
92
+ ',48,,50,45,,49,69,65,,43,68,46,47,,,66,13,,,67,,,12,57,59,,,51,,53,70',
93
+ ',,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,45,,49,69,65,,43,68,46',
94
+ '47,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,',
95
+ ',,,52,41,,48,,50,45,,49,69,65,,43,68,46,47,,,66,13,,,67,,,12,57,59,',
96
+ ',51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69',
97
+ '65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62',
98
+ '63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57',
99
+ '59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49',
100
+ '69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60',
101
+ ',62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12',
102
+ '57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108',
103
+ ',49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64',
104
+ '60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67',
105
+ ',,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50',
106
+ '108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,',
107
+ ',,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13',
108
+ ',,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48',
109
+ ',50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,',
110
+ '42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66',
111
+ '13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41',
112
+ ',48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,',
113
+ ',,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,',
114
+ ',,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,',
115
+ '52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53',
116
+ '70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68',
117
+ ',,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,',
118
+ ',,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51',
119
+ ',53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,',
120
+ '43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63',
121
+ ',14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59',
122
+ ',,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69',
123
+ '65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62',
124
+ '63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57',
125
+ '59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49',
126
+ '69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60',
127
+ ',62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12',
128
+ '57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108',
129
+ ',49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64',
130
+ '60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67',
131
+ ',,12,,,57,59,,,51,70,53,354,,,,42,,,186,64,60,,62,63,,,,14,,,52,,,41',
132
+ ',48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,',
133
+ ',,,,42,,,,64,60,,62,63,,14,,,,,52,189,206,200,207,50,201,209,202,198',
134
+ '196,,191,204,,,,,66,13,210,205,203,,,12,57,59,,,51,,53,70,,,,,208,190',
135
+ ',,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13',
136
+ ',,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48',
137
+ ',50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,',
138
+ '42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66',
139
+ '13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41',
140
+ ',48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,',
141
+ ',,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,',
142
+ ',,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,',
143
+ '52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,,,57,59,,,51',
144
+ '70,53,302,,,,42,,,,64,60,,62,63,,,,14,,,52,,,41,,48,,50,45,,49,69,65',
145
+ ',43,68,46,47,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62',
146
+ '63,,14,218,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12',
147
+ '57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108',
148
+ ',49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64',
149
+ '60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67',
150
+ ',,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,226,,,,52,41,,48',
151
+ ',50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,',
152
+ '42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,45,,49,69,65,,43,68,46,47,',
153
+ ',66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52',
154
+ '41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,322,53',
155
+ '70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68',
156
+ ',,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,',
157
+ ',,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51',
158
+ ',53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,',
159
+ '43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63',
160
+ ',14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59',
161
+ ',,51,321,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49',
162
+ '69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60',
163
+ ',62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13,,,67,,,12',
164
+ ',,57,59,,,51,70,53,324,,,,42,,,,64,60,,62,63,,,,14,,,52,,,41,,48,,50',
165
+ '108,,49,69,65,,43,68,,,,,66,13,,,67,,,12,57,59,,,51,,53,70,,,,,,42,',
166
+ ',,64,60,,62,63,,14,,,,,52,41,,48,,50,108,,49,69,65,,43,68,,,,,66,13',
167
+ ',,67,,,12,57,59,,,51,,53,70,,,,,,42,,,,64,60,,62,63,,14,,,,,52,189,206',
168
+ '200,207,50,201,209,202,198,196,,191,204,,,,,66,13,210,205,203,,,12,',
169
+ ',,,,,,70,,,,,208,190,,,,64,60,,62,63,79,,,,,,52,,,98,99,100,95,90,102',
170
+ ',106,,101,,,91,93,92,94,,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88',
171
+ '89,,81,82,,,79,,103,80,,246,,,,98,99,100,95,90,102,,106,,101,,87,91',
172
+ '93,92,94,,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81,82,,',
173
+ '246,,,80,98,99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,',
174
+ ',,105,,,,97,96,,,83,84,86,85,88,89,,81,82,,,79,,230,80,,,,,,98,99,100',
175
+ '95,90,102,,106,,101,,87,91,93,92,94,,,,,,,,,,,,,,,,105,,,,97,96,,,83',
176
+ '84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,,,91,93',
177
+ '92,94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,,81,82,,,79',
178
+ ',229,80,,,,,,98,99,100,95,90,102,,106,,101,,87,91,93,92,94,,,,,,,,,',
179
+ ',,,,,,105,,,,97,96,,,83,84,86,85,88,89,,81,82,,,79,,228,80,,,,,,98,99',
180
+ '100,95,90,102,,106,,101,,87,91,93,92,94,,,,,,,,,,,,,,,,105,,,,97,96',
181
+ ',,83,84,86,85,88,89,,81,82,,,79,,227,80,,,,,,98,99,100,95,90,102,,106',
182
+ ',101,,87,91,93,92,94,,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89',
183
+ '79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,,216,91,93,92,94,87,',
184
+ ',,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81,82,,,,,,80,98,99',
185
+ '100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96',
186
+ ',,83,84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,260',
187
+ '261,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79',
188
+ '81,82,,,,,,80,98,99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,',
189
+ ',,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95',
190
+ '90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84',
191
+ '86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,,,91,93,92',
192
+ '94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81,82,,,,,,80',
193
+ '98,99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,',
194
+ '97,96,,,83,84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,,106',
195
+ ',101,79,,91,93,92,94,87,,,,,,,,102,,106,,101,,,105,,,,97,96,,,83,84',
196
+ '86,85,88,89,,81,82,,,105,,,80,,79,,,,,86,85,,,,81,82,,,102,87,106,80',
197
+ '101,,,,,,,,,,,,,,,,87,,,,,,105,,,,,,,,,,86,85,,,79,81,82,,,,,,80,98',
198
+ '99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97',
199
+ '96,,,83,84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,270,106',
200
+ ',101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89',
201
+ ',81,82,,,79,,103,80,,,,,,98,99,100,95,90,102,,106,,101,79,87,91,93,92',
202
+ '94,,,,,,,,,102,,106,,101,,,105,,,,97,96,,,83,84,86,85,88,89,,81,82,',
203
+ ',105,,,80,,79,,,83,84,86,85,,,,81,82,,,102,87,106,80,101,79,,,,,,,,',
204
+ ',,,,,102,87,106,,101,,,105,,,,,,,,83,84,86,85,,,,81,82,,,105,,,80,,79',
205
+ ',,83,84,86,85,88,89,,81,82,,,102,87,106,80,101,,,,,,,79,,,,,,,,,87,',
206
+ ',,90,102,105,106,,101,,79,91,,83,84,86,85,88,89,,81,82,,90,102,,106',
207
+ '80,101,,105,91,,,,79,,,83,84,86,85,88,89,87,81,82,,90,102,105,106,80',
208
+ '101,,,91,,83,84,86,85,88,89,,81,82,,,87,,,80,,,105,,,,,79,,,83,84,86',
209
+ '85,88,89,87,81,82,,90,102,,106,80,101,,,91,,,,,,,,,,,,,87,,,,,,105,',
210
+ ',,,79,,,83,84,86,85,88,89,,81,82,95,90,102,,106,80,101,,,91,93,92,94',
211
+ ',,,,,,,,,87,,,,,,105,,,,,79,,,83,84,86,85,88,89,,81,82,95,90,102,,106',
212
+ '80,101,,,91,93,92,94,,,,,,,,,,87,,,,,,105,,,,,96,,,83,84,86,85,88,89',
213
+ '79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,',
214
+ ',,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81,82,,,266,,,80,98,99',
215
+ '100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96',
216
+ ',,83,84,86,85,88,89,79,81,82,,,,,,80,98,99,100,95,90,102,,106,,101,',
217
+ ',91,93,92,94,87,,,,,,,,,,,,,,,105,,,,97,96,,,83,84,86,85,88,89,79,81',
218
+ '82,,,,,,80,98,99,100,95,90,102,,106,,101,,,91,93,92,94,87,,,,,,,,,,',
219
+ ',,,,105,,,,97,96,,,83,84,86,85,88,89,,81,82,,,,,,80,284,206,283,207',
220
+ ',281,209,285,279,278,,280,282,,,,87,,,210,205,286,284,206,283,207,,281',
221
+ '209,285,279,278,,280,282,,,208,287,,,210,205,286,284,206,283,207,,281',
222
+ '209,285,279,278,,280,282,,,208,287,,,210,205,286,,,,,,,,,,,,,,,,208',
223
+ '287' ]
224
+ racc_action_table = arr = ::Array.new(6233, nil)
177
225
  idx = 0
178
226
  clist.each do |str|
179
227
  str.split(',', -1).each do |i|
@@ -183,167 +231,219 @@ clist = [
183
231
  end
184
232
 
185
233
  clist = [
186
- '161,115,138,203,176,161,102,138,291,161,161,161,161,161,231,161,203',
187
- '161,174,139,161,161,161,161,148,115,215,215,71,71,130,130,139,177,139',
188
- '182,139,148,161,148,102,148,161,161,176,110,161,161,161,161,161,161',
189
- '212,161,161,217,217,139,174,160,161,212,148,215,181,71,215,161,160,160',
190
- '160,160,160,177,160,182,160,148,148,160,160,160,160,147,148,215,267',
191
- '71,70,70,235,114,217,42,267,217,147,160,147,96,147,160,160,96,181,160',
192
- '160,160,160,160,160,237,160,160,217,180,180,214,159,160,42,147,45,45',
193
- '42,70,160,159,159,159,159,159,264,159,264,159,147,147,159,159,159,159',
194
- '275,147,179,122,275,70,179,275,122,213,180,44,178,180,159,44,178,45',
195
- '159,159,45,210,159,159,159,159,159,159,124,159,159,124,180,158,97,304',
196
- '159,304,241,45,92,255,257,159,158,158,158,97,158,97,158,97,259,158,158',
197
- '158,158,221,221,260,95,90,48,48,221,7,7,7,7,48,263,158,97,95,209,95',
198
- '158,95,265,158,158,158,158,158,158,266,158,158,127,202,157,270,271,158',
199
- '221,272,273,200,95,48,158,157,157,157,277,157,132,157,62,60,157,157',
200
- '157,157,146,196,195,289,193,101,43,191,298,299,37,171,36,146,157,146',
201
- '307,146,308,310,311,315,157,157,157,157,157,157,316,157,157,35,322,323',
202
- '325,10,157,10,146,170,5,1,340,157,10,10,10,10,10,345,10,347,10,146,146',
203
- '10,10,10,10,156,146,349,,,,,,,,,,156,156,10,156,,156,10,10,156,,10,10',
204
- '10,10,10,10,,10,10,,,,,,10,,156,,,,,10,155,,156,156,156,156,156,156',
205
- ',156,156,,155,155,,155,156,155,,,155,,,156,154,,,,,,,,,,,,154,154,155',
206
- '154,,154,,,154,,155,155,155,155,155,155,,155,155,,,,,,155,,154,,,,,155',
207
- '153,,154,154,154,154,154,154,,154,154,,153,153,,153,154,153,,,153,,',
208
- '154,152,,,,,,,,,,,,,152,153,152,,152,,,,,153,153,153,153,153,153,,153',
209
- '153,,,,,,153,,152,,,,,153,,,152,152,152,152,152,152,,152,152,,,,,303',
210
- '152,,,,,,,152,303,303,303,303,303,,303,,303,,,303,303,303,303,151,,',
211
- ',,,,,,,,,,151,303,151,,151,303,303,,,303,303,303,303,303,303,,303,303',
212
- ',,,,,303,,151,,,,150,303,,,151,151,151,151,151,151,,151,151,150,,150',
213
- ',150,151,,,,,,149,151,,,,,,,,,,,,149,150,149,,149,,,,,150,150,150,150',
214
- ',,,150,150,,,,,,150,,149,,,,,150,,,149,149,149,149,,,,149,149,,,,,166',
215
- '149,,,,,,,149,166,166,166,166,166,166,166,,166,,,166,166,166,166,,,',
216
- ',,,,,,,,,,,166,,,,166,166,,,166,166,166,166,166,166,,166,166,,,,,297',
217
- '166,,,,,,,166,297,297,297,297,297,,297,,297,,,297,297,297,297,,,,,,',
218
- ',,,,,,,,297,,,,297,297,,,297,297,297,297,297,297,,297,297,,,,,296,297',
219
- ',,,,,,297,296,296,296,296,296,,296,,296,,,296,296,296,296,145,,,,,,',
220
- ',,,,,,145,296,145,,145,296,296,,,296,296,296,296,296,296,,296,296,,',
221
- ',,,296,,145,,,,,296,,,,,145,145,,,,145,145,,,,,288,145,,,,,,,145,288',
222
- '288,288,288,288,,288,,288,,,288,288,288,288,144,,,,,,,,,,,,,144,288',
223
- '144,,144,288,288,,,288,288,288,288,288,288,,288,288,,,,,,288,,144,,',
224
- ',,288,,,,,144,144,,,,144,144,,,,,286,144,,,,,,,144,286,286,286,286,286',
225
- ',286,,286,,,286,286,286,286,,,,,,,,,,,,,,,286,,,,286,286,,,286,286,286',
226
- '286,286,286,,286,286,,,,,190,286,,,,,,,286,190,190,190,190,190,,190',
227
- ',190,,,190,190,190,190,,,,,,,,,,,,,,,190,,,,190,190,,,190,190,190,190',
228
- '190,190,,190,190,,,,,282,190,,,,,,,190,282,282,282,282,282,,282,,282',
229
- ',,282,282,282,282,,,,,,,,,,,,,,,282,,,,282,282,,,282,282,282,282,282',
230
- '282,,282,282,,,,,128,282,,,,,,,282,128,128,128,128,128,,128,,128,,,128',
231
- '128,128,128,,,,,,,,,,,,,,,128,,,,128,128,,,128,128,128,128,128,128,',
232
- '128,128,,,,,121,128,,,,,,,128,121,121,121,121,121,,121,,121,,,121,121',
233
- '121,121,,,,,,,,,,,,,,,121,,,,121,121,,,121,121,121,121,121,121,,121',
234
- '121,,,,,108,121,108,,,,,,121,108,108,108,108,108,,108,,108,,,108,108',
235
- '108,108,,,,,,,,,,,,,,,108,,,,108,108,,,108,108,108,108,108,108,,108',
236
- '108,,,,,107,108,107,,,,,,108,107,107,107,107,107,,107,,107,,,107,107',
237
- '107,107,,,,,,,,,,,,,,,107,,,,107,107,,,107,107,107,107,107,107,,107',
238
- '107,,,,,106,107,106,,,,,,107,106,106,106,106,106,,106,,106,,,106,106',
239
- '106,106,,,,,,,,,,,,,,,106,,,,106,106,,,106,106,106,106,106,106,,106',
240
- '106,,,,,104,106,104,,,,,,106,104,104,104,104,104,,104,,104,,,104,104',
241
- '104,104,,,,,,,,,,,,,,,104,,,,104,104,,,104,104,104,104,104,104,,104',
242
- '104,,,,,98,104,,,,,,,104,98,98,98,98,98,,98,,98,,98,98,98,98,98,,,,',
243
- ',,,,,89,89,,,89,98,89,,,98,98,,,98,98,98,98,98,98,,98,98,89,,,,,98,89',
244
- ',89,,89,89,98,89,89,89,,89,89,,,,89,89,208,208,89,,208,89,208,,,,,,',
245
- '89,,,,,,89,,89,208,,,,,,208,208,208,208,208,208,208,208,208,208,,208',
246
- '208,,,,208,208,208,208,208,278,278,208,,278,,278,278,,,208,,,,,208,208',
247
- ',,,,,278,,,,,,278,,278,,278,278,,278,278,278,,278,278,278,,,278,278',
248
- '268,268,278,,268,278,268,268,,,,,,278,,,,,,278,,,268,,,,,,268,,268,',
249
- '268,268,,268,268,268,,268,268,,,,268,268,72,72,268,,72,268,72,,,,,,',
250
- '268,,,,,,268,,,72,,,,,,72,,72,,72,72,,72,72,72,,72,72,,,,72,72,73,73',
251
- '72,,73,72,73,,,,,,,72,,,,,,72,,,73,,,,,,73,,73,,73,73,,73,73,73,,73',
252
- '73,,,,73,73,74,74,73,,74,73,74,,,,,,,73,,,,,,73,,,74,,,,,,74,,74,,74',
253
- '74,,74,74,74,,74,74,,,,74,74,75,75,74,,75,74,75,,,,,,,74,,,,,,74,,,75',
254
- ',,,,,75,,75,,75,75,,75,75,75,,75,75,,,,75,75,76,76,75,,76,75,76,,,,',
255
- ',,75,,,,,,75,,,76,,,,,,76,,76,,76,76,,76,76,76,,76,76,,,,76,76,77,77',
256
- '76,,77,76,77,,,,,,,76,,,,,,76,,,77,,,,,,77,,77,,77,77,,77,77,77,,77',
257
- '77,,,,77,77,78,78,77,,78,77,78,,,,,,,77,,,,,,77,,,78,,,,,,78,,78,,78',
258
- '78,,78,78,78,,78,78,,,,78,78,79,79,78,,79,78,79,,,,,,,78,,,,,,78,,,79',
259
- ',,,,,79,,79,,79,79,,79,79,79,,79,79,,,,79,79,80,80,79,,80,79,80,,,,',
260
- ',,79,,,,,,79,,,80,,,,,,80,,80,,80,80,,80,80,80,,80,80,,,,80,80,81,81',
261
- '80,,81,80,81,,,,,,,80,,,,,,80,,,81,,,,,,81,,81,,81,81,,81,81,81,,81',
262
- '81,,,,81,81,82,82,81,,82,81,82,,,,,,,81,,,,,,81,,,82,,,,,,82,,82,,82',
263
- '82,,82,82,82,,82,82,,,,82,82,83,83,82,,83,82,83,,,,,,,82,,,,,,82,,,83',
264
- ',,,,,83,,83,,83,83,,83,83,83,,83,83,,,,83,83,84,84,83,,84,83,84,,,,',
265
- ',,83,,,,,,83,,,84,,,,,,84,,84,,84,84,,84,84,84,,84,84,,,,84,84,85,85',
266
- '84,,85,84,85,,,,,,,84,,,,,,84,,,85,,,,,,85,,85,,85,85,,85,85,85,,85',
267
- '85,,,,85,85,86,86,85,,86,85,86,,,,,,,85,,,,,,85,,,86,,,,,,86,,86,,86',
268
- '86,,86,86,86,,86,86,,,,86,86,87,87,86,,87,86,87,,,,,,,86,,,,,,86,,,87',
269
- ',,,,,87,,87,,87,87,,87,87,87,,87,87,,,,87,87,88,88,87,,88,87,88,,,,',
270
- ',,87,,,,,,87,,,88,,,,,,88,,88,,88,88,,88,88,88,,88,88,,,,88,88,68,68',
271
- '88,,68,88,68,,,,,,,88,,,,,,88,,,68,,,,,,68,,68,,68,68,,68,68,68,,68',
272
- '68,,,,68,68,261,261,68,,261,68,261,,,,,,,68,,,,,,68,,,261,,,,,,261,',
273
- '261,,261,261,,261,261,261,,261,261,,,,261,261,91,91,261,,91,261,91,',
274
- ',,,,,261,,,,,,261,,,91,,,,,,91,91,91,91,91,91,91,91,91,91,,91,91,,,',
275
- '91,91,91,91,91,254,254,91,,254,,254,,,,91,,,,,91,91,,,,,,254,,,,,,254',
276
- ',254,,254,254,,254,254,254,,254,254,,,,254,254,93,93,254,,93,254,93',
277
- ',,,,,,254,,,,,,254,,,93,,,,,,93,,93,,93,93,,93,93,93,,93,93,,,,93,93',
278
- '94,94,93,,94,93,94,,,,,,,93,,,,,,93,,,94,,,,,,94,,94,,94,94,,94,94,94',
279
- ',94,94,,,,94,94,240,240,94,,240,94,240,,,,,,,94,,,,,,94,,,240,,,,,,240',
280
- ',240,,240,240,,240,240,240,,240,240,,,,240,240,239,239,240,,239,240',
281
- '239,,,,,,,240,,,,,,240,,,239,,,,,,239,,239,,239,239,,239,239,239,,239',
282
- '239,,,,239,239,236,236,239,,236,239,236,,,,,,,239,,,,,,239,,,236,,,',
283
- ',,236,,236,,236,236,,236,236,236,,236,236,,,,236,236,67,67,236,,67,236',
284
- '67,,,,,,,236,,,,,,236,,,67,,,,,,67,,67,,67,67,,67,67,67,,67,67,67,,',
285
- '67,67,99,99,67,,99,67,99,,,,,,,67,,,,,,67,,,99,99,,,,,99,,99,,99,99',
286
- ',99,99,99,,99,99,,,,99,99,230,230,99,,230,99,230,,,,,,,99,,,,,,99,,',
287
- '230,,,,,,230,,230,,230,230,,230,230,230,,230,230,,,,230,230,229,229',
288
- '230,,229,230,229,,,,,,,230,,,,,,230,,,229,,,,,,229,,229,,229,229,,229',
289
- '229,229,,229,229,,,,229,229,103,103,229,,103,229,103,,,,,,,229,,,,,',
290
- '229,,,103,103,,,,,103,,103,,103,103,,103,103,103,,103,103,,,,103,103',
291
- '66,66,103,,66,103,66,,,,,,,103,,,,,,103,,,66,,,,,,66,,66,,66,66,,66',
292
- '66,66,,66,66,66,,,66,66,65,65,66,,65,66,65,,,,,,,66,,,,,,66,,,65,,,',
293
- ',,65,,65,,65,65,,65,65,65,,65,65,65,,,65,65,64,64,65,,64,65,64,,,,,',
294
- ',65,,,,,,65,,,64,,,,,,64,,64,,64,64,,64,64,64,,64,64,64,,,64,64,63,63',
295
- '64,,63,64,63,,,,,,,64,,,,,,64,,,63,,,,,,63,,63,,63,63,,63,63,63,,63',
296
- '63,63,,,63,63,109,109,63,,109,63,109,,,,,,,63,,,,,,63,,,109,,,,,,109',
297
- ',109,,109,109,,109,109,109,,109,109,,,,109,109,227,227,109,,227,109',
298
- '227,,,,,,,109,,,,,,109,,,227,,,,,,227,,227,,227,227,,227,227,227,,227',
299
- '227,,,,227,227,222,222,227,,222,227,222,,,,,,,227,,,,,,227,,,222,,,',
300
- ',,222,,222,,222,222,,222,222,222,,222,222,,,,222,222,,,222,218,218,222',
301
- ',218,218,218,,,,222,,,,,,222,,,,,,218,,,,,,218,,218,,218,218,,218,218',
302
- '218,,218,218,,,,218,218,279,279,218,,279,218,279,279,,,,,,218,,,,,,218',
303
- ',,279,,,,,,279,,279,,279,279,,279,279,279,,279,279,279,,,279,279,69',
304
- '69,279,,69,279,69,,,,,,,279,,,,,,279,,,69,,,,,,69,,69,,69,69,,69,69',
305
- '69,,69,69,,,,69,69,207,207,69,,207,69,207,,,,,,,69,,,,,,69,,,207,,,',
306
- ',,207,,207,,207,207,,207,207,207,,207,207,,,,207,207,206,206,207,,206',
307
- '207,206,206,,,,,,207,,,,,,207,,,206,,,,,,206,,206,,206,206,,206,206',
308
- '206,,206,206,206,,,206,206,61,61,206,,61,206,61,,,,,,,206,,,,,,206,',
309
- ',61,,,,,,61,,61,,61,61,,61,61,61,,61,61,61,,,61,61,164,164,61,,164,61',
310
- '164,,,,,,,61,,,,,,61,,,164,,,,,,164,,164,,164,164,,164,164,164,,164',
311
- '164,,,,164,164,198,198,164,,198,164,198,198,,,,,,164,,,,,,164,,,198',
312
- ',,,,,198,,198,,198,198,,198,198,198,,198,198,198,,,198,198,52,52,198',
313
- ',52,198,52,,,,,,,198,,,,,,198,,,52,,,,,,52,,52,,52,52,,52,52,52,,52',
314
- '52,,,,52,52,169,169,52,,169,52,169,,,,,,,52,,,,,,52,,,169,,,,,,169,',
315
- '169,,169,169,,169,169,169,,169,169,,,,169,169,,,169,47,47,169,,47,47',
316
- '47,,,,169,,,,,,169,,,,,,47,,,,,,47,,47,,47,47,,47,47,47,,47,47,,,,47',
317
- '47,290,290,47,,290,47,290,,,,,,,47,,,,,,47,,,290,,,,,,290,,290,,290',
318
- '290,,290,290,290,,290,290,,,,290,290,168,168,290,,168,290,168,,,,,,',
319
- '290,,,,,,290,,,168,,,,,,168,,168,,168,168,,168,168,168,,168,168,,,,168',
320
- '168,167,167,168,,167,168,167,,,,,,,168,,,,,,168,,,167,,,,,,167,,167',
321
- ',167,167,,167,167,167,,167,167,,,,167,167,41,41,167,,41,167,41,,,,,',
322
- ',167,,,,,,167,,,41,,,,,,41,,41,,41,41,,41,41,41,,41,41,,,,41,41,40,40',
323
- '41,,40,41,40,,,,,,,41,,,,,,41,,,40,,,,,,40,,40,,40,40,,40,40,40,,40',
324
- '40,,,,40,40,39,39,40,,39,40,39,,,,,,,40,,,,,,40,,,39,,,,,,39,,39,,39',
325
- '39,,39,39,39,,39,39,,,,39,39,38,38,39,,38,39,38,,,,,,,39,,,,,,39,,,38',
326
- ',,,,,38,,38,,38,38,,38,38,38,,38,38,,,,38,38,306,306,38,,306,38,306',
327
- ',,,,,,38,,,,,,38,,,306,,,,,,306,,306,,306,306,,306,306,306,,306,306',
328
- ',,,306,306,318,318,306,,318,306,318,318,,,,,,306,,,,,,306,,,318,,,,',
329
- ',318,,318,,318,318,,318,318,318,,318,318,318,,,318,318,13,13,318,,13',
330
- '318,13,,,,,,,318,,,,,,318,,,13,,,,,,13,,13,,13,13,,13,13,13,,13,13,',
331
- ',,13,13,12,12,13,,12,13,12,,,,,,,13,,,,,,13,,,12,,,,,,12,,12,,12,12',
332
- ',12,12,12,,12,12,,,,12,12,11,11,12,,11,12,11,,,,,,,12,,,,,,12,,,11,',
333
- ',,,,11,,11,,11,11,,11,11,11,,11,11,,,,11,11,334,334,11,,334,11,334,334',
334
- ',,,,,11,,,,,,11,,,334,,,,,,334,,334,,334,334,,334,334,334,,334,334,334',
335
- ',,334,334,336,336,334,,336,334,336,336,,,,,,334,,,,,,334,,,336,,,,,',
336
- '336,,336,,336,336,,336,336,336,,336,336,336,,,336,336,4,4,336,,4,336',
337
- '4,,,,,,,336,,,,,,336,,,4,,,,,,4,,4,,4,4,,4,4,4,4,4,4,4,,,4,4,337,337',
338
- '4,,337,4,337,337,,,,,,4,,,,,,4,,,337,,,,,,337,,337,,337,337,,337,337',
339
- '337,,337,337,337,,,337,337,0,0,337,,0,337,0,,,,,,,337,,,,,,337,,,0,',
340
- ',,,,0,,0,,0,0,,0,0,0,,0,0,0,,,0,0,205,205,0,,205,0,205,205,,,,,,0,,',
341
- ',,,0,,,205,,,,,,205,,205,,205,205,,205,205,205,,205,205,205,,,205,205',
342
- ',,205,,,205,,,,233,233,233,233,205,233,233,233,233,233,205,233,233,',
343
- ',,,,233,233,233,189,189,189,189,,189,189,189,189,189,,189,189,,,233',
344
- '233,,189,189,189,238,238,238,238,,238,238,238,238,238,,238,238,,,189',
345
- '189,,238,238,238,,,,,,,,,,,,,,,,238,238' ]
346
- racc_action_check = arr = ::Array.new(4874, nil)
234
+ '0,0,199,196,0,225,0,204,163,198,203,312,235,201,162,312,303,201,312',
235
+ '225,151,235,163,0,163,303,163,310,162,0,162,0,162,0,0,123,0,0,0,129',
236
+ '0,0,0,0,199,196,0,0,163,204,0,198,203,0,162,151,382,382,328,328,382',
237
+ '0,382,382,129,114,142,0,139,142,163,0,0,139,0,0,0,263,137,382,121,161',
238
+ '0,137,48,382,161,382,48,382,382,200,382,382,382,200,382,382,382,382',
239
+ '114,237,382,382,240,240,382,128,121,382,5,5,121,267,5,108,5,382,109',
240
+ '108,345,232,345,382,300,271,300,382,382,113,382,382,109,5,109,273,109',
241
+ '155,382,5,224,5,240,5,5,240,5,5,5,5,5,5,5,5,222,45,5,5,109,277,5,149',
242
+ '149,5,218,240,381,381,147,147,381,5,381,381,291,293,240,5,295,296,168',
243
+ '5,5,45,5,5,104,45,299,381,131,301,5,302,168,381,168,381,168,381,381',
244
+ '217,381,381,381,102,381,381,381,381,306,307,381,381,308,309,381,257',
245
+ '215,381,168,314,379,379,73,71,379,381,379,379,61,60,327,381,233,168',
246
+ '168,381,381,213,381,381,168,330,193,379,332,46,381,192,339,379,340,379',
247
+ '40,379,379,236,379,379,379,39,379,379,379,379,348,349,379,379,351,352',
248
+ '379,356,357,379,186,186,358,38,186,364,186,379,8,8,8,8,365,379,368,241',
249
+ '6,379,379,1,379,379,386,186,390,238,238,392,379,186,394,186,,186,186',
250
+ ',186,186,186,,186,186,,,,,186,186,,,186,,,186,12,12,,,12,,12,186,,238',
251
+ ',,238,186,,,,186,186,,186,186,,12,,202,202,,186,12,,12,238,12,12,,12',
252
+ '12,12,,12,12,,238,,,12,12,,,12,,,12,13,13,,,13,,13,12,,202,,,202,12',
253
+ ',,,12,12,,12,12,,13,,49,49,,12,13,,13,202,13,13,,13,13,13,,13,13,,202',
254
+ ',,13,13,,,13,,,13,14,14,,,14,,14,13,164,49,,,49,13,,,,13,13,,13,13,164',
255
+ '14,164,,164,,13,14,,14,49,14,14,,14,14,14,,14,14,,49,,,14,14,164,,14',
256
+ ',,14,360,360,,,360,,360,14,167,,,,,14,,,164,14,14,,14,14,167,360,167',
257
+ ',167,,14,360,,360,,360,360,,360,360,360,,360,360,360,360,,,360,360,167',
258
+ ',360,,,360,347,347,,,347,,347,360,169,167,167,,,360,,,167,360,360,,360',
259
+ '360,169,347,169,,169,,360,347,,347,,347,347,,347,347,347,,347,347,,',
260
+ ',,347,347,169,,347,,,347,189,189,,,189,,189,347,107,169,169,,,347,,',
261
+ '169,347,347,,347,347,107,189,107,,107,,347,189,,189,,189,189,,189,189',
262
+ '189,,189,189,,,,,189,189,107,,189,,,189,41,41,,,41,,41,189,,,,,,189',
263
+ ',,,189,189,,189,189,,41,,,,,189,41,,41,,41,41,,41,41,41,,41,41,,,,,41',
264
+ '41,,,41,,,41,42,42,,,42,,42,41,,,,,,41,,,,41,41,,41,41,,42,,,,,41,42',
265
+ ',42,,42,42,,42,42,42,,42,42,,,,,42,42,,,42,,,42,43,43,,,43,,43,42,,',
266
+ ',,,42,,,,42,42,,42,42,,43,,,,,42,43,,43,,43,43,,43,43,43,,43,43,,,,',
267
+ '43,43,,,43,,,43,44,44,,,44,,44,43,,,,,,43,,,,43,43,,43,43,,44,,,,,43',
268
+ '44,,44,,44,44,,44,44,44,,44,44,,,,,44,44,,,44,,,44,190,190,,,190,,190',
269
+ '44,,,,,,44,,,,44,44,,44,44,,190,,,,,44,190,,190,,190,190,,190,190,190',
270
+ ',190,190,,,,,190,190,,,190,,,190,191,191,,,191,,191,190,,,,,,190,,,',
271
+ '190,190,,190,190,,191,,,,,190,191,,191,,191,191,,191,191,191,,191,191',
272
+ ',,,,191,191,,,191,,,191,331,331,,,331,,331,191,,,,,,191,,,,191,191,',
273
+ '191,191,,331,,,,,191,331,,331,,331,331,,331,331,331,,331,331,,,,,331',
274
+ '331,,,331,,,331,,,220,220,,,220,331,220,220,,,,331,,,,331,331,,331,331',
275
+ ',,,220,,,331,,,220,,220,,220,220,,220,220,220,,220,220,220,220,,,220',
276
+ '220,,,220,,,220,51,51,,,51,51,51,220,,,,,,220,,,,220,220,,220,220,,51',
277
+ ',,,,220,51,,51,,51,51,,51,51,51,,51,51,,,,,51,51,,,51,,,51,52,52,,,52',
278
+ '52,52,51,,,,,,51,,,,51,51,,51,51,,52,,,,,51,52,,52,,52,52,,52,52,52',
279
+ ',52,52,,,,,52,52,,,52,,,52,,,53,53,,,53,52,53,53,,,,52,,,,52,52,,52',
280
+ '52,,,,53,,,52,,,53,,53,,53,53,,53,53,53,,53,53,,,,,53,53,,,53,,,53,58',
281
+ '58,,,58,,58,53,,,,,,53,,,,53,53,,53,53,,58,,,,,53,58,,58,,58,58,,58',
282
+ '58,58,,58,58,,,,,58,58,,,58,,,58,,,227,227,,,227,58,227,227,,,,58,,',
283
+ ',58,58,,58,58,,,,227,,,58,,,227,,227,,227,227,,227,227,227,,227,227',
284
+ '227,227,,,227,227,,,227,,,227,,,153,153,,,153,227,153,153,,,,227,,,',
285
+ '227,227,,227,227,,,,153,,,227,,,153,,153,,153,153,,153,153,153,,153',
286
+ '153,153,153,,,153,153,,,153,,,153,63,63,,,63,,63,153,,,,,,153,,,,153',
287
+ '153,,153,153,,63,,,,,153,63,,63,,63,63,,63,63,63,,63,63,,,,,63,63,,',
288
+ '63,,,63,,,316,316,,,316,63,316,316,,,,63,,,,63,63,,63,63,,,,316,,,63',
289
+ ',,316,,316,,316,316,,316,316,316,,316,316,316,316,,,316,316,,,316,,',
290
+ '316,72,72,,,72,,72,316,,,,,,316,,,,316,316,,316,316,,72,,,,,316,72,',
291
+ '72,,72,72,,72,72,72,,72,72,72,72,,,72,72,,,72,,,72,315,315,,,315,,315',
292
+ '72,,,,,,72,,,,72,72,,72,72,,315,,,,,72,315,,315,,315,315,,315,315,315',
293
+ ',315,315,315,315,,,315,315,,,315,,,315,74,74,,,74,,74,315,,,,,,315,',
294
+ ',,315,315,,315,315,,74,,,,,315,74,,74,,74,74,,74,74,74,,74,74,74,74',
295
+ ',,74,74,,,74,,,74,75,75,,,75,,75,74,,,,,,74,,,,74,74,,74,74,,75,,,,',
296
+ '74,75,,75,,75,75,,75,75,75,,75,75,75,75,,,75,75,,,75,,,75,76,76,,,76',
297
+ ',76,75,,,,,,75,,,,75,75,,75,75,,76,,,,,75,76,,76,,76,76,,76,76,76,,76',
298
+ '76,76,76,,,76,76,,,76,,,76,77,77,,,77,,77,76,,,,,,76,,,,76,76,,76,76',
299
+ ',77,,,,,76,77,,77,,77,77,,77,77,77,,77,77,77,77,,,77,77,,,77,,,77,78',
300
+ '78,,,78,,78,77,,,,,,77,,,,77,77,,77,77,,78,,,,,77,78,,78,,78,78,,78',
301
+ '78,78,,78,78,78,78,,,78,78,,,78,,,78,79,79,,,79,,79,78,,,,,,78,,,,78',
302
+ '78,,78,78,,79,,,,,78,79,,79,,79,79,,79,79,79,,79,79,,,,,79,79,,,79,',
303
+ ',79,80,80,,,80,,80,79,,,,,,79,,,,79,79,,79,79,,80,,,,,79,80,,80,,80',
304
+ '80,,80,80,80,,80,80,,,,,80,80,,,80,,,80,81,81,,,81,,81,80,,,,,,80,,',
305
+ ',80,80,,80,80,,81,,,,,80,81,,81,,81,81,,81,81,81,,81,81,,,,,81,81,,',
306
+ '81,,,81,82,82,,,82,,82,81,,,,,,81,,,,81,81,,81,81,,82,,,,,81,82,,82',
307
+ ',82,82,,82,82,82,,82,82,,,,,82,82,,,82,,,82,83,83,,,83,,83,82,,,,,,82',
308
+ ',,,82,82,,82,82,,83,,,,,82,83,,83,,83,83,,83,83,83,,83,83,,,,,83,83',
309
+ ',,83,,,83,84,84,,,84,,84,83,,,,,,83,,,,83,83,,83,83,,84,,,,,83,84,,84',
310
+ ',84,84,,84,84,84,,84,84,,,,,84,84,,,84,,,84,85,85,,,85,,85,84,,,,,,84',
311
+ ',,,84,84,,84,84,,85,,,,,84,85,,85,,85,85,,85,85,85,,85,85,,,,,85,85',
312
+ ',,85,,,85,86,86,,,86,,86,85,,,,,,85,,,,85,85,,85,85,,86,,,,,85,86,,86',
313
+ ',86,86,,86,86,86,,86,86,,,,,86,86,,,86,,,86,87,87,,,87,,87,86,,,,,,86',
314
+ ',,,86,86,,86,86,,87,,,,,86,87,,87,,87,87,,87,87,87,,87,87,,,,,87,87',
315
+ ',,87,,,87,88,88,,,88,,88,87,,,,,,87,,,,87,87,,87,87,,88,,,,,87,88,,88',
316
+ ',88,88,,88,88,88,,88,88,,,,,88,88,,,88,,,88,89,89,,,89,,89,88,,,,,,88',
317
+ ',,,88,88,,88,88,,89,,,,,88,89,,89,,89,89,,89,89,89,,89,89,,,,,89,89',
318
+ ',,89,,,89,90,90,,,90,,90,89,,,,,,89,,,,89,89,,89,89,,90,,,,,89,90,,90',
319
+ ',90,90,,90,90,90,,90,90,,,,,90,90,,,90,,,90,91,91,,,91,,91,90,,,,,,90',
320
+ ',,,90,90,,90,90,,91,,,,,90,91,,91,,91,91,,91,91,91,,91,91,,,,,91,91',
321
+ ',,91,,,91,92,92,,,92,,92,91,,,,,,91,,,,91,91,,91,91,,92,,,,,91,92,,92',
322
+ ',92,92,,92,92,92,,92,92,,,,,92,92,,,92,,,92,93,93,,,93,,93,92,,,,,,92',
323
+ ',,,92,92,,92,92,,93,,,,,92,93,,93,,93,93,,93,93,93,,93,93,,,,,93,93',
324
+ ',,93,,,93,94,94,,,94,,94,93,,,,,,93,,,,93,93,,93,93,,94,,,,,93,94,,94',
325
+ ',94,94,,94,94,94,,94,94,,,,,94,94,,,94,,,94,95,95,,,95,,95,94,,,,,,94',
326
+ ',,,94,94,,94,94,,95,,,,,94,95,,95,,95,95,,95,95,95,,95,95,,,,,95,95',
327
+ ',,95,,,95,96,96,,,96,,96,95,,,,,,95,,,,95,95,,95,95,,96,,,,,95,96,,96',
328
+ ',96,96,,96,96,96,,96,96,,,,,96,96,,,96,,,96,97,97,,,97,,97,96,,,,,,96',
329
+ ',,,96,96,,96,96,,97,,,,,96,97,,97,,97,97,,97,97,97,,97,97,,,,,97,97',
330
+ ',,97,,,97,98,98,,,98,,98,97,,,,,,97,,,,97,97,,97,97,,98,,,,,97,98,,98',
331
+ ',98,98,,98,98,98,,98,98,,,,,98,98,,,98,,,98,99,99,,,99,,99,98,,,,,,98',
332
+ ',,,98,98,,98,98,,99,,,,,98,99,,99,,99,99,,99,99,99,,99,99,,,,,99,99',
333
+ ',,99,,,99,100,100,,,100,,100,99,,,,,,99,,,,99,99,,99,99,,100,,,,,99',
334
+ '100,,100,,100,100,,100,100,100,,100,100,,,,,100,100,,,100,,,100,101',
335
+ '101,,,101,,101,100,,,,,,100,,,,100,100,,100,100,,101,,,,,100,101,,101',
336
+ ',101,101,,101,101,101,,101,101,,,,,101,101,,,101,,,101,,,304,304,,,304',
337
+ '101,304,304,,,,101,,,101,101,101,,101,101,,,,304,,,101,,,304,,304,,304',
338
+ '304,,304,304,304,,304,304,,,,,304,304,,,304,,,304,103,103,,,103,,103',
339
+ '304,,,,,,304,,,,304,304,,304,304,,103,,,,,304,103,103,103,103,103,103',
340
+ '103,103,103,103,,103,103,,,,,103,103,103,103,103,,,103,297,297,,,297',
341
+ ',297,103,,,,,103,103,,,,103,103,,103,103,,297,,,,,103,297,,297,,297',
342
+ '297,,297,297,297,,297,297,,,,,297,297,,,297,,,297,105,105,,,105,,105',
343
+ '297,,,,,,297,,,,297,297,,297,297,,105,,,,,297,105,,105,,105,105,,105',
344
+ '105,105,,105,105,,,,,105,105,,,105,,,105,106,106,,,106,,106,105,,,,',
345
+ ',105,,,,105,105,,105,105,,106,,,,,105,106,,106,,106,106,,106,106,106',
346
+ ',106,106,,,,,106,106,,,106,,,106,290,290,,,290,,290,106,,,,,,106,,,',
347
+ '106,106,,106,106,,290,,,,,106,290,,290,,290,290,,290,290,290,,290,290',
348
+ ',,,,290,290,,,290,,,290,276,276,,,276,,276,290,,,,,,290,,,,290,290,',
349
+ '290,290,,276,,,,,290,276,,276,,276,276,,276,276,276,,276,276,,,,,276',
350
+ '276,,,276,,,276,275,275,,,275,,275,276,,,,,,276,,,,276,276,,276,276',
351
+ ',275,,,,,276,275,,275,,275,275,,275,275,275,,275,275,,,,,275,275,,,275',
352
+ ',,275,,,228,228,,,228,275,228,228,,,,275,,,,275,275,,275,275,,,,228',
353
+ ',,275,,,228,,228,,228,228,,228,228,228,,228,228,228,228,,,228,228,,',
354
+ '228,,,228,111,111,,,111,,111,228,,,,,,228,,,,228,228,,228,228,,111,111',
355
+ ',,,228,111,,111,,111,111,,111,111,111,,111,111,,,,,111,111,,,111,,,111',
356
+ '272,272,,,272,,272,111,,,,,,111,,,,111,111,,111,111,,272,,,,,111,272',
357
+ ',272,,272,272,,272,272,272,,272,272,,,,,272,272,,,272,,,272,266,266',
358
+ ',,266,,266,272,,,,,,272,,,,272,272,,272,272,,266,,,,,272,266,,266,,266',
359
+ '266,,266,266,266,,266,266,,,,,266,266,,,266,,,266,115,115,,,115,,115',
360
+ '266,,,,,,266,,,,266,266,,266,266,,115,115,,,,266,115,,115,,115,115,',
361
+ '115,115,115,,115,115,,,,,115,115,,,115,,,115,150,150,,,150,,150,115',
362
+ ',,,,,115,,,,115,115,,115,115,,150,,,,,115,150,,150,,150,150,,150,150',
363
+ '150,,150,150,150,150,,,150,150,,,150,,,150,229,229,,,229,,229,150,,',
364
+ ',,,150,,,,150,150,,150,150,,229,,,,,150,229,,229,,229,229,,229,229,229',
365
+ ',229,229,,,,,229,229,,,229,,,229,244,244,,,244,244,244,229,,,,,,229',
366
+ ',,,229,229,,229,229,,244,,,,,229,244,,244,,244,244,,244,244,244,,244',
367
+ '244,,,,,244,244,,,244,,,244,231,231,,,231,,231,244,,,,,,244,,,,244,244',
368
+ ',244,244,,231,,,,,244,231,,231,,231,231,,231,231,231,,231,231,,,,,231',
369
+ '231,,,231,,,231,265,265,,,265,,265,231,,,,,,231,,,,231,231,,231,231',
370
+ ',265,,,,,231,265,,265,,265,265,,265,265,265,,265,265,,,,,265,265,,,265',
371
+ ',,265,122,122,,,122,,122,265,,,,,,265,,,,265,265,,265,265,,122,,,,,265',
372
+ '122,,122,,122,122,,122,122,122,,122,122,,,,,122,122,,,122,,,122,242',
373
+ '242,,,242,242,242,122,,,,,,122,,,,122,122,,122,122,,242,,,,,122,242',
374
+ ',242,,242,242,,242,242,242,,242,242,,,,,242,242,,,242,,,242,253,253',
375
+ ',,253,,253,242,,,,,,242,,,,242,242,,242,242,,253,,,,,242,253,,253,,253',
376
+ '253,,253,253,253,,253,253,,,,,253,253,,,253,,,253,,,248,248,,,248,253',
377
+ '248,248,,,,253,,,,253,253,,253,253,,,,248,,,253,,,248,,248,,248,248',
378
+ ',248,248,248,,248,248,,,,,248,248,,,248,,,248,246,246,,,246,,246,248',
379
+ ',,,,,248,,,,248,248,,248,248,,246,,,,,248,246,,246,,246,246,,246,246',
380
+ '246,,246,246,,,,,246,246,,,246,,,246,230,230,,,230,,230,246,,,,,,246',
381
+ ',,,246,246,,246,246,,230,,,,,246,230,230,230,230,230,230,230,230,230',
382
+ '230,,230,230,,,,,230,230,230,230,230,,,230,,,,,,,,230,,,,,230,230,,',
383
+ ',230,230,,230,230,136,,,,,,230,,,136,136,136,136,136,136,,136,,136,',
384
+ ',136,136,136,136,,,,,,,,,,,,,,,,136,,,,136,136,,,136,136,136,136,136',
385
+ '136,,136,136,,,262,,262,136,,262,,,,262,262,262,262,262,262,,262,,262',
386
+ ',136,262,262,262,262,,,,,,,,,,,,,,,,262,,,,262,262,,,262,262,262,262',
387
+ '262,262,141,262,262,,,141,,,262,141,141,141,141,141,141,,141,,141,,',
388
+ '141,141,141,141,262,,,,,,,,,,,,,,,141,,,,141,141,,,141,141,141,141,141',
389
+ '141,,141,141,,,120,,120,141,,,,,,120,120,120,120,120,120,,120,,120,',
390
+ '141,120,120,120,120,,,,,,,,,,,,,,,,120,,,,120,120,,,120,120,120,120',
391
+ '120,120,145,120,120,,,,,,120,145,145,145,145,145,145,,145,,145,,,145',
392
+ '145,145,145,120,,,,,,,,,,,,,,,145,,,,145,145,,,145,145,145,145,145,145',
393
+ ',145,145,,,119,,119,145,,,,,,119,119,119,119,119,119,,119,,119,,145',
394
+ '119,119,119,119,,,,,,,,,,,,,,,,119,,,,119,119,,,119,119,119,119,119',
395
+ '119,,119,119,,,118,,118,119,,,,,,118,118,118,118,118,118,,118,,118,',
396
+ '119,118,118,118,118,,,,,,,,,,,,,,,,118,,,,118,118,,,118,118,118,118',
397
+ '118,118,,118,118,,,116,,116,118,,,,,,116,116,116,116,116,116,,116,,116',
398
+ ',118,116,116,116,116,,,,,,,,,,,,,,,,116,,,,116,116,,,116,116,116,116',
399
+ '116,116,110,116,116,,,,,,116,110,110,110,110,110,110,,110,,110,,110',
400
+ '110,110,110,110,116,,,,,,,,,,,,,,,110,,,,110,110,,,110,110,110,110,110',
401
+ '110,152,110,110,,,,,,110,152,152,152,152,152,152,,152,,152,,,152,152',
402
+ '152,152,110,,,,,,,,,,,,,,,152,,,,152,152,,,152,152,152,152,152,152,320',
403
+ '152,152,,,,,,152,320,320,320,320,320,320,,320,,320,152,152,320,320,320',
404
+ '320,152,,,,,,,,,,,,,,,320,,,,320,320,,,320,320,320,320,320,320,323,320',
405
+ '320,,,,,,320,323,323,323,323,323,323,,323,,323,,,323,323,323,323,320',
406
+ ',,,,,,,,,,,,,,323,,,,323,323,,,323,323,323,323,323,323,329,323,323,',
407
+ ',,,,323,329,329,329,329,329,329,,329,,329,,,329,329,329,329,323,,,,',
408
+ ',,,,,,,,,,329,,,,329,329,,,329,329,329,329,329,329,212,329,329,,,,,',
409
+ '329,212,212,212,212,212,212,,212,,212,,,212,212,212,212,329,,,,,,,,',
410
+ ',,,,,,212,,,,212,212,,,212,212,212,212,212,212,337,212,212,,,,,,212',
411
+ '337,337,337,337,337,337,,337,,337,,,337,337,337,337,212,,,,,,,,,,,,',
412
+ ',,337,,,,337,337,,,337,337,337,337,337,337,338,337,337,,,,,,337,338',
413
+ '338,338,338,338,338,,338,,338,165,,338,338,338,338,337,,,,,,,,165,,165',
414
+ ',165,,,338,,,,338,338,,,338,338,338,338,338,338,,338,338,,,165,,,338',
415
+ ',166,,,,,165,165,,,,165,165,,,166,338,166,165,166,,,,,,,,,,,,,,,,165',
416
+ ',,,,,166,,,,,,,,,,166,166,,,344,166,166,,,,,,166,344,344,344,344,344',
417
+ '344,,344,,344,,,344,344,344,344,166,,,,,,,,,,,,,,,344,,,,344,344,,,344',
418
+ '344,344,344,344,344,188,344,344,,,,,,344,188,188,188,188,188,188,188',
419
+ '188,,188,,,188,188,188,188,344,,,,,,,,,,,,,,,188,,,,188,188,,,188,188',
420
+ '188,188,188,188,,188,188,,,11,,11,188,,,,,,11,11,11,11,11,11,,11,,11',
421
+ '170,188,11,11,11,11,,,,,,,,,170,,170,,170,,,11,,,,11,11,,,11,11,11,11',
422
+ '11,11,,11,11,,,170,,,11,,171,,,170,170,170,170,,,,170,170,,,171,11,171',
423
+ '170,171,172,,,,,,,,,,,,,,172,170,172,,172,,,171,,,,,,,,171,171,171,171',
424
+ ',,,171,171,,,172,,,171,,173,,,172,172,172,172,172,172,,172,172,,,173',
425
+ '171,173,172,173,,,,,,,174,,,,,,,,,172,,,,174,174,173,174,,174,,175,174',
426
+ ',173,173,173,173,173,173,,173,173,,175,175,,175,173,175,,174,175,,,',
427
+ '176,,,174,174,174,174,174,174,173,174,174,,176,176,175,176,174,176,',
428
+ ',176,,175,175,175,175,175,175,,175,175,,,174,,,175,,,176,,,,,177,,,176',
429
+ '176,176,176,176,176,175,176,176,,177,177,,177,176,177,,,177,,,,,,,,',
430
+ ',,,,176,,,,,,177,,,,,178,,,177,177,177,177,177,177,,177,177,178,178',
431
+ '178,,178,177,178,,,178,178,178,178,,,,,,,,,,177,,,,,,178,,,,,179,,,178',
432
+ '178,178,178,178,178,,178,178,179,179,179,,179,178,179,,,179,179,179',
433
+ '179,,,,,,,,,,178,,,,,,179,,,,,179,,,179,179,179,179,179,179,180,179',
434
+ '179,,,,,,179,180,180,180,180,180,180,,180,,180,,,180,180,180,180,179',
435
+ ',,,,,,,,,,,,,,180,,,,180,180,,,180,180,180,180,180,180,183,180,180,',
436
+ ',183,,,180,183,183,183,183,183,183,,183,,183,,,183,183,183,183,180,',
437
+ ',,,,,,,,,,,,,183,,,,183,183,,,183,183,183,183,183,183,182,183,183,,',
438
+ ',,,183,182,182,182,182,182,182,,182,,182,,,182,182,182,182,183,,,,,',
439
+ ',,,,,,,,,182,,,,182,182,,,182,182,182,182,182,182,181,182,182,,,,,,182',
440
+ '181,181,181,181,181,181,,181,,181,,,181,181,181,181,182,,,,,,,,,,,,',
441
+ ',,181,,,,181,181,,,181,181,181,181,181,181,,181,181,,,,,,181,274,274',
442
+ '274,274,,274,274,274,274,274,,274,274,,,,181,,,274,274,274,269,269,269',
443
+ '269,,269,269,269,269,269,,269,269,,,274,274,,,269,269,269,211,211,211',
444
+ '211,,211,211,211,211,211,,211,211,,,269,269,,,211,211,211,,,,,,,,,,',
445
+ ',,,,,211,211' ]
446
+ racc_action_check = arr = ::Array.new(6233, nil)
347
447
  idx = 0
348
448
  clist.each do |str|
349
449
  str.split(',', -1).each do |i|
@@ -353,382 +453,426 @@ clist = [
353
453
  end
354
454
 
355
455
  racc_action_pointer = [
356
- 4691, 297, nil, nil, 4599, 284, nil, 145, nil, nil,
357
- 285, 4461, 4415, 4369, nil, nil, nil, nil, nil, nil,
456
+ -2, 295, nil, nil, nil, 108, 280, nil, 220, nil,
457
+ nil, 5532, 328, 382, 436, nil, nil, nil, nil, nil,
358
458
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
359
- nil, nil, nil, nil, nil, 263, 200, 242, 4231, 4185,
360
- 4139, 4093, 85, 219, 118, 120, nil, 3909, 202, nil,
361
- nil, nil, 3814, nil, nil, nil, nil, nil, nil, nil,
362
- 251, 3676, 238, 3259, 3213, 3167, 3121, 2891, 2474, 3538,
363
- 86, 26, 1692, 1738, 1784, 1830, 1876, 1922, 1968, 2014,
364
- 2060, 2106, 2152, 2198, 2244, 2290, 2336, 2382, 2428, 1505,
365
- 164, 2566, 174, 2661, 2707, 196, 64, 170, 1468, 2937,
366
- nil, 253, -28, 3075, 1409, nil, 1350, 1291, 1232, 3305,
367
- 21, nil, nil, nil, 67, -11, nil, nil, nil, nil,
368
- nil, 1173, 138, nil, 161, nil, nil, 219, 1114, nil,
369
- 26, nil, 236, nil, nil, nil, nil, nil, -5, 13,
370
- nil, nil, nil, nil, 878, 795, 250, 77, 18, 594,
371
- 570, 528, 445, 421, 377, 353, 309, 226, 169, 112,
372
- 53, -6, nil, nil, 3722, nil, 653, 4047, 4001, 3860,
373
- 255, 255, nil, nil, 7, nil, -7, 22, 119, 109,
374
- 113, 53, 24, nil, nil, nil, nil, nil, nil, 4785,
375
- 996, 218, nil, 238, nil, 246, 189, nil, 3768, nil,
376
- 227, nil, 216, -9, nil, 4737, 3630, 3584, 1551, 176,
377
- 127, nil, 27, 143, 109, 24, nil, 53, 3446, nil,
378
- nil, 197, 3397, nil, nil, nil, nil, 3351, nil, 3029,
379
- 2983, 2, nil, 4764, nil, 81, 2845, 102, 4806, 2799,
380
- 2753, 168, nil, nil, nil, nil, nil, nil, nil, nil,
381
- nil, nil, nil, nil, 2615, 158, nil, 175, nil, 126,
382
- 167, 2520, nil, 203, 101, 211, 196, 74, 1646, nil,
383
- 193, 222, 228, 230, nil, 107, nil, 234, 1600, 3492,
384
- nil, nil, 1055, nil, nil, nil, 937, nil, 854, 250,
385
- 3955, -4, nil, nil, nil, nil, 771, 712, 255, 197,
386
- nil, nil, nil, 504, 146, nil, 4277, 264, 243, nil,
387
- 267, 268, nil, nil, nil, 268, 275, nil, 4323, nil,
388
- nil, nil, 263, 280, nil, 281, nil, nil, nil, nil,
389
- nil, nil, nil, nil, 4507, nil, 4553, 4645, nil, nil,
390
- 289, nil, nil, nil, nil, 296, nil, 298, nil, 308,
391
- nil, nil, nil, nil, nil ]
459
+ nil, nil, nil, nil, nil, nil, nil, nil, 254, 191,
460
+ 229, 652, 706, 760, 814, 147, 203, nil, 48, 407,
461
+ nil, 1086, 1140, 1196, nil, nil, nil, nil, 1250, nil,
462
+ 156, 160, nil, 1416, nil, nil, nil, nil, nil, nil,
463
+ nil, 225, 1526, 212, 1634, 1688, 1742, 1796, 1850, 1904,
464
+ 1958, 2012, 2066, 2120, 2174, 2228, 2282, 2336, 2390, 2444,
465
+ 2498, 2552, 2606, 2660, 2714, 2768, 2822, 2876, 2930, 2984,
466
+ 3038, 3092, 165, 3202, 178, 3310, 3364, 602, 79, 112,
467
+ 4923, 3636, nil, 121, 30, 3798, 4869, nil, 4810, 4751,
468
+ 4638, 72, 4122, 10, nil, nil, nil, nil, 82, 27,
469
+ nil, 170, nil, nil, nil, nil, 4466, 71, nil, 61,
470
+ nil, 4579, 57, nil, nil, 4692, nil, 164, nil, 159,
471
+ 3852, -15, 4977, 1362, nil, 125, nil, nil, nil, nil,
472
+ nil, 74, 8, 2, 440, 5320, 5365, 494, 174, 548,
473
+ 5551, 5596, 5615, 5660, 5685, 5705, 5730, 5775, 5820, 5865,
474
+ 5919, 6081, 6027, 5973, nil, nil, 274, nil, 5473, 598,
475
+ 868, 922, 208, 232, nil, nil, -8, nil, -2, -9,
476
+ 55, -23, 353, -1, -4, nil, nil, nil, nil, nil,
477
+ nil, 6163, 5193, 192, nil, 195, nil, 189, 94, nil,
478
+ 1032, nil, 142, nil, 125, -7, nil, 1306, 3582, 3906,
479
+ 4394, 4014, 80, 197, nil, -14, 249, 93, 299, nil,
480
+ 102, 251, 4176, nil, 3960, nil, 4340, nil, 4286, nil,
481
+ nil, nil, nil, 4230, nil, nil, nil, 205, nil, nil,
482
+ nil, nil, 4525, 68, nil, 4068, 3744, 101, nil, 6141,
483
+ nil, 116, 3690, 126, 6119, 3526, 3472, 147, nil, nil,
484
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
485
+ 3418, 148, nil, 166, nil, 108, 144, 3256, nil, 179,
486
+ 92, 182, 161, 4, 3148, nil, 169, 199, 173, 206,
487
+ 19, nil, -25, nil, 209, 1580, 1472, nil, nil, nil,
488
+ 5031, nil, nil, 5085, nil, nil, nil, 162, -21, 5139,
489
+ 234, 976, 234, nil, nil, nil, nil, 5247, 5301, 241,
490
+ 182, nil, nil, nil, 5419, 88, nil, 544, 258, 235,
491
+ nil, 262, 263, nil, nil, nil, 264, 265, 269, nil,
492
+ 490, nil, nil, nil, 255, 279, nil, nil, 281, nil,
493
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 220,
494
+ nil, 164, 54, nil, nil, nil, 289, nil, nil, nil,
495
+ 291, nil, 294, nil, 297, nil, nil, nil, nil, nil ]
392
496
 
393
497
  racc_action_default = [
394
- -203, -204, -1, -2, -3, -4, -7, -9, -10, -15,
395
- -103, -204, -204, -204, -43, -44, -45, -46, -47, -48,
396
- -49, -50, -51, -52, -53, -54, -55, -56, -57, -58,
397
- -59, -60, -61, -62, -63, -68, -69, -73, -204, -204,
398
- -204, -204, -204, -113, -204, -204, -158, -204, -204, -168,
399
- -169, -170, -204, -172, -179, -180, -181, -182, -183, -184,
400
- -204, -204, -6, -204, -204, -204, -204, -204, -204, -204,
401
- -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
402
- -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
403
- -204, -121, -116, -203, -203, -27, -204, -34, -204, -204,
404
- -70, -204, -204, -204, -204, -80, -204, -204, -204, -204,
405
- -203, -147, -148, -114, -203, -203, -139, -141, -142, -143,
406
- -144, -41, -204, -161, -204, -164, -165, -204, -176, -171,
407
- -204, 355, -5, -8, -11, -12, -13, -14, -204, -17,
408
- -18, -156, -157, -19, -20, -21, -22, -23, -24, -25,
409
- -26, -28, -29, -30, -31, -32, -33, -35, -36, -37,
410
- -38, -204, -39, -98, -204, -74, -204, -196, -202, -190,
411
- -187, -185, -111, -122, -179, -125, -183, -204, -193, -191,
412
- -199, -181, -182, -189, -194, -195, -197, -198, -200, -121,
413
- -120, -204, -119, -204, -40, -185, -65, -75, -204, -78,
414
- -185, -152, -155, -204, -72, -204, -204, -204, -121, -187,
415
- -203, -149, -204, -204, -204, -204, -145, -204, -204, -159,
416
- -162, -204, -204, -173, -174, -175, -177, -204, -16, -204,
417
- -204, -185, -100, -121, -110, -204, -188, -204, -186, -204,
418
- -204, -185, -124, -126, -190, -191, -192, -193, -196, -199,
419
- -201, -202, -117, -118, -186, -204, -67, -204, -77, -204,
420
- -186, -204, -71, -204, -83, -204, -89, -204, -204, -93,
421
- -187, -185, -204, -204, -133, -204, -150, -185, -204, -204,
422
- -140, -146, -42, -160, -163, -166, -167, -178, -102, -204,
423
- -186, -185, -106, -112, -107, -123, -127, -128, -204, -64,
424
- -76, -79, -153, -154, -83, -82, -204, -204, -89, -88,
425
- -204, -204, -97, -92, -94, -204, -204, -108, -204, -134,
426
- -135, -136, -204, -204, -130, -204, -138, -99, -101, -109,
427
- -115, -66, -81, -84, -204, -87, -204, -204, -104, -105,
428
- -204, -132, -151, -129, -137, -204, -86, -204, -91, -204,
429
- -96, -131, -85, -90, -95 ]
498
+ -227, -228, -1, -2, -3, -4, -5, -8, -10, -11,
499
+ -16, -107, -228, -228, -228, -45, -46, -47, -48, -49,
500
+ -50, -51, -52, -53, -54, -55, -56, -57, -58, -59,
501
+ -60, -61, -62, -63, -64, -65, -66, -67, -72, -73,
502
+ -77, -228, -228, -228, -228, -228, -118, -120, -228, -228,
503
+ -165, -228, -228, -228, -178, -179, -180, -181, -228, -183,
504
+ -228, -194, -197, -228, -202, -203, -204, -205, -206, -207,
505
+ -208, -228, -228, -7, -228, -228, -228, -228, -228, -228,
506
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
507
+ -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
508
+ -228, -228, -228, -127, -122, -227, -227, -28, -228, -35,
509
+ -228, -228, -74, -228, -228, -228, -228, -84, -228, -228,
510
+ -228, -228, -228, -227, -137, -156, -157, -119, -227, -227,
511
+ -146, -148, -149, -150, -151, -152, -43, -228, -168, -228,
512
+ -171, -228, -228, -174, -175, -187, -182, -228, -190, -228,
513
+ -228, -228, -228, -228, 400, -6, -9, -12, -13, -14,
514
+ -15, -228, -18, -19, -20, -21, -22, -23, -24, -25,
515
+ -26, -27, -29, -30, -31, -32, -33, -34, -36, -37,
516
+ -38, -39, -40, -228, -41, -102, -228, -78, -228, -220,
517
+ -226, -214, -211, -209, -116, -128, -203, -131, -207, -228,
518
+ -217, -215, -223, -205, -206, -213, -218, -219, -221, -222,
519
+ -224, -127, -126, -228, -125, -228, -42, -209, -69, -79,
520
+ -228, -82, -209, -161, -164, -228, -76, -228, -228, -228,
521
+ -127, -228, -211, -227, -158, -228, -228, -228, -228, -154,
522
+ -228, -228, -228, -166, -228, -169, -228, -172, -228, -184,
523
+ -185, -186, -188, -228, -191, -192, -193, -209, -195, -198,
524
+ -200, -201, -107, -228, -17, -228, -228, -209, -104, -127,
525
+ -115, -228, -212, -228, -210, -228, -228, -209, -130, -132,
526
+ -214, -215, -216, -217, -220, -223, -225, -226, -123, -124,
527
+ -210, -228, -71, -228, -81, -228, -210, -228, -75, -228,
528
+ -87, -228, -93, -228, -228, -97, -211, -209, -211, -228,
529
+ -228, -140, -228, -159, -209, -227, -228, -147, -155, -153,
530
+ -44, -167, -170, -177, -173, -176, -189, -228, -228, -106,
531
+ -228, -210, -209, -110, -117, -111, -129, -133, -134, -228,
532
+ -68, -80, -83, -162, -163, -87, -86, -228, -228, -93,
533
+ -92, -228, -228, -101, -96, -98, -228, -228, -228, -113,
534
+ -227, -141, -142, -143, -228, -228, -138, -139, -228, -145,
535
+ -196, -199, -103, -105, -114, -121, -70, -85, -88, -228,
536
+ -91, -228, -228, -108, -109, -112, -228, -160, -135, -144,
537
+ -228, -90, -228, -95, -228, -100, -136, -89, -94, -99 ]
430
538
 
431
539
  racc_goto_table = [
432
- 2, 3, 100, 95, 97, 98, 114, 163, 129, 126,
433
- 170, 171, 127, 200, 118, 305, 309, 120, 235, 210,
434
- 280, 311, 281, 213, 237, 231, 269, 293, 209, 233,
435
- 104, 106, 107, 108, 142, 142, 62, 140, 143, 121,
436
- 191, 193, 141, 141, 128, 268, 295, 333, 255, 134,
437
- 135, 136, 137, 259, 197, 332, 273, 272, 335, 319,
438
- 121, 139, 214, 162, 144, 145, 146, 147, 148, 149,
439
- 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
440
- 160, 161, 232, 166, 289, 190, 190, 314, 302, 122,
441
- 124, 121, 133, 132, 298, 121, 1, 226, 227, 225,
442
- nil, 166, nil, nil, nil, nil, nil, nil, nil, 241,
443
- 138, 211, nil, nil, nil, 211, 216, nil, 315, nil,
444
- nil, nil, nil, 277, 316, nil, nil, 270, 271, nil,
445
- 322, nil, nil, nil, nil, nil, nil, nil, nil, nil,
446
- 114, 195, nil, nil, 329, 203, nil, nil, nil, 118,
447
- nil, nil, 120, 291, nil, nil, 161, nil, nil, 104,
448
- 106, 107, 256, nil, nil, nil, nil, nil, nil, nil,
540
+ 2, 112, 4, 146, 107, 109, 110, 128, 134, 185,
541
+ 259, 132, 222, 193, 365, 350, 184, 233, 346, 192,
542
+ 156, 271, 236, 334, 305, 157, 158, 159, 160, 73,
543
+ 317, 269, 318, 116, 118, 119, 120, 352, 232, 336,
544
+ 137, 139, 267, 136, 136, 141, 213, 215, 304, 257,
545
+ 145, 378, 310, 361, 237, 152, 219, 343, 325, 386,
546
+ 254, 309, 380, 377, 255, 3, 252, 253, 161, 251,
547
+ 148, 136, 162, 163, 164, 165, 166, 167, 168, 169,
548
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
549
+ 180, 181, 182, 183, 268, 188, 155, 212, 212, 355,
550
+ 217, 150, 1, 136, 225, nil, nil, 136, nil, nil,
551
+ 273, nil, nil, nil, 188, nil, nil, nil, nil, nil,
552
+ nil, 277, nil, nil, nil, 234, nil, nil, nil, nil,
553
+ 234, 239, nil, 314, 291, 356, nil, 358, nil, 295,
554
+ 307, nil, nil, nil, nil, 262, 306, 308, nil, nil,
555
+ 256, nil, nil, 263, nil, nil, nil, nil, nil, 128,
556
+ nil, 134, nil, nil, 132, nil, nil, nil, nil, nil,
557
+ nil, nil, nil, nil, 327, nil, nil, nil, 183, 332,
558
+ 292, 116, 118, 119, 330, nil, 371, nil, nil, nil,
559
+ nil, nil, nil, nil, 339, nil, nil, 134, 326, 134,
560
+ 132, nil, 132, nil, nil, nil, nil, nil, nil, nil,
449
561
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
450
- nil, nil, 285, 287, 118, 127, 118, 120, nil, 120,
451
- nil, nil, nil, nil, nil, nil, nil, nil, 257, 121,
452
- 166, nil, nil, nil, nil, 263, 265, nil, 328, nil,
453
- 282, 274, nil, nil, 286, nil, nil, nil, nil, 128,
454
- nil, 282, 288, nil, nil, nil, nil, nil, 166, nil,
455
- nil, 296, 297, nil, nil, nil, nil, 320, nil, nil,
456
- nil, nil, nil, nil, nil, nil, 282, nil, nil, nil,
457
- nil, nil, nil, 303, nil, nil, nil, nil, nil, nil,
458
- 121, nil, nil, nil, nil, 331, nil, nil, nil, nil,
459
- nil, nil, nil, nil, nil, nil, nil, nil, 323, 325,
460
- nil, nil, 161, nil, nil, nil, nil, nil, nil, nil,
461
- nil, nil, nil, nil, nil, nil, nil, nil, 104, nil,
562
+ 293, 136, 188, 188, 357, nil, nil, 299, 301, nil,
563
+ nil, 364, nil, nil, 320, 311, 320, nil, 323, 373,
564
+ 141, nil, nil, nil, nil, 145, nil, nil, nil, 374,
565
+ nil, nil, nil, nil, nil, nil, nil, 320, 329, nil,
566
+ nil, nil, nil, nil, 188, nil, nil, 337, 338, nil,
567
+ nil, 362, nil, nil, nil, nil, nil, nil, nil, nil,
568
+ nil, nil, 320, nil, nil, nil, nil, nil, nil, 344,
569
+ nil, nil, nil, nil, nil, nil, 136, nil, nil, nil,
570
+ nil, nil, 376, nil, nil, nil, nil, nil, nil, nil,
571
+ nil, nil, nil, nil, nil, nil, 368, 367, nil, nil,
572
+ nil, nil, nil, 183, nil, nil, nil, nil, nil, nil,
573
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 116,
462
574
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
463
- nil, nil, nil, nil, nil, nil, nil, nil, 340, nil,
464
575
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
465
- nil, nil, nil, nil, 345, nil, 347, 349 ]
576
+ nil, nil, 367, nil, nil, nil, nil, nil, nil, nil,
577
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 390,
578
+ nil, 392, 394 ]
466
579
 
467
580
  racc_goto_check = [
468
- 2, 3, 37, 9, 9, 9, 62, 49, 75, 71,
469
- 52, 54, 31, 42, 35, 44, 45, 30, 53, 63,
470
- 68, 48, 68, 63, 36, 50, 47, 55, 52, 56,
471
- 9, 9, 9, 9, 31, 31, 5, 12, 12, 9,
472
- 58, 58, 30, 30, 9, 46, 59, 43, 36, 7,
473
- 7, 7, 7, 36, 41, 44, 64, 53, 45, 65,
474
- 9, 9, 67, 13, 9, 9, 9, 9, 9, 9,
475
- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
476
- 9, 9, 49, 9, 36, 9, 9, 47, 69, 11,
477
- 70, 9, 6, 5, 36, 9, 1, 76, 77, 79,
478
- nil, 9, nil, nil, nil, nil, nil, nil, nil, 54,
479
- 11, 3, nil, nil, nil, 3, 3, nil, 53, nil,
480
- nil, nil, nil, 42, 36, nil, nil, 52, 54, nil,
481
- 36, nil, nil, nil, nil, nil, nil, nil, nil, nil,
482
- 62, 11, nil, nil, 36, 11, nil, nil, nil, 35,
483
- nil, nil, 30, 54, nil, nil, 9, nil, nil, 9,
484
- 9, 9, 37, nil, nil, nil, nil, nil, nil, nil,
581
+ 2, 39, 4, 81, 10, 10, 10, 64, 31, 51,
582
+ 88, 37, 44, 56, 66, 47, 13, 65, 46, 54,
583
+ 7, 55, 65, 57, 49, 8, 8, 8, 8, 6,
584
+ 72, 58, 72, 10, 10, 10, 10, 50, 54, 61,
585
+ 12, 12, 52, 10, 10, 10, 60, 60, 48, 44,
586
+ 10, 45, 68, 69, 71, 10, 43, 74, 76, 66,
587
+ 77, 55, 47, 46, 78, 3, 82, 83, 12, 85,
588
+ 86, 10, 10, 10, 10, 10, 10, 10, 10, 10,
589
+ 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
590
+ 10, 10, 10, 10, 51, 10, 6, 10, 10, 49,
591
+ 12, 87, 1, 10, 12, nil, nil, 10, nil, nil,
592
+ 38, nil, nil, nil, 10, nil, nil, nil, nil, nil,
593
+ nil, 56, nil, nil, nil, 4, nil, nil, nil, nil,
594
+ 4, 4, nil, 44, 38, 55, nil, 55, nil, 38,
595
+ 56, nil, nil, nil, nil, 10, 54, 54, nil, nil,
596
+ 2, nil, nil, 2, nil, nil, nil, nil, nil, 64,
597
+ nil, 31, nil, nil, 37, nil, nil, nil, nil, nil,
598
+ nil, nil, nil, nil, 38, nil, nil, nil, 10, 56,
599
+ 39, 10, 10, 10, 38, nil, 88, nil, nil, nil,
600
+ nil, nil, nil, nil, 38, nil, nil, 31, 81, 31,
601
+ 37, nil, 37, nil, nil, nil, nil, nil, nil, nil,
485
602
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
486
- nil, nil, 71, 75, 35, 31, 35, 30, nil, 30,
487
- nil, nil, nil, nil, nil, nil, nil, nil, 2, 9,
488
- 9, nil, nil, nil, nil, 2, 2, nil, 49, nil,
489
- 9, 3, nil, nil, 9, nil, nil, nil, nil, 9,
490
- nil, 9, 9, nil, nil, nil, nil, nil, 9, nil,
491
- nil, 9, 9, nil, nil, nil, nil, 62, nil, nil,
492
- nil, nil, nil, nil, nil, nil, 9, nil, nil, nil,
493
- nil, nil, nil, 9, nil, nil, nil, nil, nil, nil,
494
- 9, nil, nil, nil, nil, 37, nil, nil, nil, nil,
495
- nil, nil, nil, nil, nil, nil, nil, nil, 2, 2,
496
- nil, nil, 9, nil, nil, nil, nil, nil, nil, nil,
497
- nil, nil, nil, nil, nil, nil, nil, nil, 9, nil,
603
+ 2, 10, 10, 10, 38, nil, nil, 2, 2, nil,
604
+ nil, 38, nil, nil, 10, 4, 10, nil, 10, 51,
605
+ 10, nil, nil, nil, nil, 10, nil, nil, nil, 38,
606
+ nil, nil, nil, nil, nil, nil, nil, 10, 10, nil,
607
+ nil, nil, nil, nil, 10, nil, nil, 10, 10, nil,
608
+ nil, 64, nil, nil, nil, nil, nil, nil, nil, nil,
609
+ nil, nil, 10, nil, nil, nil, nil, nil, nil, 10,
610
+ nil, nil, nil, nil, nil, nil, 10, nil, nil, nil,
611
+ nil, nil, 39, nil, nil, nil, nil, nil, nil, nil,
612
+ nil, nil, nil, nil, nil, nil, 2, 4, nil, nil,
613
+ nil, nil, nil, 10, nil, nil, nil, nil, nil, nil,
614
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 10,
498
615
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
499
- nil, nil, nil, nil, nil, nil, nil, nil, 2, nil,
500
616
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
501
- nil, nil, nil, nil, 2, nil, 2, 2 ]
617
+ nil, nil, 4, nil, nil, nil, nil, nil, nil, nil,
618
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 2,
619
+ nil, 2, 2 ]
502
620
 
503
621
  racc_goto_pointer = [
504
- nil, 96, 0, 1, nil, 32, 29, -15, nil, -8,
505
- nil, 42, -33, -26, nil, nil, nil, nil, nil, nil,
622
+ nil, 102, 0, 65, 2, nil, 24, -54, -50, nil,
623
+ -8, nil, -11, -85, nil, nil, nil, nil, nil, nil,
506
624
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
507
- -28, -36, nil, nil, nil, -31, -147, -34, nil, nil,
508
- nil, -47, -89, -259, -249, -250, -162, -181, -246, -82,
509
- -139, nil, -81, -152, -80, -209, -137, nil, -53, -192,
510
- nil, nil, -38, -91, -154, -216, nil, -53, -195, -172,
511
- 42, -39, nil, nil, nil, -44, -33, -32, nil, -31 ]
625
+ nil, -41, nil, nil, nil, nil, nil, -38, -83, -38,
626
+ nil, nil, nil, -57, -102, -296, -282, -287, -181, -205,
627
+ -266, -92, -144, nil, -84, -171, -90, -249, -157, nil,
628
+ -59, -235, nil, nil, -41, -106, -301, nil, -181, -259,
629
+ nil, -75, -208, nil, -239, nil, -190, -89, -85, nil,
630
+ nil, -55, -81, -80, nil, -78, 10, 40, -142 ]
512
631
 
513
632
  racc_goto_default = [
514
- nil, nil, nil, 192, 4, 5, 6, 7, 8, 10,
515
- 9, 267, nil, nil, 14, 35, 15, 16, 17, 18,
516
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
517
- 29, 30, 31, 32, 33, 34, nil, nil, 36, 37,
518
- 101, nil, nil, 105, nil, nil, nil, nil, nil, nil,
519
- nil, 41, nil, nil, nil, 172, nil, 92, nil, 173,
520
- 177, 175, 110, nil, nil, nil, 115, nil, 116, 201,
521
- nil, nil, 49, 50, 52, nil, nil, nil, 130, nil ]
633
+ nil, nil, 366, nil, 214, 5, 6, 7, 8, 9,
634
+ 11, 10, 303, nil, 15, 38, 16, 17, 18, 19,
635
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
636
+ 30, 31, 32, 33, 34, 35, 36, 37, nil, nil,
637
+ 39, 40, 113, nil, nil, 117, nil, nil, nil, nil,
638
+ nil, nil, nil, 44, nil, nil, nil, 194, nil, 104,
639
+ nil, 195, 199, 197, 124, nil, nil, 123, nil, nil,
640
+ 129, nil, 130, 131, 223, 142, 144, 54, 55, 56,
641
+ 58, nil, nil, nil, 147, nil, nil, nil, nil ]
522
642
 
523
643
  racc_reduce_table = [
524
644
  0, 0, :racc_error,
525
- 1, 77, :_reduce_1,
526
- 1, 77, :_reduce_none,
527
- 1, 78, :_reduce_3,
528
- 1, 80, :_reduce_4,
529
- 3, 80, :_reduce_5,
530
- 2, 80, :_reduce_6,
531
- 1, 81, :_reduce_7,
532
- 3, 81, :_reduce_8,
533
- 1, 82, :_reduce_none,
534
- 1, 83, :_reduce_10,
535
- 3, 83, :_reduce_11,
536
- 3, 83, :_reduce_12,
537
- 3, 83, :_reduce_13,
538
- 3, 83, :_reduce_14,
539
- 1, 85, :_reduce_none,
540
- 4, 85, :_reduce_16,
541
- 3, 85, :_reduce_17,
542
- 3, 85, :_reduce_18,
543
- 3, 85, :_reduce_19,
544
- 3, 85, :_reduce_20,
545
- 3, 85, :_reduce_21,
546
- 3, 85, :_reduce_22,
547
- 3, 85, :_reduce_23,
548
- 3, 85, :_reduce_24,
549
- 3, 85, :_reduce_25,
550
- 3, 85, :_reduce_26,
551
- 2, 85, :_reduce_27,
552
- 3, 85, :_reduce_28,
553
- 3, 85, :_reduce_29,
554
- 3, 85, :_reduce_30,
555
- 3, 85, :_reduce_31,
556
- 3, 85, :_reduce_32,
557
- 3, 85, :_reduce_33,
558
- 2, 85, :_reduce_34,
559
- 3, 85, :_reduce_35,
560
- 3, 85, :_reduce_36,
561
- 3, 85, :_reduce_37,
562
- 3, 85, :_reduce_38,
563
- 3, 85, :_reduce_39,
564
- 3, 85, :_reduce_40,
565
- 1, 87, :_reduce_41,
566
- 3, 87, :_reduce_42,
567
- 1, 86, :_reduce_none,
568
- 1, 91, :_reduce_none,
569
- 1, 91, :_reduce_none,
570
- 1, 91, :_reduce_none,
571
- 1, 91, :_reduce_none,
572
- 1, 91, :_reduce_none,
573
- 1, 91, :_reduce_none,
574
- 1, 91, :_reduce_none,
575
- 1, 91, :_reduce_none,
576
- 1, 91, :_reduce_none,
577
- 1, 91, :_reduce_none,
578
- 1, 92, :_reduce_none,
579
- 1, 92, :_reduce_none,
580
- 1, 92, :_reduce_none,
581
- 1, 92, :_reduce_none,
582
- 1, 92, :_reduce_none,
583
- 1, 92, :_reduce_none,
584
- 1, 92, :_reduce_none,
585
- 1, 92, :_reduce_none,
586
- 1, 107, :_reduce_62,
587
- 1, 107, :_reduce_63,
588
- 5, 90, :_reduce_64,
589
- 3, 90, :_reduce_65,
590
- 6, 90, :_reduce_66,
591
- 4, 90, :_reduce_67,
592
- 1, 90, :_reduce_68,
593
- 1, 94, :_reduce_69,
594
- 2, 94, :_reduce_70,
595
- 4, 114, :_reduce_71,
596
- 3, 114, :_reduce_72,
597
- 1, 114, :_reduce_73,
598
- 3, 115, :_reduce_74,
599
- 2, 113, :_reduce_75,
600
- 3, 117, :_reduce_76,
601
- 2, 117, :_reduce_77,
602
- 2, 116, :_reduce_78,
603
- 4, 116, :_reduce_79,
604
- 2, 97, :_reduce_80,
605
- 5, 119, :_reduce_81,
606
- 4, 119, :_reduce_82,
607
- 0, 120, :_reduce_none,
608
- 2, 120, :_reduce_84,
609
- 4, 120, :_reduce_85,
610
- 3, 120, :_reduce_86,
611
- 6, 98, :_reduce_87,
612
- 5, 98, :_reduce_88,
613
- 0, 121, :_reduce_none,
614
- 4, 121, :_reduce_90,
615
- 3, 121, :_reduce_91,
616
- 5, 96, :_reduce_92,
617
- 1, 122, :_reduce_93,
618
- 2, 122, :_reduce_94,
619
- 5, 123, :_reduce_95,
620
- 4, 123, :_reduce_96,
621
- 1, 124, :_reduce_97,
645
+ 1, 89, :_reduce_1,
646
+ 1, 89, :_reduce_2,
622
647
  1, 89, :_reduce_none,
623
- 4, 89, :_reduce_99,
624
- 1, 126, :_reduce_100,
625
- 3, 126, :_reduce_101,
626
- 3, 125, :_reduce_102,
627
- 1, 84, :_reduce_103,
628
- 6, 84, :_reduce_104,
629
- 6, 84, :_reduce_105,
630
- 5, 84, :_reduce_106,
631
- 5, 84, :_reduce_107,
632
- 5, 84, :_reduce_108,
633
- 4, 131, :_reduce_109,
634
- 1, 132, :_reduce_110,
635
- 1, 128, :_reduce_111,
636
- 3, 128, :_reduce_112,
637
- 1, 127, :_reduce_113,
638
- 2, 127, :_reduce_114,
639
- 6, 95, :_reduce_115,
640
- 2, 95, :_reduce_116,
641
- 3, 133, :_reduce_117,
642
- 3, 133, :_reduce_118,
643
- 1, 134, :_reduce_none,
644
- 1, 134, :_reduce_none,
645
- 0, 130, :_reduce_121,
646
- 1, 130, :_reduce_122,
647
- 3, 130, :_reduce_123,
648
- 1, 136, :_reduce_none,
649
- 1, 136, :_reduce_none,
650
- 1, 136, :_reduce_none,
651
- 3, 135, :_reduce_127,
652
- 3, 135, :_reduce_128,
653
- 6, 99, :_reduce_129,
654
- 5, 99, :_reduce_130,
655
- 7, 100, :_reduce_131,
656
- 6, 100, :_reduce_132,
657
- 1, 140, :_reduce_none,
658
- 2, 140, :_reduce_134,
659
- 1, 141, :_reduce_none,
660
- 1, 141, :_reduce_none,
661
- 6, 101, :_reduce_137,
662
- 5, 101, :_reduce_138,
663
- 1, 142, :_reduce_139,
664
- 3, 142, :_reduce_140,
665
- 1, 144, :_reduce_141,
666
- 1, 144, :_reduce_142,
667
- 1, 144, :_reduce_143,
668
- 1, 144, :_reduce_none,
648
+ 1, 90, :_reduce_4,
649
+ 1, 93, :_reduce_5,
650
+ 3, 93, :_reduce_6,
651
+ 2, 93, :_reduce_7,
652
+ 1, 94, :_reduce_8,
653
+ 3, 94, :_reduce_9,
654
+ 1, 95, :_reduce_none,
655
+ 1, 96, :_reduce_11,
656
+ 3, 96, :_reduce_12,
657
+ 3, 96, :_reduce_13,
658
+ 3, 96, :_reduce_14,
659
+ 3, 96, :_reduce_15,
660
+ 1, 98, :_reduce_none,
661
+ 4, 98, :_reduce_17,
662
+ 3, 98, :_reduce_18,
663
+ 3, 98, :_reduce_19,
664
+ 3, 98, :_reduce_20,
665
+ 3, 98, :_reduce_21,
666
+ 3, 98, :_reduce_22,
667
+ 3, 98, :_reduce_23,
668
+ 3, 98, :_reduce_24,
669
+ 3, 98, :_reduce_25,
670
+ 3, 98, :_reduce_26,
671
+ 3, 98, :_reduce_27,
672
+ 2, 98, :_reduce_28,
673
+ 3, 98, :_reduce_29,
674
+ 3, 98, :_reduce_30,
675
+ 3, 98, :_reduce_31,
676
+ 3, 98, :_reduce_32,
677
+ 3, 98, :_reduce_33,
678
+ 3, 98, :_reduce_34,
679
+ 2, 98, :_reduce_35,
680
+ 3, 98, :_reduce_36,
681
+ 3, 98, :_reduce_37,
682
+ 3, 98, :_reduce_38,
683
+ 3, 98, :_reduce_39,
684
+ 3, 98, :_reduce_40,
685
+ 3, 98, :_reduce_41,
686
+ 3, 98, :_reduce_42,
687
+ 1, 100, :_reduce_43,
688
+ 3, 100, :_reduce_44,
689
+ 1, 99, :_reduce_none,
690
+ 1, 103, :_reduce_none,
691
+ 1, 103, :_reduce_none,
692
+ 1, 103, :_reduce_none,
693
+ 1, 103, :_reduce_none,
694
+ 1, 103, :_reduce_none,
695
+ 1, 103, :_reduce_none,
696
+ 1, 103, :_reduce_none,
697
+ 1, 103, :_reduce_none,
698
+ 1, 103, :_reduce_none,
699
+ 1, 103, :_reduce_none,
700
+ 1, 103, :_reduce_none,
701
+ 1, 104, :_reduce_none,
702
+ 1, 104, :_reduce_none,
703
+ 1, 104, :_reduce_none,
704
+ 1, 104, :_reduce_none,
705
+ 1, 104, :_reduce_none,
706
+ 1, 104, :_reduce_none,
707
+ 1, 104, :_reduce_none,
708
+ 1, 104, :_reduce_none,
709
+ 1, 104, :_reduce_none,
710
+ 1, 120, :_reduce_66,
711
+ 1, 120, :_reduce_67,
712
+ 5, 102, :_reduce_68,
713
+ 3, 102, :_reduce_69,
714
+ 6, 102, :_reduce_70,
715
+ 4, 102, :_reduce_71,
716
+ 1, 102, :_reduce_72,
717
+ 1, 106, :_reduce_73,
718
+ 2, 106, :_reduce_74,
719
+ 4, 128, :_reduce_75,
720
+ 3, 128, :_reduce_76,
721
+ 1, 128, :_reduce_77,
722
+ 3, 129, :_reduce_78,
723
+ 2, 127, :_reduce_79,
724
+ 3, 131, :_reduce_80,
725
+ 2, 131, :_reduce_81,
726
+ 2, 130, :_reduce_82,
727
+ 4, 130, :_reduce_83,
728
+ 2, 109, :_reduce_84,
729
+ 5, 133, :_reduce_85,
730
+ 4, 133, :_reduce_86,
731
+ 0, 134, :_reduce_none,
732
+ 2, 134, :_reduce_88,
733
+ 4, 134, :_reduce_89,
734
+ 3, 134, :_reduce_90,
735
+ 6, 110, :_reduce_91,
736
+ 5, 110, :_reduce_92,
737
+ 0, 135, :_reduce_none,
738
+ 4, 135, :_reduce_94,
739
+ 3, 135, :_reduce_95,
740
+ 5, 108, :_reduce_96,
741
+ 1, 136, :_reduce_97,
742
+ 2, 136, :_reduce_98,
743
+ 5, 137, :_reduce_99,
744
+ 4, 137, :_reduce_100,
745
+ 1, 138, :_reduce_101,
746
+ 1, 101, :_reduce_none,
747
+ 4, 101, :_reduce_103,
748
+ 1, 140, :_reduce_104,
749
+ 3, 140, :_reduce_105,
750
+ 3, 139, :_reduce_106,
751
+ 1, 97, :_reduce_107,
752
+ 6, 97, :_reduce_108,
753
+ 6, 97, :_reduce_109,
754
+ 5, 97, :_reduce_110,
755
+ 5, 97, :_reduce_111,
756
+ 6, 97, :_reduce_112,
757
+ 5, 97, :_reduce_113,
758
+ 4, 145, :_reduce_114,
759
+ 1, 146, :_reduce_115,
760
+ 1, 142, :_reduce_116,
761
+ 3, 142, :_reduce_117,
762
+ 1, 141, :_reduce_118,
763
+ 2, 141, :_reduce_119,
764
+ 1, 141, :_reduce_120,
765
+ 6, 107, :_reduce_121,
766
+ 2, 107, :_reduce_122,
767
+ 3, 147, :_reduce_123,
768
+ 3, 147, :_reduce_124,
769
+ 1, 148, :_reduce_none,
770
+ 1, 148, :_reduce_none,
771
+ 0, 144, :_reduce_127,
772
+ 1, 144, :_reduce_128,
773
+ 3, 144, :_reduce_129,
774
+ 1, 150, :_reduce_none,
775
+ 1, 150, :_reduce_none,
776
+ 1, 150, :_reduce_none,
777
+ 3, 149, :_reduce_133,
778
+ 3, 149, :_reduce_134,
779
+ 6, 111, :_reduce_135,
780
+ 7, 112, :_reduce_136,
781
+ 1, 155, :_reduce_137,
782
+ 1, 154, :_reduce_none,
783
+ 1, 154, :_reduce_none,
784
+ 1, 156, :_reduce_none,
785
+ 2, 156, :_reduce_141,
786
+ 1, 157, :_reduce_none,
787
+ 1, 157, :_reduce_none,
788
+ 6, 113, :_reduce_144,
789
+ 5, 113, :_reduce_145,
790
+ 1, 158, :_reduce_146,
791
+ 3, 158, :_reduce_147,
792
+ 1, 160, :_reduce_148,
793
+ 1, 160, :_reduce_149,
794
+ 1, 160, :_reduce_150,
795
+ 1, 160, :_reduce_none,
796
+ 1, 161, :_reduce_152,
797
+ 3, 161, :_reduce_153,
798
+ 1, 159, :_reduce_none,
799
+ 2, 159, :_reduce_155,
800
+ 1, 152, :_reduce_156,
801
+ 1, 152, :_reduce_157,
802
+ 1, 153, :_reduce_158,
803
+ 2, 153, :_reduce_159,
804
+ 4, 153, :_reduce_160,
805
+ 1, 132, :_reduce_161,
806
+ 3, 132, :_reduce_162,
807
+ 3, 162, :_reduce_163,
808
+ 1, 162, :_reduce_164,
809
+ 1, 105, :_reduce_165,
810
+ 3, 115, :_reduce_166,
811
+ 4, 115, :_reduce_167,
812
+ 2, 115, :_reduce_168,
813
+ 3, 115, :_reduce_169,
814
+ 4, 115, :_reduce_170,
815
+ 2, 115, :_reduce_171,
816
+ 3, 118, :_reduce_172,
817
+ 4, 118, :_reduce_173,
818
+ 2, 118, :_reduce_174,
819
+ 1, 163, :_reduce_175,
820
+ 3, 163, :_reduce_176,
821
+ 3, 164, :_reduce_177,
822
+ 1, 125, :_reduce_none,
823
+ 1, 125, :_reduce_none,
824
+ 1, 125, :_reduce_none,
825
+ 1, 165, :_reduce_181,
826
+ 2, 166, :_reduce_182,
827
+ 1, 168, :_reduce_183,
828
+ 1, 170, :_reduce_184,
829
+ 1, 171, :_reduce_185,
830
+ 2, 169, :_reduce_186,
831
+ 1, 172, :_reduce_187,
832
+ 1, 173, :_reduce_188,
833
+ 2, 173, :_reduce_189,
834
+ 2, 167, :_reduce_190,
835
+ 2, 174, :_reduce_191,
836
+ 2, 174, :_reduce_192,
837
+ 3, 91, :_reduce_193,
838
+ 0, 175, :_reduce_194,
839
+ 2, 175, :_reduce_195,
840
+ 4, 175, :_reduce_196,
841
+ 1, 114, :_reduce_197,
842
+ 3, 114, :_reduce_198,
843
+ 5, 114, :_reduce_199,
844
+ 1, 176, :_reduce_none,
845
+ 1, 176, :_reduce_none,
846
+ 1, 121, :_reduce_202,
847
+ 1, 124, :_reduce_203,
848
+ 1, 122, :_reduce_204,
849
+ 1, 123, :_reduce_205,
850
+ 1, 117, :_reduce_206,
851
+ 1, 116, :_reduce_207,
852
+ 1, 119, :_reduce_208,
853
+ 0, 126, :_reduce_none,
854
+ 1, 126, :_reduce_210,
855
+ 0, 143, :_reduce_none,
669
856
  1, 143, :_reduce_none,
670
- 2, 143, :_reduce_146,
671
- 1, 138, :_reduce_147,
672
- 1, 138, :_reduce_148,
673
- 1, 139, :_reduce_149,
674
- 2, 139, :_reduce_150,
675
- 4, 139, :_reduce_151,
676
- 1, 118, :_reduce_152,
677
- 3, 118, :_reduce_153,
678
- 3, 145, :_reduce_154,
679
- 1, 145, :_reduce_155,
680
- 1, 88, :_reduce_none,
681
- 1, 88, :_reduce_none,
682
- 1, 93, :_reduce_158,
683
- 3, 102, :_reduce_159,
684
- 4, 102, :_reduce_160,
685
- 2, 102, :_reduce_161,
686
- 3, 105, :_reduce_162,
687
- 4, 105, :_reduce_163,
688
- 2, 105, :_reduce_164,
689
- 1, 146, :_reduce_165,
690
- 3, 146, :_reduce_166,
691
- 3, 147, :_reduce_167,
692
- 1, 111, :_reduce_none,
693
- 1, 111, :_reduce_none,
694
- 1, 148, :_reduce_170,
695
- 2, 149, :_reduce_171,
696
- 1, 150, :_reduce_172,
697
- 1, 152, :_reduce_173,
698
- 1, 153, :_reduce_174,
699
- 2, 151, :_reduce_175,
700
- 1, 154, :_reduce_176,
701
- 1, 155, :_reduce_177,
702
- 2, 155, :_reduce_178,
703
- 1, 110, :_reduce_179,
704
- 1, 108, :_reduce_180,
705
- 1, 109, :_reduce_181,
706
- 1, 104, :_reduce_182,
707
- 1, 103, :_reduce_183,
708
- 1, 106, :_reduce_184,
709
- 0, 112, :_reduce_none,
710
- 1, 112, :_reduce_186,
711
- 0, 129, :_reduce_none,
712
- 1, 129, :_reduce_none,
713
- 1, 137, :_reduce_none,
714
- 1, 137, :_reduce_none,
715
- 1, 137, :_reduce_none,
716
- 1, 137, :_reduce_none,
717
- 1, 137, :_reduce_none,
718
- 1, 137, :_reduce_none,
719
- 1, 137, :_reduce_none,
720
- 1, 137, :_reduce_none,
721
- 1, 137, :_reduce_none,
722
- 1, 137, :_reduce_none,
723
- 1, 137, :_reduce_none,
724
- 1, 137, :_reduce_none,
725
- 1, 137, :_reduce_none,
726
- 1, 137, :_reduce_none,
727
- 0, 79, :_reduce_203 ]
728
-
729
- racc_reduce_n = 204
730
-
731
- racc_shift_n = 355
857
+ 1, 151, :_reduce_none,
858
+ 1, 151, :_reduce_none,
859
+ 1, 151, :_reduce_none,
860
+ 1, 151, :_reduce_none,
861
+ 1, 151, :_reduce_none,
862
+ 1, 151, :_reduce_none,
863
+ 1, 151, :_reduce_none,
864
+ 1, 151, :_reduce_none,
865
+ 1, 151, :_reduce_none,
866
+ 1, 151, :_reduce_none,
867
+ 1, 151, :_reduce_none,
868
+ 1, 151, :_reduce_none,
869
+ 1, 151, :_reduce_none,
870
+ 1, 151, :_reduce_none,
871
+ 0, 92, :_reduce_227 ]
872
+
873
+ racc_reduce_n = 228
874
+
875
+ racc_shift_n = 400
732
876
 
733
877
  racc_token_table = {
734
878
  false => 0,
@@ -748,67 +892,79 @@ racc_token_table = {
748
892
  :FALSE => 14,
749
893
  :EQUALS => 15,
750
894
  :APPENDS => 16,
751
- :LESSEQUAL => 17,
752
- :NOTEQUAL => 18,
753
- :DOT => 19,
754
- :COLON => 20,
755
- :LLCOLLECT => 21,
756
- :RRCOLLECT => 22,
757
- :QMARK => 23,
758
- :LPAREN => 24,
759
- :RPAREN => 25,
760
- :ISEQUAL => 26,
761
- :GREATEREQUAL => 27,
762
- :GREATERTHAN => 28,
763
- :LESSTHAN => 29,
764
- :IF => 30,
765
- :ELSE => 31,
766
- :DEFINE => 32,
767
- :ELSIF => 33,
768
- :VARIABLE => 34,
769
- :CLASS => 35,
770
- :INHERITS => 36,
771
- :NODE => 37,
772
- :BOOLEAN => 38,
773
- :NAME => 39,
774
- :SEMIC => 40,
775
- :CASE => 41,
776
- :DEFAULT => 42,
777
- :AT => 43,
778
- :LCOLLECT => 44,
779
- :RCOLLECT => 45,
780
- :CLASSREF => 46,
781
- :NOT => 47,
782
- :OR => 48,
783
- :AND => 49,
784
- :UNDEF => 50,
785
- :PARROW => 51,
786
- :PLUS => 52,
787
- :MINUS => 53,
788
- :TIMES => 54,
789
- :DIV => 55,
790
- :LSHIFT => 56,
791
- :RSHIFT => 57,
792
- :UMINUS => 58,
793
- :MATCH => 59,
794
- :NOMATCH => 60,
795
- :REGEX => 61,
796
- :IN_EDGE => 62,
797
- :OUT_EDGE => 63,
798
- :IN_EDGE_SUB => 64,
799
- :OUT_EDGE_SUB => 65,
800
- :IN => 66,
801
- :UNLESS => 67,
802
- :PIPE => 68,
803
- :SELBRACE => 69,
804
- :LOW => 70,
805
- :HIGH => 71,
806
- :CALL => 72,
807
- :MODULO => 73,
808
- :TITLE_COLON => 74,
809
- :CASE_COLON => 75 }
810
-
811
- racc_nt_base = 76
895
+ :DELETES => 17,
896
+ :LESSEQUAL => 18,
897
+ :NOTEQUAL => 19,
898
+ :DOT => 20,
899
+ :COLON => 21,
900
+ :LLCOLLECT => 22,
901
+ :RRCOLLECT => 23,
902
+ :QMARK => 24,
903
+ :LPAREN => 25,
904
+ :RPAREN => 26,
905
+ :ISEQUAL => 27,
906
+ :GREATEREQUAL => 28,
907
+ :GREATERTHAN => 29,
908
+ :LESSTHAN => 30,
909
+ :IF => 31,
910
+ :ELSE => 32,
911
+ :DEFINE => 33,
912
+ :ELSIF => 34,
913
+ :VARIABLE => 35,
914
+ :CLASS => 36,
915
+ :INHERITS => 37,
916
+ :NODE => 38,
917
+ :BOOLEAN => 39,
918
+ :NAME => 40,
919
+ :SEMIC => 41,
920
+ :CASE => 42,
921
+ :DEFAULT => 43,
922
+ :AT => 44,
923
+ :ATAT => 45,
924
+ :LCOLLECT => 46,
925
+ :RCOLLECT => 47,
926
+ :CLASSREF => 48,
927
+ :NOT => 49,
928
+ :OR => 50,
929
+ :AND => 51,
930
+ :UNDEF => 52,
931
+ :PARROW => 53,
932
+ :PLUS => 54,
933
+ :MINUS => 55,
934
+ :TIMES => 56,
935
+ :DIV => 57,
936
+ :LSHIFT => 58,
937
+ :RSHIFT => 59,
938
+ :UMINUS => 60,
939
+ :MATCH => 61,
940
+ :NOMATCH => 62,
941
+ :REGEX => 63,
942
+ :IN_EDGE => 64,
943
+ :OUT_EDGE => 65,
944
+ :IN_EDGE_SUB => 66,
945
+ :OUT_EDGE_SUB => 67,
946
+ :IN => 68,
947
+ :UNLESS => 69,
948
+ :PIPE => 70,
949
+ :LAMBDA => 71,
950
+ :SELBRACE => 72,
951
+ :NUMBER => 73,
952
+ :HEREDOC => 74,
953
+ :SUBLOCATE => 75,
954
+ :RENDER_STRING => 76,
955
+ :RENDER_EXPR => 77,
956
+ :EPP_START => 78,
957
+ :EPP_END => 79,
958
+ :EPP_END_TRIM => 80,
959
+ :LOW => 81,
960
+ :HIGH => 82,
961
+ :CALL => 83,
962
+ :LISTSTART => 84,
963
+ :MODULO => 85,
964
+ :TITLE_COLON => 86,
965
+ :CASE_COLON => 87 }
966
+
967
+ racc_nt_base = 88
812
968
 
813
969
  racc_use_result_var = true
814
970
 
@@ -846,6 +1002,7 @@ Racc_token_to_s_table = [
846
1002
  "FALSE",
847
1003
  "EQUALS",
848
1004
  "APPENDS",
1005
+ "DELETES",
849
1006
  "LESSEQUAL",
850
1007
  "NOTEQUAL",
851
1008
  "DOT",
@@ -873,6 +1030,7 @@ Racc_token_to_s_table = [
873
1030
  "CASE",
874
1031
  "DEFAULT",
875
1032
  "AT",
1033
+ "ATAT",
876
1034
  "LCOLLECT",
877
1035
  "RCOLLECT",
878
1036
  "CLASSREF",
@@ -898,16 +1056,27 @@ Racc_token_to_s_table = [
898
1056
  "IN",
899
1057
  "UNLESS",
900
1058
  "PIPE",
1059
+ "LAMBDA",
901
1060
  "SELBRACE",
1061
+ "NUMBER",
1062
+ "HEREDOC",
1063
+ "SUBLOCATE",
1064
+ "RENDER_STRING",
1065
+ "RENDER_EXPR",
1066
+ "EPP_START",
1067
+ "EPP_END",
1068
+ "EPP_END_TRIM",
902
1069
  "LOW",
903
1070
  "HIGH",
904
1071
  "CALL",
1072
+ "LISTSTART",
905
1073
  "MODULO",
906
1074
  "TITLE_COLON",
907
1075
  "CASE_COLON",
908
1076
  "$start",
909
1077
  "program",
910
1078
  "statements",
1079
+ "epp_expression",
911
1080
  "nil",
912
1081
  "syntactic_statements",
913
1082
  "syntactic_statement",
@@ -917,7 +1086,6 @@ Racc_token_to_s_table = [
917
1086
  "expression",
918
1087
  "higher_precedence",
919
1088
  "expressions",
920
- "match_rvalue",
921
1089
  "selector_entries",
922
1090
  "call_function_expression",
923
1091
  "primary_expression",
@@ -931,12 +1099,14 @@ Racc_token_to_s_table = [
931
1099
  "definition_expression",
932
1100
  "hostclass_expression",
933
1101
  "node_definition_expression",
1102
+ "epp_render_expression",
934
1103
  "array",
935
1104
  "boolean",
936
1105
  "default",
937
1106
  "hash",
938
1107
  "regex",
939
1108
  "text_or_name",
1109
+ "number",
940
1110
  "type",
941
1111
  "undef",
942
1112
  "name",
@@ -969,22 +1139,29 @@ Racc_token_to_s_table = [
969
1139
  "keyword",
970
1140
  "classname",
971
1141
  "parameter_list",
1142
+ "opt_statements",
1143
+ "stacked_classname",
972
1144
  "classparent",
973
1145
  "classnameordefault",
974
1146
  "hostnames",
975
1147
  "nodeparent",
976
1148
  "hostname",
1149
+ "dotted_name",
977
1150
  "parameter",
978
1151
  "hashpairs",
979
1152
  "hashpair",
980
1153
  "string",
981
1154
  "dq_string",
1155
+ "heredoc",
982
1156
  "dqpre",
983
1157
  "dqrval",
984
1158
  "dqpost",
985
1159
  "dqmid",
986
1160
  "text_expression",
987
- "dqtail" ]
1161
+ "dqtail",
1162
+ "sublocated_text",
1163
+ "epp_parameters_list",
1164
+ "epp_end" ]
988
1165
 
989
1166
  Racc_debug_parser = false
990
1167
 
@@ -992,288 +1169,298 @@ Racc_debug_parser = false
992
1169
 
993
1170
  # reduce 0 omitted
994
1171
 
995
- module_eval(<<'.,.,', 'egrammar.ra', 57)
1172
+ module_eval(<<'.,.,', 'egrammar.ra', 64)
996
1173
  def _reduce_1(val, _values, result)
997
- result = Factory.block_or_expression(*val[0])
1174
+ result = create_program(Factory.block_or_expression(*val[0]))
998
1175
  result
999
1176
  end
1000
1177
  .,.,
1001
1178
 
1002
- # reduce 2 omitted
1003
-
1004
- module_eval(<<'.,.,', 'egrammar.ra', 62)
1005
- def _reduce_3(val, _values, result)
1006
- result = transform_calls(val[0])
1179
+ module_eval(<<'.,.,', 'egrammar.ra', 65)
1180
+ def _reduce_2(val, _values, result)
1181
+ result = create_program(Factory.block_or_expression(*val[0]))
1007
1182
  result
1008
1183
  end
1009
1184
  .,.,
1010
1185
 
1011
- module_eval(<<'.,.,', 'egrammar.ra', 68)
1186
+ # reduce 3 omitted
1187
+
1188
+ module_eval(<<'.,.,', 'egrammar.ra', 70)
1012
1189
  def _reduce_4(val, _values, result)
1013
- result = [val[0]]
1190
+ result = transform_calls(val[0])
1014
1191
  result
1015
1192
  end
1016
1193
  .,.,
1017
1194
 
1018
- module_eval(<<'.,.,', 'egrammar.ra', 69)
1195
+ module_eval(<<'.,.,', 'egrammar.ra', 76)
1019
1196
  def _reduce_5(val, _values, result)
1020
- result = val[0].push val[2]
1197
+ result = [val[0]]
1021
1198
  result
1022
1199
  end
1023
1200
  .,.,
1024
1201
 
1025
- module_eval(<<'.,.,', 'egrammar.ra', 70)
1202
+ module_eval(<<'.,.,', 'egrammar.ra', 77)
1026
1203
  def _reduce_6(val, _values, result)
1027
- result = val[0].push val[1]
1204
+ result = val[0].push val[2]
1028
1205
  result
1029
1206
  end
1030
1207
  .,.,
1031
1208
 
1032
- module_eval(<<'.,.,', 'egrammar.ra', 74)
1209
+ module_eval(<<'.,.,', 'egrammar.ra', 78)
1033
1210
  def _reduce_7(val, _values, result)
1034
- result = val[0]
1211
+ result = val[0].push val[1]
1035
1212
  result
1036
1213
  end
1037
1214
  .,.,
1038
1215
 
1039
- module_eval(<<'.,.,', 'egrammar.ra', 75)
1216
+ module_eval(<<'.,.,', 'egrammar.ra', 82)
1040
1217
  def _reduce_8(val, _values, result)
1041
- result = aryfy(val[0]).push val[2]
1218
+ result = val[0]
1042
1219
  result
1043
1220
  end
1044
1221
  .,.,
1045
1222
 
1046
- # reduce 9 omitted
1047
-
1048
- module_eval(<<'.,.,', 'egrammar.ra', 81)
1049
- def _reduce_10(val, _values, result)
1050
- result = val[0]
1223
+ module_eval(<<'.,.,', 'egrammar.ra', 83)
1224
+ def _reduce_9(val, _values, result)
1225
+ result = aryfy(val[0]).push val[2]
1051
1226
  result
1052
1227
  end
1053
1228
  .,.,
1054
1229
 
1055
- module_eval(<<'.,.,', 'egrammar.ra', 82)
1230
+ # reduce 10 omitted
1231
+
1232
+ module_eval(<<'.,.,', 'egrammar.ra', 89)
1056
1233
  def _reduce_11(val, _values, result)
1057
- result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1234
+ result = val[0]
1058
1235
  result
1059
1236
  end
1060
1237
  .,.,
1061
1238
 
1062
- module_eval(<<'.,.,', 'egrammar.ra', 83)
1239
+ module_eval(<<'.,.,', 'egrammar.ra', 90)
1063
1240
  def _reduce_12(val, _values, result)
1064
1241
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1065
1242
  result
1066
1243
  end
1067
1244
  .,.,
1068
1245
 
1069
- module_eval(<<'.,.,', 'egrammar.ra', 84)
1246
+ module_eval(<<'.,.,', 'egrammar.ra', 91)
1070
1247
  def _reduce_13(val, _values, result)
1071
1248
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1072
1249
  result
1073
1250
  end
1074
1251
  .,.,
1075
1252
 
1076
- module_eval(<<'.,.,', 'egrammar.ra', 85)
1253
+ module_eval(<<'.,.,', 'egrammar.ra', 92)
1077
1254
  def _reduce_14(val, _values, result)
1078
1255
  result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1079
1256
  result
1080
1257
  end
1081
1258
  .,.,
1082
1259
 
1083
- # reduce 15 omitted
1084
-
1085
- module_eval(<<'.,.,', 'egrammar.ra', 92)
1086
- def _reduce_16(val, _values, result)
1087
- result = val[0][*val[2]] ; loc result, val[0], val[3]
1260
+ module_eval(<<'.,.,', 'egrammar.ra', 93)
1261
+ def _reduce_15(val, _values, result)
1262
+ result = val[0].relop(val[1][:value], val[2]); loc result, val[1]
1088
1263
  result
1089
1264
  end
1090
1265
  .,.,
1091
1266
 
1092
- module_eval(<<'.,.,', 'egrammar.ra', 93)
1267
+ # reduce 16 omitted
1268
+
1269
+ module_eval(<<'.,.,', 'egrammar.ra', 100)
1093
1270
  def _reduce_17(val, _values, result)
1094
- result = val[0].in val[2] ; loc result, val[1]
1271
+ result = val[0][*val[2]] ; loc result, val[0], val[3]
1095
1272
  result
1096
1273
  end
1097
1274
  .,.,
1098
1275
 
1099
- module_eval(<<'.,.,', 'egrammar.ra', 94)
1276
+ module_eval(<<'.,.,', 'egrammar.ra', 101)
1100
1277
  def _reduce_18(val, _values, result)
1101
- result = val[0] =~ val[2] ; loc result, val[1]
1278
+ result = val[0].in val[2] ; loc result, val[1]
1102
1279
  result
1103
1280
  end
1104
1281
  .,.,
1105
1282
 
1106
- module_eval(<<'.,.,', 'egrammar.ra', 95)
1283
+ module_eval(<<'.,.,', 'egrammar.ra', 102)
1107
1284
  def _reduce_19(val, _values, result)
1108
- result = val[0].mne val[2] ; loc result, val[1]
1285
+ result = val[0] =~ val[2] ; loc result, val[1]
1109
1286
  result
1110
1287
  end
1111
1288
  .,.,
1112
1289
 
1113
- module_eval(<<'.,.,', 'egrammar.ra', 96)
1290
+ module_eval(<<'.,.,', 'egrammar.ra', 103)
1114
1291
  def _reduce_20(val, _values, result)
1115
- result = val[0] + val[2] ; loc result, val[1]
1292
+ result = val[0].mne val[2] ; loc result, val[1]
1116
1293
  result
1117
1294
  end
1118
1295
  .,.,
1119
1296
 
1120
- module_eval(<<'.,.,', 'egrammar.ra', 97)
1297
+ module_eval(<<'.,.,', 'egrammar.ra', 104)
1121
1298
  def _reduce_21(val, _values, result)
1122
- result = val[0] - val[2] ; loc result, val[1]
1299
+ result = val[0] + val[2] ; loc result, val[1]
1123
1300
  result
1124
1301
  end
1125
1302
  .,.,
1126
1303
 
1127
- module_eval(<<'.,.,', 'egrammar.ra', 98)
1304
+ module_eval(<<'.,.,', 'egrammar.ra', 105)
1128
1305
  def _reduce_22(val, _values, result)
1129
- result = val[0] / val[2] ; loc result, val[1]
1306
+ result = val[0] - val[2] ; loc result, val[1]
1130
1307
  result
1131
1308
  end
1132
1309
  .,.,
1133
1310
 
1134
- module_eval(<<'.,.,', 'egrammar.ra', 99)
1311
+ module_eval(<<'.,.,', 'egrammar.ra', 106)
1135
1312
  def _reduce_23(val, _values, result)
1136
- result = val[0] * val[2] ; loc result, val[1]
1313
+ result = val[0] / val[2] ; loc result, val[1]
1137
1314
  result
1138
1315
  end
1139
1316
  .,.,
1140
1317
 
1141
- module_eval(<<'.,.,', 'egrammar.ra', 100)
1318
+ module_eval(<<'.,.,', 'egrammar.ra', 107)
1142
1319
  def _reduce_24(val, _values, result)
1143
- result = val[0] % val[2] ; loc result, val[1]
1320
+ result = val[0] * val[2] ; loc result, val[1]
1144
1321
  result
1145
1322
  end
1146
1323
  .,.,
1147
1324
 
1148
- module_eval(<<'.,.,', 'egrammar.ra', 101)
1325
+ module_eval(<<'.,.,', 'egrammar.ra', 108)
1149
1326
  def _reduce_25(val, _values, result)
1150
- result = val[0] << val[2] ; loc result, val[1]
1327
+ result = val[0] % val[2] ; loc result, val[1]
1151
1328
  result
1152
1329
  end
1153
1330
  .,.,
1154
1331
 
1155
- module_eval(<<'.,.,', 'egrammar.ra', 102)
1332
+ module_eval(<<'.,.,', 'egrammar.ra', 109)
1156
1333
  def _reduce_26(val, _values, result)
1157
- result = val[0] >> val[2] ; loc result, val[1]
1334
+ result = val[0] << val[2] ; loc result, val[1]
1158
1335
  result
1159
1336
  end
1160
1337
  .,.,
1161
1338
 
1162
- module_eval(<<'.,.,', 'egrammar.ra', 103)
1339
+ module_eval(<<'.,.,', 'egrammar.ra', 110)
1163
1340
  def _reduce_27(val, _values, result)
1164
- result = val[1].minus() ; loc result, val[0]
1341
+ result = val[0] >> val[2] ; loc result, val[1]
1165
1342
  result
1166
1343
  end
1167
1344
  .,.,
1168
1345
 
1169
- module_eval(<<'.,.,', 'egrammar.ra', 104)
1346
+ module_eval(<<'.,.,', 'egrammar.ra', 111)
1170
1347
  def _reduce_28(val, _values, result)
1171
- result = val[0].ne val[2] ; loc result, val[1]
1348
+ result = val[1].minus() ; loc result, val[0]
1172
1349
  result
1173
1350
  end
1174
1351
  .,.,
1175
1352
 
1176
- module_eval(<<'.,.,', 'egrammar.ra', 105)
1353
+ module_eval(<<'.,.,', 'egrammar.ra', 112)
1177
1354
  def _reduce_29(val, _values, result)
1178
- result = val[0] == val[2] ; loc result, val[1]
1355
+ result = val[0].ne val[2] ; loc result, val[1]
1179
1356
  result
1180
1357
  end
1181
1358
  .,.,
1182
1359
 
1183
- module_eval(<<'.,.,', 'egrammar.ra', 106)
1360
+ module_eval(<<'.,.,', 'egrammar.ra', 113)
1184
1361
  def _reduce_30(val, _values, result)
1185
- result = val[0] > val[2] ; loc result, val[1]
1362
+ result = val[0] == val[2] ; loc result, val[1]
1186
1363
  result
1187
1364
  end
1188
1365
  .,.,
1189
1366
 
1190
- module_eval(<<'.,.,', 'egrammar.ra', 107)
1367
+ module_eval(<<'.,.,', 'egrammar.ra', 114)
1191
1368
  def _reduce_31(val, _values, result)
1192
- result = val[0] >= val[2] ; loc result, val[1]
1369
+ result = val[0] > val[2] ; loc result, val[1]
1193
1370
  result
1194
1371
  end
1195
1372
  .,.,
1196
1373
 
1197
- module_eval(<<'.,.,', 'egrammar.ra', 108)
1374
+ module_eval(<<'.,.,', 'egrammar.ra', 115)
1198
1375
  def _reduce_32(val, _values, result)
1199
- result = val[0] < val[2] ; loc result, val[1]
1376
+ result = val[0] >= val[2] ; loc result, val[1]
1200
1377
  result
1201
1378
  end
1202
1379
  .,.,
1203
1380
 
1204
- module_eval(<<'.,.,', 'egrammar.ra', 109)
1381
+ module_eval(<<'.,.,', 'egrammar.ra', 116)
1205
1382
  def _reduce_33(val, _values, result)
1206
- result = val[0] <= val[2] ; loc result, val[1]
1383
+ result = val[0] < val[2] ; loc result, val[1]
1207
1384
  result
1208
1385
  end
1209
1386
  .,.,
1210
1387
 
1211
- module_eval(<<'.,.,', 'egrammar.ra', 110)
1388
+ module_eval(<<'.,.,', 'egrammar.ra', 117)
1212
1389
  def _reduce_34(val, _values, result)
1213
- result = val[1].not ; loc result, val[0]
1390
+ result = val[0] <= val[2] ; loc result, val[1]
1214
1391
  result
1215
1392
  end
1216
1393
  .,.,
1217
1394
 
1218
- module_eval(<<'.,.,', 'egrammar.ra', 111)
1395
+ module_eval(<<'.,.,', 'egrammar.ra', 118)
1219
1396
  def _reduce_35(val, _values, result)
1220
- result = val[0].and val[2] ; loc result, val[1]
1397
+ result = val[1].not ; loc result, val[0]
1221
1398
  result
1222
1399
  end
1223
1400
  .,.,
1224
1401
 
1225
- module_eval(<<'.,.,', 'egrammar.ra', 112)
1402
+ module_eval(<<'.,.,', 'egrammar.ra', 119)
1226
1403
  def _reduce_36(val, _values, result)
1227
- result = val[0].or val[2] ; loc result, val[1]
1404
+ result = val[0].and val[2] ; loc result, val[1]
1228
1405
  result
1229
1406
  end
1230
1407
  .,.,
1231
1408
 
1232
- module_eval(<<'.,.,', 'egrammar.ra', 113)
1409
+ module_eval(<<'.,.,', 'egrammar.ra', 120)
1233
1410
  def _reduce_37(val, _values, result)
1234
- result = val[0].set(val[2]) ; loc result, val[1]
1411
+ result = val[0].or val[2] ; loc result, val[1]
1235
1412
  result
1236
1413
  end
1237
1414
  .,.,
1238
1415
 
1239
- module_eval(<<'.,.,', 'egrammar.ra', 114)
1416
+ module_eval(<<'.,.,', 'egrammar.ra', 121)
1240
1417
  def _reduce_38(val, _values, result)
1241
- result = val[0].plus_set(val[2]) ; loc result, val[1]
1418
+ result = val[0].set(val[2]) ; loc result, val[1]
1242
1419
  result
1243
1420
  end
1244
1421
  .,.,
1245
1422
 
1246
- module_eval(<<'.,.,', 'egrammar.ra', 115)
1423
+ module_eval(<<'.,.,', 'egrammar.ra', 122)
1247
1424
  def _reduce_39(val, _values, result)
1248
- result = val[0].select(*val[2]) ; loc result, val[0]
1425
+ result = val[0].plus_set(val[2]) ; loc result, val[1]
1249
1426
  result
1250
1427
  end
1251
1428
  .,.,
1252
1429
 
1253
- module_eval(<<'.,.,', 'egrammar.ra', 116)
1430
+ module_eval(<<'.,.,', 'egrammar.ra', 123)
1254
1431
  def _reduce_40(val, _values, result)
1255
- result = val[1].paren() ; loc result, val[0]
1432
+ result = val[0].minus_set(val[2]); loc result, val[1]
1256
1433
  result
1257
1434
  end
1258
1435
  .,.,
1259
1436
 
1260
1437
  module_eval(<<'.,.,', 'egrammar.ra', 124)
1261
1438
  def _reduce_41(val, _values, result)
1262
- result = [val[0]]
1439
+ result = val[0].select(*val[2]) ; loc result, val[0]
1263
1440
  result
1264
1441
  end
1265
1442
  .,.,
1266
1443
 
1267
1444
  module_eval(<<'.,.,', 'egrammar.ra', 125)
1268
1445
  def _reduce_42(val, _values, result)
1269
- result = val[0].push(val[2])
1446
+ result = val[1].paren() ; loc result, val[0]
1270
1447
  result
1271
1448
  end
1272
1449
  .,.,
1273
1450
 
1274
- # reduce 43 omitted
1451
+ module_eval(<<'.,.,', 'egrammar.ra', 133)
1452
+ def _reduce_43(val, _values, result)
1453
+ result = [val[0]]
1454
+ result
1455
+ end
1456
+ .,.,
1275
1457
 
1276
- # reduce 44 omitted
1458
+ module_eval(<<'.,.,', 'egrammar.ra', 134)
1459
+ def _reduce_44(val, _values, result)
1460
+ result = val[0].push(val[2])
1461
+ result
1462
+ end
1463
+ .,.,
1277
1464
 
1278
1465
  # reduce 45 omitted
1279
1466
 
@@ -1309,22 +1496,30 @@ module_eval(<<'.,.,', 'egrammar.ra', 125)
1309
1496
 
1310
1497
  # reduce 61 omitted
1311
1498
 
1312
- module_eval(<<'.,.,', 'egrammar.ra', 155)
1313
- def _reduce_62(val, _values, result)
1499
+ # reduce 62 omitted
1500
+
1501
+ # reduce 63 omitted
1502
+
1503
+ # reduce 64 omitted
1504
+
1505
+ # reduce 65 omitted
1506
+
1507
+ module_eval(<<'.,.,', 'egrammar.ra', 166)
1508
+ def _reduce_66(val, _values, result)
1314
1509
  result = val[0]
1315
1510
  result
1316
1511
  end
1317
1512
  .,.,
1318
1513
 
1319
- module_eval(<<'.,.,', 'egrammar.ra', 156)
1320
- def _reduce_63(val, _values, result)
1514
+ module_eval(<<'.,.,', 'egrammar.ra', 167)
1515
+ def _reduce_67(val, _values, result)
1321
1516
  result = val[0]
1322
1517
  result
1323
1518
  end
1324
1519
  .,.,
1325
1520
 
1326
- module_eval(<<'.,.,', 'egrammar.ra', 164)
1327
- def _reduce_64(val, _values, result)
1521
+ module_eval(<<'.,.,', 'egrammar.ra', 175)
1522
+ def _reduce_68(val, _values, result)
1328
1523
  result = Factory.CALL_NAMED(val[0], true, val[2])
1329
1524
  loc result, val[0], val[4]
1330
1525
 
@@ -1332,8 +1527,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 164)
1332
1527
  end
1333
1528
  .,.,
1334
1529
 
1335
- module_eval(<<'.,.,', 'egrammar.ra', 168)
1336
- def _reduce_65(val, _values, result)
1530
+ module_eval(<<'.,.,', 'egrammar.ra', 179)
1531
+ def _reduce_69(val, _values, result)
1337
1532
  result = Factory.CALL_NAMED(val[0], true, [])
1338
1533
  loc result, val[0], val[2]
1339
1534
 
@@ -1341,8 +1536,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 168)
1341
1536
  end
1342
1537
  .,.,
1343
1538
 
1344
- module_eval(<<'.,.,', 'egrammar.ra', 172)
1345
- def _reduce_66(val, _values, result)
1539
+ module_eval(<<'.,.,', 'egrammar.ra', 183)
1540
+ def _reduce_70(val, _values, result)
1346
1541
  result = Factory.CALL_NAMED(val[0], true, val[2])
1347
1542
  loc result, val[0], val[4]
1348
1543
  result.lambda = val[5]
@@ -1351,8 +1546,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 172)
1351
1546
  end
1352
1547
  .,.,
1353
1548
 
1354
- module_eval(<<'.,.,', 'egrammar.ra', 177)
1355
- def _reduce_67(val, _values, result)
1549
+ module_eval(<<'.,.,', 'egrammar.ra', 188)
1550
+ def _reduce_71(val, _values, result)
1356
1551
  result = Factory.CALL_NAMED(val[0], true, [])
1357
1552
  loc result, val[0], val[2]
1358
1553
  result.lambda = val[3]
@@ -1361,50 +1556,50 @@ module_eval(<<'.,.,', 'egrammar.ra', 177)
1361
1556
  end
1362
1557
  .,.,
1363
1558
 
1364
- module_eval(<<'.,.,', 'egrammar.ra', 181)
1365
- def _reduce_68(val, _values, result)
1559
+ module_eval(<<'.,.,', 'egrammar.ra', 192)
1560
+ def _reduce_72(val, _values, result)
1366
1561
  result = val[0]
1367
1562
  result
1368
1563
  end
1369
1564
  .,.,
1370
1565
 
1371
- module_eval(<<'.,.,', 'egrammar.ra', 186)
1372
- def _reduce_69(val, _values, result)
1566
+ module_eval(<<'.,.,', 'egrammar.ra', 197)
1567
+ def _reduce_73(val, _values, result)
1373
1568
  result = val[0]
1374
1569
  result
1375
1570
  end
1376
1571
  .,.,
1377
1572
 
1378
- module_eval(<<'.,.,', 'egrammar.ra', 187)
1379
- def _reduce_70(val, _values, result)
1573
+ module_eval(<<'.,.,', 'egrammar.ra', 198)
1574
+ def _reduce_74(val, _values, result)
1380
1575
  result = val[0]; val[0].lambda = val[1]
1381
1576
  result
1382
1577
  end
1383
1578
  .,.,
1384
1579
 
1385
- module_eval(<<'.,.,', 'egrammar.ra', 190)
1386
- def _reduce_71(val, _values, result)
1580
+ module_eval(<<'.,.,', 'egrammar.ra', 201)
1581
+ def _reduce_75(val, _values, result)
1387
1582
  result = Factory.CALL_METHOD(val[0], val[2]); loc result, val[1], val[3]
1388
1583
  result
1389
1584
  end
1390
1585
  .,.,
1391
1586
 
1392
- module_eval(<<'.,.,', 'egrammar.ra', 191)
1393
- def _reduce_72(val, _values, result)
1587
+ module_eval(<<'.,.,', 'egrammar.ra', 202)
1588
+ def _reduce_76(val, _values, result)
1394
1589
  result = Factory.CALL_METHOD(val[0], []); loc result, val[1], val[3]
1395
1590
  result
1396
1591
  end
1397
1592
  .,.,
1398
1593
 
1399
- module_eval(<<'.,.,', 'egrammar.ra', 192)
1400
- def _reduce_73(val, _values, result)
1594
+ module_eval(<<'.,.,', 'egrammar.ra', 203)
1595
+ def _reduce_77(val, _values, result)
1401
1596
  result = Factory.CALL_METHOD(val[0], []); loc result, val[0]
1402
1597
  result
1403
1598
  end
1404
1599
  .,.,
1405
1600
 
1406
- module_eval(<<'.,.,', 'egrammar.ra', 197)
1407
- def _reduce_74(val, _values, result)
1601
+ module_eval(<<'.,.,', 'egrammar.ra', 208)
1602
+ def _reduce_78(val, _values, result)
1408
1603
  result = val[0].dot(Factory.fqn(val[2][:value]))
1409
1604
  loc result, val[1], val[2]
1410
1605
 
@@ -1412,8 +1607,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 197)
1412
1607
  end
1413
1608
  .,.,
1414
1609
 
1415
- module_eval(<<'.,.,', 'egrammar.ra', 209)
1416
- def _reduce_75(val, _values, result)
1610
+ module_eval(<<'.,.,', 'egrammar.ra', 220)
1611
+ def _reduce_79(val, _values, result)
1417
1612
  result = Factory.LAMBDA(val[0], val[1])
1418
1613
  # loc result, val[1] # TODO
1419
1614
 
@@ -1421,36 +1616,36 @@ module_eval(<<'.,.,', 'egrammar.ra', 209)
1421
1616
  end
1422
1617
  .,.,
1423
1618
 
1424
- module_eval(<<'.,.,', 'egrammar.ra', 214)
1425
- def _reduce_76(val, _values, result)
1619
+ module_eval(<<'.,.,', 'egrammar.ra', 225)
1620
+ def _reduce_80(val, _values, result)
1426
1621
  result = val[1]
1427
1622
  result
1428
1623
  end
1429
1624
  .,.,
1430
1625
 
1431
- module_eval(<<'.,.,', 'egrammar.ra', 215)
1432
- def _reduce_77(val, _values, result)
1626
+ module_eval(<<'.,.,', 'egrammar.ra', 226)
1627
+ def _reduce_81(val, _values, result)
1433
1628
  result = nil
1434
1629
  result
1435
1630
  end
1436
1631
  .,.,
1437
1632
 
1438
- module_eval(<<'.,.,', 'egrammar.ra', 219)
1439
- def _reduce_78(val, _values, result)
1633
+ module_eval(<<'.,.,', 'egrammar.ra', 230)
1634
+ def _reduce_82(val, _values, result)
1440
1635
  result = []
1441
1636
  result
1442
1637
  end
1443
1638
  .,.,
1444
1639
 
1445
- module_eval(<<'.,.,', 'egrammar.ra', 220)
1446
- def _reduce_79(val, _values, result)
1640
+ module_eval(<<'.,.,', 'egrammar.ra', 231)
1641
+ def _reduce_83(val, _values, result)
1447
1642
  result = val[1]
1448
1643
  result
1449
1644
  end
1450
1645
  .,.,
1451
1646
 
1452
- module_eval(<<'.,.,', 'egrammar.ra', 230)
1453
- def _reduce_80(val, _values, result)
1647
+ module_eval(<<'.,.,', 'egrammar.ra', 241)
1648
+ def _reduce_84(val, _values, result)
1454
1649
  result = val[1]
1455
1650
  loc(result, val[0], val[1])
1456
1651
 
@@ -1458,8 +1653,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 230)
1458
1653
  end
1459
1654
  .,.,
1460
1655
 
1461
- module_eval(<<'.,.,', 'egrammar.ra', 237)
1462
- def _reduce_81(val, _values, result)
1656
+ module_eval(<<'.,.,', 'egrammar.ra', 248)
1657
+ def _reduce_85(val, _values, result)
1463
1658
  result = Factory.IF(val[0], Factory.block_or_expression(*val[2]), val[4])
1464
1659
  loc(result, val[0], (val[4] ? val[4] : val[3]))
1465
1660
 
@@ -1467,8 +1662,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 237)
1467
1662
  end
1468
1663
  .,.,
1469
1664
 
1470
- module_eval(<<'.,.,', 'egrammar.ra', 241)
1471
- def _reduce_82(val, _values, result)
1665
+ module_eval(<<'.,.,', 'egrammar.ra', 252)
1666
+ def _reduce_86(val, _values, result)
1472
1667
  result = Factory.IF(val[0], nil, val[3])
1473
1668
  loc(result, val[0], (val[3] ? val[3] : val[2]))
1474
1669
 
@@ -1476,10 +1671,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 241)
1476
1671
  end
1477
1672
  .,.,
1478
1673
 
1479
- # reduce 83 omitted
1674
+ # reduce 87 omitted
1480
1675
 
1481
- module_eval(<<'.,.,', 'egrammar.ra', 249)
1482
- def _reduce_84(val, _values, result)
1676
+ module_eval(<<'.,.,', 'egrammar.ra', 260)
1677
+ def _reduce_88(val, _values, result)
1483
1678
  result = val[1]
1484
1679
  loc(result, val[0], val[1])
1485
1680
 
@@ -1487,8 +1682,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 249)
1487
1682
  end
1488
1683
  .,.,
1489
1684
 
1490
- module_eval(<<'.,.,', 'egrammar.ra', 253)
1491
- def _reduce_85(val, _values, result)
1685
+ module_eval(<<'.,.,', 'egrammar.ra', 264)
1686
+ def _reduce_89(val, _values, result)
1492
1687
  result = Factory.block_or_expression(*val[2])
1493
1688
  loc result, val[0], val[3]
1494
1689
 
@@ -1496,16 +1691,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 253)
1496
1691
  end
1497
1692
  .,.,
1498
1693
 
1499
- module_eval(<<'.,.,', 'egrammar.ra', 257)
1500
- def _reduce_86(val, _values, result)
1694
+ module_eval(<<'.,.,', 'egrammar.ra', 268)
1695
+ def _reduce_90(val, _values, result)
1501
1696
  result = nil # don't think a nop is needed here either
1502
1697
 
1503
1698
  result
1504
1699
  end
1505
1700
  .,.,
1506
1701
 
1507
- module_eval(<<'.,.,', 'egrammar.ra', 266)
1508
- def _reduce_87(val, _values, result)
1702
+ module_eval(<<'.,.,', 'egrammar.ra', 277)
1703
+ def _reduce_91(val, _values, result)
1509
1704
  result = Factory.UNLESS(val[1], Factory.block_or_expression(*val[3]), val[5])
1510
1705
  loc result, val[0], val[4]
1511
1706
 
@@ -1513,8 +1708,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 266)
1513
1708
  end
1514
1709
  .,.,
1515
1710
 
1516
- module_eval(<<'.,.,', 'egrammar.ra', 270)
1517
- def _reduce_88(val, _values, result)
1711
+ module_eval(<<'.,.,', 'egrammar.ra', 281)
1712
+ def _reduce_92(val, _values, result)
1518
1713
  result = Factory.UNLESS(val[1], nil, nil)
1519
1714
  loc result, val[0], val[4]
1520
1715
 
@@ -1522,10 +1717,10 @@ module_eval(<<'.,.,', 'egrammar.ra', 270)
1522
1717
  end
1523
1718
  .,.,
1524
1719
 
1525
- # reduce 89 omitted
1720
+ # reduce 93 omitted
1526
1721
 
1527
- module_eval(<<'.,.,', 'egrammar.ra', 280)
1528
- def _reduce_90(val, _values, result)
1722
+ module_eval(<<'.,.,', 'egrammar.ra', 291)
1723
+ def _reduce_94(val, _values, result)
1529
1724
  result = Factory.block_or_expression(*val[2])
1530
1725
  loc result, val[0], val[3]
1531
1726
 
@@ -1533,16 +1728,16 @@ module_eval(<<'.,.,', 'egrammar.ra', 280)
1533
1728
  end
1534
1729
  .,.,
1535
1730
 
1536
- module_eval(<<'.,.,', 'egrammar.ra', 284)
1537
- def _reduce_91(val, _values, result)
1731
+ module_eval(<<'.,.,', 'egrammar.ra', 295)
1732
+ def _reduce_95(val, _values, result)
1538
1733
  result = nil # don't think a nop is needed here either
1539
1734
 
1540
1735
  result
1541
1736
  end
1542
1737
  .,.,
1543
1738
 
1544
- module_eval(<<'.,.,', 'egrammar.ra', 292)
1545
- def _reduce_92(val, _values, result)
1739
+ module_eval(<<'.,.,', 'egrammar.ra', 303)
1740
+ def _reduce_96(val, _values, result)
1546
1741
  result = Factory.CASE(val[1], *val[3])
1547
1742
  loc result, val[0], val[4]
1548
1743
 
@@ -1550,22 +1745,22 @@ module_eval(<<'.,.,', 'egrammar.ra', 292)
1550
1745
  end
1551
1746
  .,.,
1552
1747
 
1553
- module_eval(<<'.,.,', 'egrammar.ra', 298)
1554
- def _reduce_93(val, _values, result)
1748
+ module_eval(<<'.,.,', 'egrammar.ra', 309)
1749
+ def _reduce_97(val, _values, result)
1555
1750
  result = [val[0]]
1556
1751
  result
1557
1752
  end
1558
1753
  .,.,
1559
1754
 
1560
- module_eval(<<'.,.,', 'egrammar.ra', 299)
1561
- def _reduce_94(val, _values, result)
1755
+ module_eval(<<'.,.,', 'egrammar.ra', 310)
1756
+ def _reduce_98(val, _values, result)
1562
1757
  result = val[0].push val[1]
1563
1758
  result
1564
1759
  end
1565
1760
  .,.,
1566
1761
 
1567
- module_eval(<<'.,.,', 'egrammar.ra', 304)
1568
- def _reduce_95(val, _values, result)
1762
+ module_eval(<<'.,.,', 'egrammar.ra', 315)
1763
+ def _reduce_99(val, _values, result)
1569
1764
  result = Factory.WHEN(val[0], val[3])
1570
1765
  loc result, val[1], val[4]
1571
1766
 
@@ -1573,8 +1768,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 304)
1573
1768
  end
1574
1769
  .,.,
1575
1770
 
1576
- module_eval(<<'.,.,', 'egrammar.ra', 308)
1577
- def _reduce_96(val, _values, result)
1771
+ module_eval(<<'.,.,', 'egrammar.ra', 319)
1772
+ def _reduce_100(val, _values, result)
1578
1773
  result = Factory.WHEN(val[0], nil)
1579
1774
  loc result, val[1], val[3]
1580
1775
 
@@ -1582,65 +1777,65 @@ module_eval(<<'.,.,', 'egrammar.ra', 308)
1582
1777
  end
1583
1778
  .,.,
1584
1779
 
1585
- module_eval(<<'.,.,', 'egrammar.ra', 312)
1586
- def _reduce_97(val, _values, result)
1780
+ module_eval(<<'.,.,', 'egrammar.ra', 323)
1781
+ def _reduce_101(val, _values, result)
1587
1782
  result = val[0]
1588
1783
  result
1589
1784
  end
1590
1785
  .,.,
1591
1786
 
1592
- # reduce 98 omitted
1787
+ # reduce 102 omitted
1593
1788
 
1594
- module_eval(<<'.,.,', 'egrammar.ra', 323)
1595
- def _reduce_99(val, _values, result)
1789
+ module_eval(<<'.,.,', 'egrammar.ra', 334)
1790
+ def _reduce_103(val, _values, result)
1596
1791
  result = val[1]
1597
1792
 
1598
1793
  result
1599
1794
  end
1600
1795
  .,.,
1601
1796
 
1602
- module_eval(<<'.,.,', 'egrammar.ra', 328)
1603
- def _reduce_100(val, _values, result)
1797
+ module_eval(<<'.,.,', 'egrammar.ra', 339)
1798
+ def _reduce_104(val, _values, result)
1604
1799
  result = [val[0]]
1605
1800
  result
1606
1801
  end
1607
1802
  .,.,
1608
1803
 
1609
- module_eval(<<'.,.,', 'egrammar.ra', 329)
1610
- def _reduce_101(val, _values, result)
1804
+ module_eval(<<'.,.,', 'egrammar.ra', 340)
1805
+ def _reduce_105(val, _values, result)
1611
1806
  result = val[0].push val[2]
1612
1807
  result
1613
1808
  end
1614
1809
  .,.,
1615
1810
 
1616
- module_eval(<<'.,.,', 'egrammar.ra', 334)
1617
- def _reduce_102(val, _values, result)
1811
+ module_eval(<<'.,.,', 'egrammar.ra', 345)
1812
+ def _reduce_106(val, _values, result)
1618
1813
  result = Factory.MAP(val[0], val[2]) ; loc result, val[1]
1619
1814
  result
1620
1815
  end
1621
1816
  .,.,
1622
1817
 
1623
- module_eval(<<'.,.,', 'egrammar.ra', 350)
1624
- def _reduce_103(val, _values, result)
1818
+ module_eval(<<'.,.,', 'egrammar.ra', 357)
1819
+ def _reduce_107(val, _values, result)
1625
1820
  result = val[0]
1626
1821
 
1627
1822
  result
1628
1823
  end
1629
1824
  .,.,
1630
1825
 
1631
- module_eval(<<'.,.,', 'egrammar.ra', 353)
1632
- def _reduce_104(val, _values, result)
1826
+ module_eval(<<'.,.,', 'egrammar.ra', 360)
1827
+ def _reduce_108(val, _values, result)
1633
1828
  result = case Factory.resource_shape(val[1])
1634
1829
  when :resource, :class
1635
1830
  tmp = Factory.RESOURCE(Factory.fqn(token_text(val[1])), val[3])
1636
1831
  tmp.form = val[0]
1637
1832
  tmp
1638
1833
  when :defaults
1639
- error "A resource default can not be virtual or exported"
1834
+ error val[1], "A resource default can not be virtual or exported"
1640
1835
  when :override
1641
- error "A resource override can not be virtual or exported"
1836
+ error val[1], "A resource override can not be virtual or exported"
1642
1837
  else
1643
- error "Expression is not valid as a resource, resource-default, or resource-override"
1838
+ error val[1], "Expression is not valid as a resource, resource-default, or resource-override"
1644
1839
  end
1645
1840
  loc result, val[1], val[4]
1646
1841
 
@@ -1648,34 +1843,30 @@ module_eval(<<'.,.,', 'egrammar.ra', 353)
1648
1843
  end
1649
1844
  .,.,
1650
1845
 
1651
- module_eval(<<'.,.,', 'egrammar.ra', 368)
1652
- def _reduce_105(val, _values, result)
1846
+ module_eval(<<'.,.,', 'egrammar.ra', 375)
1847
+ def _reduce_109(val, _values, result)
1653
1848
  result = case Factory.resource_shape(val[1])
1654
- when :resource, :class
1655
- error "Defaults are not virtualizable"
1656
- when :defaults
1657
- error "Defaults are not virtualizable"
1658
- when :override
1659
- error "Defaults are not virtualizable"
1849
+ when :resource, :class, :defaults, :override
1850
+ error val[1], "Defaults are not virtualizable"
1660
1851
  else
1661
- error "Expression is not valid as a resource, resource-default, or resource-override"
1852
+ error val[1], "Expression is not valid as a resource, resource-default, or resource-override"
1662
1853
  end
1663
1854
 
1664
1855
  result
1665
1856
  end
1666
1857
  .,.,
1667
1858
 
1668
- module_eval(<<'.,.,', 'egrammar.ra', 380)
1669
- def _reduce_106(val, _values, result)
1859
+ module_eval(<<'.,.,', 'egrammar.ra', 383)
1860
+ def _reduce_110(val, _values, result)
1670
1861
  result = case Factory.resource_shape(val[0])
1671
1862
  when :resource, :class
1672
1863
  Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
1673
1864
  when :defaults
1674
- error "A resource default can not specify a resource name"
1865
+ error val[1], "A resource default can not specify a resource name"
1675
1866
  when :override
1676
- error "A resource override does not allow override of name of resource"
1867
+ error val[1], "A resource override does not allow override of name of resource"
1677
1868
  else
1678
- error "Expression is not valid as a resource, resource-default, or resource-override"
1869
+ error val[1], "Expression is not valid as a resource, resource-default, or resource-override"
1679
1870
  end
1680
1871
  loc result, val[0], val[4]
1681
1872
 
@@ -1683,19 +1874,25 @@ module_eval(<<'.,.,', 'egrammar.ra', 380)
1683
1874
  end
1684
1875
  .,.,
1685
1876
 
1686
- module_eval(<<'.,.,', 'egrammar.ra', 393)
1687
- def _reduce_107(val, _values, result)
1877
+ module_eval(<<'.,.,', 'egrammar.ra', 396)
1878
+ def _reduce_111(val, _values, result)
1688
1879
  result = case Factory.resource_shape(val[0])
1689
1880
  when :resource, :class
1690
1881
  # This catches deprecated syntax.
1691
- error "All resource specifications require names"
1882
+ # If the attribute operations does not include +>, then the found expression
1883
+ # is actually a LEFT followed by LITERAL_HASH
1884
+ #
1885
+ unless tmp = transform_resource_wo_title(val[0], val[2])
1886
+ error val[1], "Syntax error resource body without title or hash with +>"
1887
+ end
1888
+ tmp
1692
1889
  when :defaults
1693
1890
  Factory.RESOURCE_DEFAULTS(val[0], val[2])
1694
1891
  when :override
1695
1892
  # This was only done for override in original - TODO shuld it be here at all
1696
1893
  Factory.RESOURCE_OVERRIDE(val[0], val[2])
1697
1894
  else
1698
- error "Expression is not valid as a resource, resource-default, or resource-override"
1895
+ error val[0], "Expression is not valid as a resource, resource-default, or resource-override"
1699
1896
  end
1700
1897
  loc result, val[0], val[4]
1701
1898
 
@@ -1703,8 +1900,18 @@ module_eval(<<'.,.,', 'egrammar.ra', 393)
1703
1900
  end
1704
1901
  .,.,
1705
1902
 
1706
- module_eval(<<'.,.,', 'egrammar.ra', 408)
1707
- def _reduce_108(val, _values, result)
1903
+ module_eval(<<'.,.,', 'egrammar.ra', 417)
1904
+ def _reduce_112(val, _values, result)
1905
+ result = Factory.RESOURCE(Factory.fqn(token_text(val[1])), val[3])
1906
+ result.form = val[0]
1907
+ loc result, val[1], val[5]
1908
+
1909
+ result
1910
+ end
1911
+ .,.,
1912
+
1913
+ module_eval(<<'.,.,', 'egrammar.ra', 422)
1914
+ def _reduce_113(val, _values, result)
1708
1915
  result = Factory.RESOURCE(Factory.fqn(token_text(val[0])), val[2])
1709
1916
  loc result, val[0], val[4]
1710
1917
 
@@ -1712,50 +1919,57 @@ module_eval(<<'.,.,', 'egrammar.ra', 408)
1712
1919
  end
1713
1920
  .,.,
1714
1921
 
1715
- module_eval(<<'.,.,', 'egrammar.ra', 413)
1716
- def _reduce_109(val, _values, result)
1922
+ module_eval(<<'.,.,', 'egrammar.ra', 427)
1923
+ def _reduce_114(val, _values, result)
1717
1924
  result = Factory.RESOURCE_BODY(val[0], val[2])
1718
1925
  result
1719
1926
  end
1720
1927
  .,.,
1721
1928
 
1722
- module_eval(<<'.,.,', 'egrammar.ra', 415)
1723
- def _reduce_110(val, _values, result)
1929
+ module_eval(<<'.,.,', 'egrammar.ra', 429)
1930
+ def _reduce_115(val, _values, result)
1724
1931
  result = val[0]
1725
1932
  result
1726
1933
  end
1727
1934
  .,.,
1728
1935
 
1729
- module_eval(<<'.,.,', 'egrammar.ra', 418)
1730
- def _reduce_111(val, _values, result)
1936
+ module_eval(<<'.,.,', 'egrammar.ra', 432)
1937
+ def _reduce_116(val, _values, result)
1731
1938
  result = [val[0]]
1732
1939
  result
1733
1940
  end
1734
1941
  .,.,
1735
1942
 
1736
- module_eval(<<'.,.,', 'egrammar.ra', 419)
1737
- def _reduce_112(val, _values, result)
1943
+ module_eval(<<'.,.,', 'egrammar.ra', 433)
1944
+ def _reduce_117(val, _values, result)
1738
1945
  result = val[0].push val[2]
1739
1946
  result
1740
1947
  end
1741
1948
  .,.,
1742
1949
 
1743
- module_eval(<<'.,.,', 'egrammar.ra', 424)
1744
- def _reduce_113(val, _values, result)
1950
+ module_eval(<<'.,.,', 'egrammar.ra', 438)
1951
+ def _reduce_118(val, _values, result)
1745
1952
  result = :virtual
1746
1953
  result
1747
1954
  end
1748
1955
  .,.,
1749
1956
 
1750
- module_eval(<<'.,.,', 'egrammar.ra', 425)
1751
- def _reduce_114(val, _values, result)
1957
+ module_eval(<<'.,.,', 'egrammar.ra', 439)
1958
+ def _reduce_119(val, _values, result)
1752
1959
  result = :exported
1753
1960
  result
1754
1961
  end
1755
1962
  .,.,
1756
1963
 
1757
- module_eval(<<'.,.,', 'egrammar.ra', 437)
1758
- def _reduce_115(val, _values, result)
1964
+ module_eval(<<'.,.,', 'egrammar.ra', 440)
1965
+ def _reduce_120(val, _values, result)
1966
+ result = :exported
1967
+ result
1968
+ end
1969
+ .,.,
1970
+
1971
+ module_eval(<<'.,.,', 'egrammar.ra', 452)
1972
+ def _reduce_121(val, _values, result)
1759
1973
  result = Factory.COLLECT(val[0], val[1], val[3])
1760
1974
  loc result, val[0], val[5]
1761
1975
 
@@ -1763,8 +1977,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 437)
1763
1977
  end
1764
1978
  .,.,
1765
1979
 
1766
- module_eval(<<'.,.,', 'egrammar.ra', 441)
1767
- def _reduce_116(val, _values, result)
1980
+ module_eval(<<'.,.,', 'egrammar.ra', 456)
1981
+ def _reduce_122(val, _values, result)
1768
1982
  result = Factory.COLLECT(val[0], val[1], [])
1769
1983
  loc result, val[0], val[1]
1770
1984
 
@@ -1772,53 +1986,53 @@ module_eval(<<'.,.,', 'egrammar.ra', 441)
1772
1986
  end
1773
1987
  .,.,
1774
1988
 
1775
- module_eval(<<'.,.,', 'egrammar.ra', 446)
1776
- def _reduce_117(val, _values, result)
1989
+ module_eval(<<'.,.,', 'egrammar.ra', 461)
1990
+ def _reduce_123(val, _values, result)
1777
1991
  result = Factory.VIRTUAL_QUERY(val[1]) ; loc result, val[0], val[2]
1778
1992
  result
1779
1993
  end
1780
1994
  .,.,
1781
1995
 
1782
- module_eval(<<'.,.,', 'egrammar.ra', 447)
1783
- def _reduce_118(val, _values, result)
1996
+ module_eval(<<'.,.,', 'egrammar.ra', 462)
1997
+ def _reduce_124(val, _values, result)
1784
1998
  result = Factory.EXPORTED_QUERY(val[1]) ; loc result, val[0], val[2]
1785
1999
  result
1786
2000
  end
1787
2001
  .,.,
1788
2002
 
1789
- # reduce 119 omitted
2003
+ # reduce 125 omitted
1790
2004
 
1791
- # reduce 120 omitted
2005
+ # reduce 126 omitted
1792
2006
 
1793
- module_eval(<<'.,.,', 'egrammar.ra', 460)
1794
- def _reduce_121(val, _values, result)
2007
+ module_eval(<<'.,.,', 'egrammar.ra', 475)
2008
+ def _reduce_127(val, _values, result)
1795
2009
  result = []
1796
2010
  result
1797
2011
  end
1798
2012
  .,.,
1799
2013
 
1800
- module_eval(<<'.,.,', 'egrammar.ra', 461)
1801
- def _reduce_122(val, _values, result)
2014
+ module_eval(<<'.,.,', 'egrammar.ra', 476)
2015
+ def _reduce_128(val, _values, result)
1802
2016
  result = [val[0]]
1803
2017
  result
1804
2018
  end
1805
2019
  .,.,
1806
2020
 
1807
- module_eval(<<'.,.,', 'egrammar.ra', 462)
1808
- def _reduce_123(val, _values, result)
2021
+ module_eval(<<'.,.,', 'egrammar.ra', 477)
2022
+ def _reduce_129(val, _values, result)
1809
2023
  result = val[0].push(val[2])
1810
2024
  result
1811
2025
  end
1812
2026
  .,.,
1813
2027
 
1814
- # reduce 124 omitted
2028
+ # reduce 130 omitted
1815
2029
 
1816
- # reduce 125 omitted
2030
+ # reduce 131 omitted
1817
2031
 
1818
- # reduce 126 omitted
2032
+ # reduce 132 omitted
1819
2033
 
1820
- module_eval(<<'.,.,', 'egrammar.ra', 478)
1821
- def _reduce_127(val, _values, result)
2034
+ module_eval(<<'.,.,', 'egrammar.ra', 493)
2035
+ def _reduce_133(val, _values, result)
1822
2036
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'=>', val[2])
1823
2037
  loc result, val[0], val[2]
1824
2038
 
@@ -1826,8 +2040,8 @@ module_eval(<<'.,.,', 'egrammar.ra', 478)
1826
2040
  end
1827
2041
  .,.,
1828
2042
 
1829
- module_eval(<<'.,.,', 'egrammar.ra', 482)
1830
- def _reduce_128(val, _values, result)
2043
+ module_eval(<<'.,.,', 'egrammar.ra', 497)
2044
+ def _reduce_134(val, _values, result)
1831
2045
  result = Factory.ATTRIBUTE_OP(val[0][:value], :'+>', val[2])
1832
2046
  loc result, val[0], val[2]
1833
2047
 
@@ -1835,412 +2049,521 @@ module_eval(<<'.,.,', 'egrammar.ra', 482)
1835
2049
  end
1836
2050
  .,.,
1837
2051
 
1838
- module_eval(<<'.,.,', 'egrammar.ra', 492)
1839
- def _reduce_129(val, _values, result)
1840
- result = Factory.DEFINITION(classname(val[1][:value]), val[2], val[4])
2052
+ module_eval(<<'.,.,', 'egrammar.ra', 507)
2053
+ def _reduce_135(val, _values, result)
2054
+ result = add_definition(Factory.DEFINITION(classname(val[1][:value]), val[2], val[4]))
1841
2055
  loc result, val[0], val[5]
1842
- @lexer.indefine = false
1843
-
1844
- result
1845
- end
1846
- .,.,
1847
-
1848
- module_eval(<<'.,.,', 'egrammar.ra', 497)
1849
- def _reduce_130(val, _values, result)
1850
- result = Factory.DEFINITION(classname(val[1][:value]), val[2], nil)
1851
- loc result, val[0], val[4]
1852
- @lexer.indefine = false
2056
+ # New lexer does not keep track of this, this is done in validation
2057
+ if @lexer.respond_to?(:'indefine=')
2058
+ @lexer.indefine = false
2059
+ end
1853
2060
 
1854
2061
  result
1855
2062
  end
1856
2063
  .,.,
1857
2064
 
1858
- module_eval(<<'.,.,', 'egrammar.ra', 512)
1859
- def _reduce_131(val, _values, result)
1860
- @lexer.namepop
1861
- result = Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5])
2065
+ module_eval(<<'.,.,', 'egrammar.ra', 521)
2066
+ def _reduce_136(val, _values, result)
2067
+ # Remove this class' name from the namestack as all nested classes have been parsed
2068
+ namepop
2069
+ result = add_definition(Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), val[5]))
1862
2070
  loc result, val[0], val[6]
1863
2071
 
1864
2072
  result
1865
2073
  end
1866
2074
  .,.,
1867
2075
 
1868
- module_eval(<<'.,.,', 'egrammar.ra', 517)
1869
- def _reduce_132(val, _values, result)
1870
- @lexer.namepop
1871
- result = Factory.HOSTCLASS(classname(val[1][:value]), val[2], token_text(val[3]), nil)
1872
- loc result, val[0], val[5]
1873
-
2076
+ module_eval(<<'.,.,', 'egrammar.ra', 531)
2077
+ def _reduce_137(val, _values, result)
2078
+ namestack(val[0][:value]) ; result = val[0]
1874
2079
  result
1875
2080
  end
1876
2081
  .,.,
1877
2082
 
1878
- # reduce 133 omitted
2083
+ # reduce 138 omitted
1879
2084
 
1880
- module_eval(<<'.,.,', 'egrammar.ra', 525)
1881
- def _reduce_134(val, _values, result)
2085
+ # reduce 139 omitted
2086
+
2087
+ # reduce 140 omitted
2088
+
2089
+ module_eval(<<'.,.,', 'egrammar.ra', 540)
2090
+ def _reduce_141(val, _values, result)
1882
2091
  result = val[1]
1883
2092
  result
1884
2093
  end
1885
2094
  .,.,
1886
2095
 
1887
- # reduce 135 omitted
2096
+ # reduce 142 omitted
1888
2097
 
1889
- # reduce 136 omitted
2098
+ # reduce 143 omitted
1890
2099
 
1891
- module_eval(<<'.,.,', 'egrammar.ra', 542)
1892
- def _reduce_137(val, _values, result)
1893
- result = Factory.NODE(val[1], val[2], val[4])
2100
+ module_eval(<<'.,.,', 'egrammar.ra', 557)
2101
+ def _reduce_144(val, _values, result)
2102
+ result = add_definition(Factory.NODE(val[1], val[2], val[4]))
1894
2103
  loc result, val[0], val[5]
1895
2104
 
1896
2105
  result
1897
2106
  end
1898
2107
  .,.,
1899
2108
 
1900
- module_eval(<<'.,.,', 'egrammar.ra', 546)
1901
- def _reduce_138(val, _values, result)
1902
- result = Factory.NODE(val[1], val[2], nil)
2109
+ module_eval(<<'.,.,', 'egrammar.ra', 561)
2110
+ def _reduce_145(val, _values, result)
2111
+ result = add_definition(Factory.NODE(val[1], val[2], nil))
1903
2112
  loc result, val[0], val[4]
1904
2113
 
1905
2114
  result
1906
2115
  end
1907
2116
  .,.,
1908
2117
 
1909
- module_eval(<<'.,.,', 'egrammar.ra', 556)
1910
- def _reduce_139(val, _values, result)
2118
+ module_eval(<<'.,.,', 'egrammar.ra', 571)
2119
+ def _reduce_146(val, _values, result)
1911
2120
  result = [result]
1912
2121
  result
1913
2122
  end
1914
2123
  .,.,
1915
2124
 
1916
- module_eval(<<'.,.,', 'egrammar.ra', 557)
1917
- def _reduce_140(val, _values, result)
2125
+ module_eval(<<'.,.,', 'egrammar.ra', 572)
2126
+ def _reduce_147(val, _values, result)
1918
2127
  result = val[0].push(val[2])
1919
2128
  result
1920
2129
  end
1921
2130
  .,.,
1922
2131
 
1923
- module_eval(<<'.,.,', 'egrammar.ra', 562)
1924
- def _reduce_141(val, _values, result)
1925
- result = Factory.fqn(val[0][:value]); loc result, val[0]
2132
+ module_eval(<<'.,.,', 'egrammar.ra', 577)
2133
+ def _reduce_148(val, _values, result)
2134
+ result = val[0]
1926
2135
  result
1927
2136
  end
1928
2137
  .,.,
1929
2138
 
1930
- module_eval(<<'.,.,', 'egrammar.ra', 563)
1931
- def _reduce_142(val, _values, result)
2139
+ module_eval(<<'.,.,', 'egrammar.ra', 578)
2140
+ def _reduce_149(val, _values, result)
1932
2141
  result = val[0]
1933
2142
  result
1934
2143
  end
1935
2144
  .,.,
1936
2145
 
1937
- module_eval(<<'.,.,', 'egrammar.ra', 564)
1938
- def _reduce_143(val, _values, result)
2146
+ module_eval(<<'.,.,', 'egrammar.ra', 579)
2147
+ def _reduce_150(val, _values, result)
1939
2148
  result = Factory.literal(:default); loc result, val[0]
1940
2149
  result
1941
2150
  end
1942
2151
  .,.,
1943
2152
 
1944
- # reduce 144 omitted
2153
+ # reduce 151 omitted
1945
2154
 
1946
- # reduce 145 omitted
2155
+ module_eval(<<'.,.,', 'egrammar.ra', 583)
2156
+ def _reduce_152(val, _values, result)
2157
+ result = Factory.literal(val[0][:value]); loc result, val[0]
2158
+ result
2159
+ end
2160
+ .,.,
1947
2161
 
1948
- module_eval(<<'.,.,', 'egrammar.ra', 570)
1949
- def _reduce_146(val, _values, result)
2162
+ module_eval(<<'.,.,', 'egrammar.ra', 584)
2163
+ def _reduce_153(val, _values, result)
2164
+ result = Factory.concat(val[0], '.', val[2][:value]); loc result, val[0], val[2]
2165
+ result
2166
+ end
2167
+ .,.,
2168
+
2169
+ # reduce 154 omitted
2170
+
2171
+ module_eval(<<'.,.,', 'egrammar.ra', 589)
2172
+ def _reduce_155(val, _values, result)
1950
2173
  result = val[1]
1951
2174
  result
1952
2175
  end
1953
2176
  .,.,
1954
2177
 
1955
- module_eval(<<'.,.,', 'egrammar.ra', 575)
1956
- def _reduce_147(val, _values, result)
2178
+ module_eval(<<'.,.,', 'egrammar.ra', 595)
2179
+ def _reduce_156(val, _values, result)
1957
2180
  result = val[0]
1958
2181
  result
1959
2182
  end
1960
2183
  .,.,
1961
2184
 
1962
- module_eval(<<'.,.,', 'egrammar.ra', 576)
1963
- def _reduce_148(val, _values, result)
1964
- result = val[0]
2185
+ module_eval(<<'.,.,', 'egrammar.ra', 596)
2186
+ def _reduce_157(val, _values, result)
2187
+ error val[0], "'class' is not a valid classname"
1965
2188
  result
1966
2189
  end
1967
2190
  .,.,
1968
2191
 
1969
- module_eval(<<'.,.,', 'egrammar.ra', 580)
1970
- def _reduce_149(val, _values, result)
2192
+ module_eval(<<'.,.,', 'egrammar.ra', 600)
2193
+ def _reduce_158(val, _values, result)
1971
2194
  result = []
1972
2195
  result
1973
2196
  end
1974
2197
  .,.,
1975
2198
 
1976
- module_eval(<<'.,.,', 'egrammar.ra', 581)
1977
- def _reduce_150(val, _values, result)
2199
+ module_eval(<<'.,.,', 'egrammar.ra', 601)
2200
+ def _reduce_159(val, _values, result)
1978
2201
  result = []
1979
2202
  result
1980
2203
  end
1981
2204
  .,.,
1982
2205
 
1983
- module_eval(<<'.,.,', 'egrammar.ra', 582)
1984
- def _reduce_151(val, _values, result)
2206
+ module_eval(<<'.,.,', 'egrammar.ra', 602)
2207
+ def _reduce_160(val, _values, result)
1985
2208
  result = val[1]
1986
2209
  result
1987
2210
  end
1988
2211
  .,.,
1989
2212
 
1990
- module_eval(<<'.,.,', 'egrammar.ra', 586)
1991
- def _reduce_152(val, _values, result)
2213
+ module_eval(<<'.,.,', 'egrammar.ra', 606)
2214
+ def _reduce_161(val, _values, result)
1992
2215
  result = [val[0]]
1993
2216
  result
1994
2217
  end
1995
2218
  .,.,
1996
2219
 
1997
- module_eval(<<'.,.,', 'egrammar.ra', 587)
1998
- def _reduce_153(val, _values, result)
2220
+ module_eval(<<'.,.,', 'egrammar.ra', 607)
2221
+ def _reduce_162(val, _values, result)
1999
2222
  result = val[0].push(val[2])
2000
2223
  result
2001
2224
  end
2002
2225
  .,.,
2003
2226
 
2004
- module_eval(<<'.,.,', 'egrammar.ra', 591)
2005
- def _reduce_154(val, _values, result)
2227
+ module_eval(<<'.,.,', 'egrammar.ra', 611)
2228
+ def _reduce_163(val, _values, result)
2006
2229
  result = Factory.PARAM(val[0][:value], val[2]) ; loc result, val[0]
2007
2230
  result
2008
2231
  end
2009
2232
  .,.,
2010
2233
 
2011
- module_eval(<<'.,.,', 'egrammar.ra', 592)
2012
- def _reduce_155(val, _values, result)
2234
+ module_eval(<<'.,.,', 'egrammar.ra', 612)
2235
+ def _reduce_164(val, _values, result)
2013
2236
  result = Factory.PARAM(val[0][:value]); loc result, val[0]
2014
2237
  result
2015
2238
  end
2016
2239
  .,.,
2017
2240
 
2018
- # reduce 156 omitted
2241
+ module_eval(<<'.,.,', 'egrammar.ra', 625)
2242
+ def _reduce_165(val, _values, result)
2243
+ result = Factory.fqn(val[0][:value]).var ; loc result, val[0]
2244
+ result
2245
+ end
2246
+ .,.,
2019
2247
 
2020
- # reduce 157 omitted
2248
+ module_eval(<<'.,.,', 'egrammar.ra', 631)
2249
+ def _reduce_166(val, _values, result)
2250
+ result = Factory.LIST(val[1]); loc result, val[0], val[2]
2251
+ result
2252
+ end
2253
+ .,.,
2021
2254
 
2022
- module_eval(<<'.,.,', 'egrammar.ra', 605)
2023
- def _reduce_158(val, _values, result)
2024
- result = Factory.fqn(val[0][:value]).var ; loc result, val[0]
2255
+ module_eval(<<'.,.,', 'egrammar.ra', 632)
2256
+ def _reduce_167(val, _values, result)
2257
+ result = Factory.LIST(val[1]); loc result, val[0], val[3]
2025
2258
  result
2026
2259
  end
2027
2260
  .,.,
2028
2261
 
2029
- module_eval(<<'.,.,', 'egrammar.ra', 611)
2030
- def _reduce_159(val, _values, result)
2262
+ module_eval(<<'.,.,', 'egrammar.ra', 633)
2263
+ def _reduce_168(val, _values, result)
2264
+ result = Factory.literal([]) ; loc result, val[0]
2265
+ result
2266
+ end
2267
+ .,.,
2268
+
2269
+ module_eval(<<'.,.,', 'egrammar.ra', 634)
2270
+ def _reduce_169(val, _values, result)
2031
2271
  result = Factory.LIST(val[1]); loc result, val[0], val[2]
2032
2272
  result
2033
2273
  end
2034
2274
  .,.,
2035
2275
 
2036
- module_eval(<<'.,.,', 'egrammar.ra', 612)
2037
- def _reduce_160(val, _values, result)
2276
+ module_eval(<<'.,.,', 'egrammar.ra', 635)
2277
+ def _reduce_170(val, _values, result)
2038
2278
  result = Factory.LIST(val[1]); loc result, val[0], val[3]
2039
2279
  result
2040
2280
  end
2041
2281
  .,.,
2042
2282
 
2043
- module_eval(<<'.,.,', 'egrammar.ra', 613)
2044
- def _reduce_161(val, _values, result)
2283
+ module_eval(<<'.,.,', 'egrammar.ra', 636)
2284
+ def _reduce_171(val, _values, result)
2045
2285
  result = Factory.literal([]) ; loc result, val[0]
2046
2286
  result
2047
2287
  end
2048
2288
  .,.,
2049
2289
 
2050
- module_eval(<<'.,.,', 'egrammar.ra', 616)
2051
- def _reduce_162(val, _values, result)
2290
+ module_eval(<<'.,.,', 'egrammar.ra', 639)
2291
+ def _reduce_172(val, _values, result)
2052
2292
  result = Factory.HASH(val[1]); loc result, val[0], val[2]
2053
2293
  result
2054
2294
  end
2055
2295
  .,.,
2056
2296
 
2057
- module_eval(<<'.,.,', 'egrammar.ra', 617)
2058
- def _reduce_163(val, _values, result)
2297
+ module_eval(<<'.,.,', 'egrammar.ra', 640)
2298
+ def _reduce_173(val, _values, result)
2059
2299
  result = Factory.HASH(val[1]); loc result, val[0], val[3]
2060
2300
  result
2061
2301
  end
2062
2302
  .,.,
2063
2303
 
2064
- module_eval(<<'.,.,', 'egrammar.ra', 618)
2065
- def _reduce_164(val, _values, result)
2304
+ module_eval(<<'.,.,', 'egrammar.ra', 641)
2305
+ def _reduce_174(val, _values, result)
2066
2306
  result = Factory.literal({}) ; loc result, val[0], val[3]
2067
2307
  result
2068
2308
  end
2069
2309
  .,.,
2070
2310
 
2071
- module_eval(<<'.,.,', 'egrammar.ra', 621)
2072
- def _reduce_165(val, _values, result)
2311
+ module_eval(<<'.,.,', 'egrammar.ra', 644)
2312
+ def _reduce_175(val, _values, result)
2073
2313
  result = [val[0]]
2074
2314
  result
2075
2315
  end
2076
2316
  .,.,
2077
2317
 
2078
- module_eval(<<'.,.,', 'egrammar.ra', 622)
2079
- def _reduce_166(val, _values, result)
2318
+ module_eval(<<'.,.,', 'egrammar.ra', 645)
2319
+ def _reduce_176(val, _values, result)
2080
2320
  result = val[0].push val[2]
2081
2321
  result
2082
2322
  end
2083
2323
  .,.,
2084
2324
 
2085
- module_eval(<<'.,.,', 'egrammar.ra', 625)
2086
- def _reduce_167(val, _values, result)
2325
+ module_eval(<<'.,.,', 'egrammar.ra', 648)
2326
+ def _reduce_177(val, _values, result)
2087
2327
  result = Factory.KEY_ENTRY(val[0], val[2]); loc result, val[1]
2088
2328
  result
2089
2329
  end
2090
2330
  .,.,
2091
2331
 
2092
- # reduce 168 omitted
2332
+ # reduce 178 omitted
2093
2333
 
2094
- # reduce 169 omitted
2334
+ # reduce 179 omitted
2095
2335
 
2096
- module_eval(<<'.,.,', 'egrammar.ra', 631)
2097
- def _reduce_170(val, _values, result)
2336
+ # reduce 180 omitted
2337
+
2338
+ module_eval(<<'.,.,', 'egrammar.ra', 655)
2339
+ def _reduce_181(val, _values, result)
2098
2340
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2099
2341
  result
2100
2342
  end
2101
2343
  .,.,
2102
2344
 
2103
- module_eval(<<'.,.,', 'egrammar.ra', 632)
2104
- def _reduce_171(val, _values, result)
2345
+ module_eval(<<'.,.,', 'egrammar.ra', 656)
2346
+ def _reduce_182(val, _values, result)
2105
2347
  result = Factory.string(val[0], *val[1]) ; loc result, val[0], val[1][-1]
2106
2348
  result
2107
2349
  end
2108
2350
  .,.,
2109
2351
 
2110
- module_eval(<<'.,.,', 'egrammar.ra', 633)
2111
- def _reduce_172(val, _values, result)
2352
+ module_eval(<<'.,.,', 'egrammar.ra', 657)
2353
+ def _reduce_183(val, _values, result)
2112
2354
  result = Factory.literal(val[0][:value]); loc result, val[0]
2113
2355
  result
2114
2356
  end
2115
2357
  .,.,
2116
2358
 
2117
- module_eval(<<'.,.,', 'egrammar.ra', 634)
2118
- def _reduce_173(val, _values, result)
2359
+ module_eval(<<'.,.,', 'egrammar.ra', 658)
2360
+ def _reduce_184(val, _values, result)
2119
2361
  result = Factory.literal(val[0][:value]); loc result, val[0]
2120
2362
  result
2121
2363
  end
2122
2364
  .,.,
2123
2365
 
2124
- module_eval(<<'.,.,', 'egrammar.ra', 635)
2125
- def _reduce_174(val, _values, result)
2366
+ module_eval(<<'.,.,', 'egrammar.ra', 659)
2367
+ def _reduce_185(val, _values, result)
2126
2368
  result = Factory.literal(val[0][:value]); loc result, val[0]
2127
2369
  result
2128
2370
  end
2129
2371
  .,.,
2130
2372
 
2131
- module_eval(<<'.,.,', 'egrammar.ra', 636)
2132
- def _reduce_175(val, _values, result)
2373
+ module_eval(<<'.,.,', 'egrammar.ra', 660)
2374
+ def _reduce_186(val, _values, result)
2133
2375
  result = [val[0]] + val[1]
2134
2376
  result
2135
2377
  end
2136
2378
  .,.,
2137
2379
 
2138
- module_eval(<<'.,.,', 'egrammar.ra', 637)
2139
- def _reduce_176(val, _values, result)
2380
+ module_eval(<<'.,.,', 'egrammar.ra', 661)
2381
+ def _reduce_187(val, _values, result)
2140
2382
  result = Factory.TEXT(val[0])
2141
2383
  result
2142
2384
  end
2143
2385
  .,.,
2144
2386
 
2145
- module_eval(<<'.,.,', 'egrammar.ra', 640)
2146
- def _reduce_177(val, _values, result)
2387
+ module_eval(<<'.,.,', 'egrammar.ra', 664)
2388
+ def _reduce_188(val, _values, result)
2147
2389
  result = [val[0]]
2148
2390
  result
2149
2391
  end
2150
2392
  .,.,
2151
2393
 
2152
- module_eval(<<'.,.,', 'egrammar.ra', 641)
2153
- def _reduce_178(val, _values, result)
2394
+ module_eval(<<'.,.,', 'egrammar.ra', 665)
2395
+ def _reduce_189(val, _values, result)
2154
2396
  result = [val[0]] + val[1]
2155
2397
  result
2156
2398
  end
2157
2399
  .,.,
2158
2400
 
2159
- module_eval(<<'.,.,', 'egrammar.ra', 643)
2160
- def _reduce_179(val, _values, result)
2401
+ module_eval(<<'.,.,', 'egrammar.ra', 668)
2402
+ def _reduce_190(val, _values, result)
2403
+ result = Factory.HEREDOC(val[0][:value], val[1]); loc result, val[0]
2404
+ result
2405
+ end
2406
+ .,.,
2407
+
2408
+ module_eval(<<'.,.,', 'egrammar.ra', 671)
2409
+ def _reduce_191(val, _values, result)
2410
+ result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2411
+ result
2412
+ end
2413
+ .,.,
2414
+
2415
+ module_eval(<<'.,.,', 'egrammar.ra', 672)
2416
+ def _reduce_192(val, _values, result)
2417
+ result = Factory.SUBLOCATE(val[0], val[1]); loc result, val[0]
2418
+ result
2419
+ end
2420
+ .,.,
2421
+
2422
+ module_eval(<<'.,.,', 'egrammar.ra', 675)
2423
+ def _reduce_193(val, _values, result)
2424
+ result = Factory.EPP(val[1], val[2]); loc result, val[0]
2425
+ result
2426
+ end
2427
+ .,.,
2428
+
2429
+ module_eval(<<'.,.,', 'egrammar.ra', 678)
2430
+ def _reduce_194(val, _values, result)
2431
+ result = nil
2432
+ result
2433
+ end
2434
+ .,.,
2435
+
2436
+ module_eval(<<'.,.,', 'egrammar.ra', 679)
2437
+ def _reduce_195(val, _values, result)
2438
+ result = []
2439
+ result
2440
+ end
2441
+ .,.,
2442
+
2443
+ module_eval(<<'.,.,', 'egrammar.ra', 680)
2444
+ def _reduce_196(val, _values, result)
2445
+ result = val[1]
2446
+ result
2447
+ end
2448
+ .,.,
2449
+
2450
+ module_eval(<<'.,.,', 'egrammar.ra', 683)
2451
+ def _reduce_197(val, _values, result)
2452
+ result = Factory.RENDER_STRING(val[0][:value]); loc result, val[0]
2453
+ result
2454
+ end
2455
+ .,.,
2456
+
2457
+ module_eval(<<'.,.,', 'egrammar.ra', 684)
2458
+ def _reduce_198(val, _values, result)
2459
+ result = Factory.RENDER_EXPR(val[1]); loc result, val[0], val[2]
2460
+ result
2461
+ end
2462
+ .,.,
2463
+
2464
+ module_eval(<<'.,.,', 'egrammar.ra', 685)
2465
+ def _reduce_199(val, _values, result)
2466
+ result = Factory.RENDER_EXPR(Factory.block_or_expression(*val[2])); loc result, val[0], val[4]
2467
+ result
2468
+ end
2469
+ .,.,
2470
+
2471
+ # reduce 200 omitted
2472
+
2473
+ # reduce 201 omitted
2474
+
2475
+ module_eval(<<'.,.,', 'egrammar.ra', 691)
2476
+ def _reduce_202(val, _values, result)
2477
+ result = Factory.NUMBER(val[0][:value]) ; loc result, val[0]
2478
+ result
2479
+ end
2480
+ .,.,
2481
+
2482
+ module_eval(<<'.,.,', 'egrammar.ra', 692)
2483
+ def _reduce_203(val, _values, result)
2161
2484
  result = Factory.QNAME_OR_NUMBER(val[0][:value]) ; loc result, val[0]
2162
2485
  result
2163
2486
  end
2164
2487
  .,.,
2165
2488
 
2166
- module_eval(<<'.,.,', 'egrammar.ra', 644)
2167
- def _reduce_180(val, _values, result)
2489
+ module_eval(<<'.,.,', 'egrammar.ra', 693)
2490
+ def _reduce_204(val, _values, result)
2168
2491
  result = Factory.QREF(val[0][:value]) ; loc result, val[0]
2169
2492
  result
2170
2493
  end
2171
2494
  .,.,
2172
2495
 
2173
- module_eval(<<'.,.,', 'egrammar.ra', 645)
2174
- def _reduce_181(val, _values, result)
2496
+ module_eval(<<'.,.,', 'egrammar.ra', 694)
2497
+ def _reduce_205(val, _values, result)
2175
2498
  result = Factory.literal(:undef); loc result, val[0]
2176
2499
  result
2177
2500
  end
2178
2501
  .,.,
2179
2502
 
2180
- module_eval(<<'.,.,', 'egrammar.ra', 646)
2181
- def _reduce_182(val, _values, result)
2503
+ module_eval(<<'.,.,', 'egrammar.ra', 695)
2504
+ def _reduce_206(val, _values, result)
2182
2505
  result = Factory.literal(:default); loc result, val[0]
2183
2506
  result
2184
2507
  end
2185
2508
  .,.,
2186
2509
 
2187
- module_eval(<<'.,.,', 'egrammar.ra', 651)
2188
- def _reduce_183(val, _values, result)
2510
+ module_eval(<<'.,.,', 'egrammar.ra', 700)
2511
+ def _reduce_207(val, _values, result)
2189
2512
  result = Factory.literal(val[0][:value]) ; loc result, val[0]
2190
2513
  result
2191
2514
  end
2192
2515
  .,.,
2193
2516
 
2194
- module_eval(<<'.,.,', 'egrammar.ra', 654)
2195
- def _reduce_184(val, _values, result)
2517
+ module_eval(<<'.,.,', 'egrammar.ra', 703)
2518
+ def _reduce_208(val, _values, result)
2196
2519
  result = Factory.literal(val[0][:value]); loc result, val[0]
2197
2520
  result
2198
2521
  end
2199
2522
  .,.,
2200
2523
 
2201
- # reduce 185 omitted
2524
+ # reduce 209 omitted
2202
2525
 
2203
- module_eval(<<'.,.,', 'egrammar.ra', 660)
2204
- def _reduce_186(val, _values, result)
2526
+ module_eval(<<'.,.,', 'egrammar.ra', 709)
2527
+ def _reduce_210(val, _values, result)
2205
2528
  result = nil
2206
2529
  result
2207
2530
  end
2208
2531
  .,.,
2209
2532
 
2210
- # reduce 187 omitted
2533
+ # reduce 211 omitted
2211
2534
 
2212
- # reduce 188 omitted
2535
+ # reduce 212 omitted
2213
2536
 
2214
- # reduce 189 omitted
2537
+ # reduce 213 omitted
2215
2538
 
2216
- # reduce 190 omitted
2539
+ # reduce 214 omitted
2217
2540
 
2218
- # reduce 191 omitted
2541
+ # reduce 215 omitted
2219
2542
 
2220
- # reduce 192 omitted
2543
+ # reduce 216 omitted
2221
2544
 
2222
- # reduce 193 omitted
2545
+ # reduce 217 omitted
2223
2546
 
2224
- # reduce 194 omitted
2547
+ # reduce 218 omitted
2225
2548
 
2226
- # reduce 195 omitted
2549
+ # reduce 219 omitted
2227
2550
 
2228
- # reduce 196 omitted
2551
+ # reduce 220 omitted
2229
2552
 
2230
- # reduce 197 omitted
2553
+ # reduce 221 omitted
2231
2554
 
2232
- # reduce 198 omitted
2555
+ # reduce 222 omitted
2233
2556
 
2234
- # reduce 199 omitted
2557
+ # reduce 223 omitted
2235
2558
 
2236
- # reduce 200 omitted
2559
+ # reduce 224 omitted
2237
2560
 
2238
- # reduce 201 omitted
2561
+ # reduce 225 omitted
2239
2562
 
2240
- # reduce 202 omitted
2563
+ # reduce 226 omitted
2241
2564
 
2242
- module_eval(<<'.,.,', 'egrammar.ra', 683)
2243
- def _reduce_203(val, _values, result)
2565
+ module_eval(<<'.,.,', 'egrammar.ra', 732)
2566
+ def _reduce_227(val, _values, result)
2244
2567
  result = nil
2245
2568
  result
2246
2569
  end