puppet 3.1.1 → 3.2.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 (477) hide show
  1. data/CONTRIBUTING.md +2 -2
  2. data/Gemfile +32 -19
  3. data/README_DEVELOPER.md +332 -14
  4. data/Rakefile +9 -5
  5. data/ext/build_defaults.yaml +2 -3
  6. data/ext/debian/changelog.erb +6 -0
  7. data/ext/debian/control +6 -6
  8. data/ext/envpuppet +4 -4
  9. data/ext/project_data.yaml +1 -0
  10. data/ext/puppet-nm-dispatcher +13 -0
  11. data/ext/redhat/puppet.spec.erb +17 -0
  12. data/ext/suse/client.init +1 -1
  13. data/ext/systemd/puppetagent.service +2 -2
  14. data/ext/systemd/puppetmaster.service +2 -2
  15. data/lib/hiera/scope.rb +29 -11
  16. data/lib/hiera_puppet.rb +1 -3
  17. data/lib/puppet/agent.rb +3 -3
  18. data/lib/puppet/application.rb +2 -2
  19. data/lib/puppet/application/agent.rb +27 -12
  20. data/lib/puppet/application/apply.rb +11 -1
  21. data/lib/puppet/application/describe.rb +1 -1
  22. data/lib/puppet/application/doc.rb +13 -9
  23. data/lib/puppet/application/filebucket.rb +0 -1
  24. data/lib/puppet/application/kick.rb +1 -0
  25. data/lib/puppet/application/master.rb +16 -8
  26. data/lib/puppet/daemon.rb +19 -64
  27. data/lib/puppet/defaults.rb +61 -5
  28. data/lib/puppet/error.rb +15 -4
  29. data/lib/puppet/external/nagios/grammar.ry +1 -1
  30. data/lib/puppet/external/nagios/makefile +1 -1
  31. data/lib/puppet/external/nagios/parser.rb +185 -618
  32. data/lib/puppet/external/pson/pure/parser.rb +47 -1
  33. data/lib/puppet/face/certificate.rb +3 -3
  34. data/lib/puppet/face/module.rb +1 -1
  35. data/lib/puppet/face/module/changes.rb +3 -1
  36. data/lib/puppet/face/module/uninstall.rb +1 -1
  37. data/lib/puppet/face/node/clean.rb +5 -5
  38. data/lib/puppet/feature/base.rb +3 -1
  39. data/lib/puppet/feature/libuser.rb +8 -0
  40. data/lib/puppet/file_serving/fileset.rb +9 -1
  41. data/lib/puppet/forge.rb +28 -5
  42. data/lib/puppet/forge/errors.rb +34 -0
  43. data/lib/puppet/forge/repository.rb +1 -1
  44. data/lib/puppet/indirector.rb +4 -1
  45. data/lib/puppet/indirector/catalog/compiler.rb +37 -30
  46. data/lib/puppet/indirector/facts/inventory_active_record.rb +1 -0
  47. data/lib/puppet/indirector/indirection.rb +28 -15
  48. data/lib/puppet/indirector/rest.rb +18 -10
  49. data/lib/puppet/interface.rb +11 -4
  50. data/lib/puppet/interface/action.rb +1 -3
  51. data/lib/puppet/interface/action_builder.rb +0 -3
  52. data/lib/puppet/interface/action_manager.rb +0 -3
  53. data/lib/puppet/interface/face_collection.rb +0 -2
  54. data/lib/puppet/interface/option.rb +0 -2
  55. data/lib/puppet/interface/option_builder.rb +0 -2
  56. data/lib/puppet/interface/option_manager.rb +0 -2
  57. data/lib/puppet/metatype/manager.rb +1 -1
  58. data/lib/puppet/module_tool.rb +1 -0
  59. data/lib/puppet/module_tool/applications/application.rb +0 -3
  60. data/lib/puppet/module_tool/applications/builder.rb +8 -20
  61. data/lib/puppet/module_tool/applications/checksummer.rb +1 -1
  62. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  63. data/lib/puppet/module_tool/applications/unpacker.rb +3 -11
  64. data/lib/puppet/module_tool/checksums.rb +1 -1
  65. data/lib/puppet/module_tool/errors/installer.rb +18 -1
  66. data/lib/puppet/module_tool/modulefile.rb +2 -2
  67. data/lib/puppet/module_tool/skeleton/templates/generator/Modulefile.erb +1 -1
  68. data/lib/puppet/module_tool/tar.rb +17 -0
  69. data/lib/puppet/module_tool/tar/gnu.rb +9 -0
  70. data/lib/puppet/module_tool/tar/mini.rb +39 -0
  71. data/lib/puppet/module_tool/tar/solaris.rb +5 -0
  72. data/lib/puppet/network/http.rb +1 -0
  73. data/lib/puppet/network/http/connection.rb +9 -23
  74. data/lib/puppet/network/http/handler.rb +38 -7
  75. data/lib/puppet/network/http/rack/rest.rb +14 -3
  76. data/lib/puppet/network/http/webrick.rb +3 -1
  77. data/lib/puppet/network/http/webrick/rest.rb +11 -2
  78. data/lib/puppet/node/environment.rb +3 -1
  79. data/lib/puppet/parameter.rb +32 -29
  80. data/lib/puppet/parameter/package_options.rb +1 -1
  81. data/lib/puppet/parameter/path.rb +1 -1
  82. data/lib/puppet/parameter/value.rb +1 -1
  83. data/lib/puppet/parameter/value_collection.rb +7 -3
  84. data/lib/puppet/parser/ast.rb +3 -1
  85. data/lib/puppet/parser/ast/arithmetic_operator.rb +56 -12
  86. data/lib/puppet/parser/ast/astarray.rb +1 -1
  87. data/lib/puppet/parser/ast/block_expression.rb +41 -0
  88. data/lib/puppet/parser/ast/function.rb +13 -2
  89. data/lib/puppet/parser/ast/lambda.rb +107 -0
  90. data/lib/puppet/parser/ast/leaf.rb +1 -2
  91. data/lib/puppet/parser/ast/method_call.rb +77 -0
  92. data/lib/puppet/parser/ast/vardef.rb +7 -0
  93. data/lib/puppet/parser/compiler.rb +27 -16
  94. data/lib/puppet/parser/e_parser_adapter.rb +120 -0
  95. data/lib/puppet/parser/files.rb +7 -6
  96. data/lib/puppet/parser/functions.rb +10 -8
  97. data/lib/puppet/parser/functions/collect.rb +43 -0
  98. data/lib/puppet/parser/functions/each.rb +96 -0
  99. data/lib/puppet/parser/functions/foreach.rb +96 -0
  100. data/lib/puppet/parser/functions/fqdn_rand.rb +2 -2
  101. data/lib/puppet/parser/functions/hiera.rb +20 -2
  102. data/lib/puppet/parser/functions/hiera_array.rb +21 -2
  103. data/lib/puppet/parser/functions/hiera_hash.rb +23 -2
  104. data/lib/puppet/parser/functions/hiera_include.rb +33 -2
  105. data/lib/puppet/parser/functions/inline_template.rb +4 -4
  106. data/lib/puppet/parser/functions/reduce.rb +74 -0
  107. data/lib/puppet/parser/functions/reject.rb +46 -0
  108. data/lib/puppet/parser/functions/select.rb +46 -0
  109. data/lib/puppet/parser/functions/slice.rb +96 -0
  110. data/lib/puppet/parser/functions/template.rb +2 -2
  111. data/lib/puppet/parser/grammar.ra +7 -4
  112. data/lib/puppet/parser/lexer.rb +10 -0
  113. data/lib/puppet/parser/methods.rb +69 -0
  114. data/lib/puppet/parser/parser.rb +855 -808
  115. data/lib/puppet/parser/parser_factory.rb +62 -0
  116. data/lib/puppet/parser/parser_support.rb +8 -2
  117. data/lib/puppet/parser/scope.rb +153 -47
  118. data/lib/puppet/parser/templatewrapper.rb +28 -21
  119. data/lib/puppet/parser/type_loader.rb +3 -1
  120. data/lib/puppet/pops.rb +40 -0
  121. data/lib/puppet/pops/adaptable.rb +190 -0
  122. data/lib/puppet/pops/adapters.rb +65 -0
  123. data/lib/puppet/pops/containment.rb +37 -0
  124. data/lib/puppet/pops/issues.rb +258 -0
  125. data/lib/puppet/pops/label_provider.rb +71 -0
  126. data/lib/puppet/pops/model/ast_transformer.rb +636 -0
  127. data/lib/puppet/pops/model/ast_tree_dumper.rb +378 -0
  128. data/lib/puppet/pops/model/factory.rb +804 -0
  129. data/lib/puppet/pops/model/model.rb +567 -0
  130. data/lib/puppet/pops/model/model_label_provider.rb +75 -0
  131. data/lib/puppet/pops/model/model_tree_dumper.rb +352 -0
  132. data/lib/puppet/pops/model/tree_dumper.rb +59 -0
  133. data/lib/puppet/pops/parser/egrammar.ra +723 -0
  134. data/lib/puppet/pops/parser/eparser.rb +2300 -0
  135. data/lib/puppet/pops/parser/grammar.ra +746 -0
  136. data/lib/puppet/pops/parser/lexer.rb +842 -0
  137. data/lib/puppet/pops/parser/makefile +13 -0
  138. data/lib/puppet/pops/parser/parser_support.rb +203 -0
  139. data/lib/puppet/pops/patterns.rb +35 -0
  140. data/lib/puppet/pops/utils.rb +104 -0
  141. data/lib/puppet/pops/validation.rb +297 -0
  142. data/lib/puppet/pops/validation/checker3_1.rb +551 -0
  143. data/lib/puppet/pops/validation/validator_factory_3_1.rb +41 -0
  144. data/lib/puppet/pops/visitable.rb +6 -0
  145. data/lib/puppet/pops/visitor.rb +50 -0
  146. data/lib/puppet/property.rb +37 -28
  147. data/lib/puppet/property/ensure.rb +2 -2
  148. data/lib/puppet/property/ordered_list.rb +1 -1
  149. data/lib/puppet/provider.rb +26 -30
  150. data/lib/puppet/provider/aixobject.rb +45 -44
  151. data/lib/puppet/provider/augeas/augeas.rb +0 -1
  152. data/lib/puppet/provider/confiner.rb +1 -1
  153. data/lib/puppet/provider/cron/crontab.rb +107 -67
  154. data/lib/puppet/provider/group/groupadd.rb +59 -3
  155. data/lib/puppet/provider/interface/cisco.rb +4 -4
  156. data/lib/puppet/provider/mount/parsed.rb +1 -1
  157. data/lib/puppet/provider/nameservice.rb +22 -6
  158. data/lib/puppet/provider/nameservice/pw.rb +1 -1
  159. data/lib/puppet/provider/package/aix.rb +28 -4
  160. data/lib/puppet/provider/package/gem.rb +0 -2
  161. data/lib/puppet/provider/package/macports.rb +1 -1
  162. data/lib/puppet/provider/package/nim.rb +249 -4
  163. data/lib/puppet/provider/package/opkg.rb +77 -0
  164. data/lib/puppet/provider/package/pacman.rb +2 -2
  165. data/lib/puppet/provider/package/rpm.rb +30 -16
  166. data/lib/puppet/provider/package/yum.rb +3 -3
  167. data/lib/puppet/provider/parsedfile.rb +80 -3
  168. data/lib/puppet/provider/selmodule/semodule.rb +2 -2
  169. data/lib/puppet/provider/service/debian.rb +0 -4
  170. data/lib/puppet/provider/service/freebsd.rb +2 -2
  171. data/lib/puppet/provider/service/gentoo.rb +0 -9
  172. data/lib/puppet/provider/service/init.rb +27 -2
  173. data/lib/puppet/provider/service/launchd.rb +1 -1
  174. data/lib/puppet/provider/service/openwrt.rb +36 -0
  175. data/lib/puppet/provider/service/redhat.rb +0 -9
  176. data/lib/puppet/provider/service/src.rb +38 -4
  177. data/lib/puppet/provider/service/systemd.rb +2 -2
  178. data/lib/puppet/provider/service/upstart.rb +1 -8
  179. data/lib/puppet/provider/user/aix.rb +4 -10
  180. data/lib/puppet/provider/user/pw.rb +6 -10
  181. data/lib/puppet/provider/user/useradd.rb +129 -31
  182. data/lib/puppet/provider/vlan/cisco.rb +4 -4
  183. data/lib/puppet/reference/function.rb +2 -2
  184. data/lib/puppet/reference/indirection.rb +46 -5
  185. data/lib/puppet/reference/metaparameter.rb +2 -2
  186. data/lib/puppet/reports.rb +5 -5
  187. data/lib/puppet/reports/rrdgraph.rb +4 -4
  188. data/lib/puppet/reports/tagmail.rb +1 -1
  189. data/lib/puppet/resource.rb +1 -1
  190. data/lib/puppet/resource/type.rb +13 -11
  191. data/lib/puppet/scheduler.rb +16 -0
  192. data/lib/puppet/scheduler/job.rb +53 -0
  193. data/lib/puppet/scheduler/scheduler.rb +45 -0
  194. data/lib/puppet/scheduler/splay_job.rb +32 -0
  195. data/lib/puppet/scheduler/timer.rb +13 -0
  196. data/lib/puppet/settings/base_setting.rb +1 -1
  197. data/lib/puppet/simple_graph.rb +4 -4
  198. data/lib/puppet/ssl/base.rb +12 -2
  199. data/lib/puppet/ssl/certificate.rb +4 -1
  200. data/lib/puppet/ssl/certificate_request.rb +4 -1
  201. data/lib/puppet/ssl/certificate_revocation_list.rb +4 -1
  202. data/lib/puppet/ssl/configuration.rb +32 -0
  203. data/lib/puppet/ssl/host.rb +18 -21
  204. data/lib/puppet/ssl/key.rb +4 -1
  205. data/lib/puppet/ssl/validator.rb +116 -0
  206. data/lib/puppet/transaction.rb +1 -1
  207. data/lib/puppet/transaction/event.rb +3 -10
  208. data/lib/puppet/transaction/event_manager.rb +8 -1
  209. data/lib/puppet/transaction/report.rb +17 -16
  210. data/lib/puppet/type.rb +77 -69
  211. data/lib/puppet/type/cron.rb +20 -8
  212. data/lib/puppet/type/exec.rb +9 -3
  213. data/lib/puppet/type/file.rb +95 -21
  214. data/lib/puppet/type/file/content.rb +1 -1
  215. data/lib/puppet/type/file/mode.rb +7 -1
  216. data/lib/puppet/type/file/source.rb +2 -2
  217. data/lib/puppet/type/group.rb +11 -0
  218. data/lib/puppet/type/scheduled_task.rb +5 -1
  219. data/lib/puppet/type/service.rb +1 -1
  220. data/lib/puppet/type/ssh_authorized_key.rb +2 -2
  221. data/lib/puppet/type/user.rb +24 -6
  222. data/lib/puppet/util.rb +12 -2
  223. data/lib/puppet/util/classgen.rb +4 -4
  224. data/lib/puppet/util/colors.rb +55 -0
  225. data/lib/puppet/util/command_line/trollop.rb +4 -4
  226. data/lib/puppet/util/errors.rb +39 -3
  227. data/lib/puppet/util/fileparsing.rb +5 -0
  228. data/lib/puppet/util/filetype.rb +11 -9
  229. data/lib/puppet/util/instrumentation/instrumentable.rb +2 -2
  230. data/lib/puppet/util/libuser.conf +15 -0
  231. data/lib/puppet/util/libuser.rb +12 -0
  232. data/lib/puppet/util/monkey_patches.rb +48 -0
  233. data/lib/puppet/util/network_device.rb +1 -1
  234. data/lib/puppet/util/network_device/base.rb +2 -2
  235. data/lib/puppet/util/network_device/cisco/device.rb +29 -19
  236. data/lib/puppet/util/network_device/config.rb +5 -2
  237. data/lib/puppet/util/network_device/ipcalc.rb +1 -1
  238. data/lib/puppet/util/network_device/transport/ssh.rb +4 -3
  239. data/lib/puppet/util/network_device/transport/telnet.rb +4 -2
  240. data/lib/puppet/util/plugins.rb +4 -4
  241. data/lib/puppet/util/posix.rb +1 -1
  242. data/lib/puppet/util/profiler.rb +28 -0
  243. data/lib/puppet/util/profiler/logging.rb +47 -0
  244. data/lib/puppet/util/profiler/none.rb +8 -0
  245. data/lib/puppet/util/profiler/object_counts.rb +17 -0
  246. data/lib/puppet/util/profiler/wall_clock.rb +34 -0
  247. data/lib/puppet/util/provider_features.rb +1 -1
  248. data/lib/puppet/util/rdoc/parser.rb +5 -5
  249. data/lib/puppet/util/ssl.rb +38 -0
  250. data/lib/puppet/util/subclass_loader.rb +1 -5
  251. data/lib/puppet/util/windows.rb +1 -0
  252. data/lib/puppet/util/windows/process.rb +3 -0
  253. data/lib/puppet/util/windows/root_certs.rb +86 -0
  254. data/lib/puppet/util/windows/security.rb +1 -0
  255. data/lib/puppet/version.rb +1 -1
  256. data/spec/fixtures/integration/provider/cron/crontab/create_normal_entry +19 -0
  257. data/spec/fixtures/integration/provider/cron/crontab/create_special_entry +18 -0
  258. data/spec/fixtures/integration/provider/cron/crontab/crontab_user1 +15 -0
  259. data/spec/fixtures/integration/provider/cron/crontab/crontab_user2 +4 -0
  260. data/spec/fixtures/integration/provider/cron/crontab/modify_entry +13 -0
  261. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input1 +15 -0
  262. data/spec/fixtures/integration/provider/cron/crontab/moved_cronjob_input2 +6 -0
  263. data/spec/fixtures/integration/provider/cron/crontab/remove_named_resource +12 -0
  264. data/spec/fixtures/integration/provider/cron/crontab/remove_unnamed_resource +14 -0
  265. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +16 -0
  266. data/spec/fixtures/unit/pops/parser/lexer/append.pp +11 -0
  267. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +14 -0
  268. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +8 -0
  269. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +3 -0
  270. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +65 -0
  271. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +15 -0
  272. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +17 -0
  273. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +11 -0
  274. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +10 -0
  275. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +8 -0
  276. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +20 -0
  277. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +11 -0
  278. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +8 -0
  279. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +23 -0
  280. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +17 -0
  281. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +9 -0
  282. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +3 -0
  283. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +9 -0
  284. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +3 -0
  285. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +11 -0
  286. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +5 -0
  287. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +11 -0
  288. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +5 -0
  289. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +33 -0
  290. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +12 -0
  291. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +15 -0
  292. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +10 -0
  293. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +9 -0
  294. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +7 -0
  295. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +13 -0
  296. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +9 -0
  297. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +13 -0
  298. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +49 -0
  299. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +5 -0
  300. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +38 -0
  301. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +19 -0
  302. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +11 -0
  303. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +22 -0
  304. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +11 -0
  305. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +9 -0
  306. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +35 -0
  307. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +14 -0
  308. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +4 -4
  309. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +3 -0
  310. data/spec/fixtures/unit/provider/cron/parsed/managed +6 -0
  311. data/spec/fixtures/unit/provider/cron/parsed/simple +9 -0
  312. data/spec/fixtures/unit/provider/parsedfile/simple.txt +4 -0
  313. data/spec/fixtures/unit/provider/service/systemd/list_units +18 -0
  314. data/spec/integration/parser/collector_spec.rb +1 -1
  315. data/spec/integration/parser/compiler_spec.rb +252 -227
  316. data/spec/integration/parser/parser_spec.rb +171 -53
  317. data/spec/integration/parser/scope_spec.rb +1 -1
  318. data/spec/integration/provider/cron/crontab_spec.rb +187 -0
  319. data/spec/integration/provider/service/systemd_spec.rb +20 -0
  320. data/spec/integration/type/file_spec.rb +21 -21
  321. data/spec/integration/type/package_spec.rb +1 -1
  322. data/spec/lib/puppet_spec/database.rb +2 -5
  323. data/spec/spec_helper.rb +6 -1
  324. data/spec/unit/application/apply_spec.rb +16 -1
  325. data/spec/unit/application/describe_spec.rb +1 -1
  326. data/spec/unit/application/doc_spec.rb +55 -32
  327. data/spec/unit/application/kick_spec.rb +8 -6
  328. data/spec/unit/application/master_spec.rb +4 -4
  329. data/spec/unit/daemon_spec.rb +1 -1
  330. data/spec/unit/forge/errors_spec.rb +40 -0
  331. data/spec/unit/forge/repository_spec.rb +11 -1
  332. data/spec/unit/forge_spec.rb +13 -3
  333. data/spec/unit/hiera/backend/puppet_backend_spec.rb +1 -0
  334. data/spec/unit/hiera/scope_spec.rb +48 -25
  335. data/spec/unit/indirector/catalog/active_record_spec.rb +6 -3
  336. data/spec/unit/indirector/catalog/compiler_spec.rb +3 -28
  337. data/spec/unit/indirector/catalog/static_compiler_spec.rb +1 -1
  338. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +154 -150
  339. data/spec/unit/indirector/indirection_spec.rb +5 -0
  340. data/spec/unit/indirector/resource/active_record_spec.rb +5 -22
  341. data/spec/unit/indirector_spec.rb +7 -1
  342. data/spec/unit/interface/action_builder_spec.rb +1 -1
  343. data/spec/unit/interface/action_manager_spec.rb +0 -2
  344. data/spec/unit/interface/action_spec.rb +1 -1
  345. data/spec/unit/interface/documentation_spec.rb +0 -2
  346. data/spec/unit/interface/face_collection_spec.rb +1 -1
  347. data/spec/unit/interface/option_builder_spec.rb +1 -1
  348. data/spec/unit/interface/option_spec.rb +0 -1
  349. data/spec/unit/module_spec.rb +17 -19
  350. data/spec/unit/module_tool/application_spec.rb +1 -3
  351. data/spec/unit/module_tool/applications/builder_spec.rb +38 -0
  352. data/spec/unit/module_tool/applications/checksummer_spec.rb +134 -0
  353. data/spec/unit/module_tool/applications/installer_spec.rb +71 -91
  354. data/spec/unit/module_tool/applications/searcher_spec.rb +1 -3
  355. data/spec/unit/module_tool/applications/uninstaller_spec.rb +18 -26
  356. data/spec/unit/module_tool/applications/unpacker_spec.rb +19 -52
  357. data/spec/unit/module_tool/tar/gnu_spec.rb +19 -0
  358. data/spec/unit/module_tool/tar/mini_spec.rb +59 -0
  359. data/spec/unit/module_tool/tar/solaris_spec.rb +19 -0
  360. data/spec/unit/network/http/connection_spec.rb +17 -2
  361. data/spec/unit/network/http/handler_spec.rb +195 -167
  362. data/spec/unit/network/http/rack/rest_spec.rb +26 -4
  363. data/spec/unit/network/http/webrick/rest_spec.rb +28 -1
  364. data/spec/unit/network/http/webrick_spec.rb +12 -3
  365. data/spec/unit/node/environment_spec.rb +421 -404
  366. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +98 -2
  367. data/spec/unit/parser/collector_spec.rb +4 -4
  368. data/spec/unit/parser/compiler_spec.rb +13 -13
  369. data/spec/unit/parser/eparser_adapter_spec.rb +407 -0
  370. data/spec/unit/parser/functions/extlookup_spec.rb +20 -17
  371. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -0
  372. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -2
  373. data/spec/unit/parser/functions/hiera_spec.rb +0 -2
  374. data/spec/unit/parser/functions_spec.rb +27 -15
  375. data/spec/unit/parser/methods/collect_spec.rb +110 -0
  376. data/spec/unit/parser/methods/each_spec.rb +91 -0
  377. data/spec/unit/parser/methods/foreach_spec.rb +91 -0
  378. data/spec/unit/parser/methods/reduce_spec.rb +67 -0
  379. data/spec/unit/parser/methods/reject_spec.rb +73 -0
  380. data/spec/unit/parser/methods/select_spec.rb +79 -0
  381. data/spec/unit/parser/methods/shared.rb +61 -0
  382. data/spec/unit/parser/methods/slice_spec.rb +97 -0
  383. data/spec/unit/parser/parser_spec.rb +2 -2
  384. data/spec/unit/parser/scope_spec.rb +39 -16
  385. data/spec/unit/parser/templatewrapper_spec.rb +6 -5
  386. data/spec/unit/parser/type_loader_spec.rb +191 -165
  387. data/spec/unit/pops/adaptable_spec.rb +143 -0
  388. data/spec/unit/pops/containment_spec.rb +25 -0
  389. data/spec/unit/pops/factory_rspec_helper.rb +77 -0
  390. data/spec/unit/pops/factory_spec.rb +329 -0
  391. data/spec/unit/pops/issues_spec.rb +26 -0
  392. data/spec/unit/pops/label_provider_spec.rb +42 -0
  393. data/spec/unit/pops/model/ast_transformer_spec.rb +65 -0
  394. data/spec/unit/pops/model/model_spec.rb +37 -0
  395. data/spec/unit/pops/parser/lexer_spec.rb +884 -0
  396. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +248 -0
  397. data/spec/unit/pops/parser/parse_calls_spec.rb +93 -0
  398. data/spec/unit/pops/parser/parse_conditionals_spec.rb +159 -0
  399. data/spec/unit/pops/parser/parse_containers_spec.rb +175 -0
  400. data/spec/unit/pops/parser/parse_resource_spec.rb +228 -0
  401. data/spec/unit/pops/parser/parser_rspec_helper.rb +11 -0
  402. data/spec/unit/pops/parser/parser_spec.rb +15 -0
  403. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +16 -0
  404. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +243 -0
  405. data/spec/unit/pops/transformer/transform_calls_spec.rb +80 -0
  406. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +132 -0
  407. data/spec/unit/pops/transformer/transform_containers_spec.rb +182 -0
  408. data/spec/unit/pops/transformer/transform_resource_spec.rb +185 -0
  409. data/spec/unit/pops/transformer/transformer_rspec_helper.rb +27 -0
  410. data/spec/unit/pops/visitor_spec.rb +94 -0
  411. data/spec/unit/property_spec.rb +11 -0
  412. data/spec/unit/provider/augeas/augeas_spec.rb +3 -0
  413. data/spec/unit/provider/cron/crontab_spec.rb +97 -7
  414. data/spec/unit/provider/cron/parsed_spec.rb +325 -0
  415. data/spec/unit/provider/exec/posix_spec.rb +1 -1
  416. data/spec/unit/provider/group/groupadd_spec.rb +33 -3
  417. data/spec/unit/provider/group/pw_spec.rb +5 -5
  418. data/spec/unit/provider/nameservice_spec.rb +304 -0
  419. data/spec/unit/provider/package/aix_spec.rb +53 -11
  420. data/spec/unit/provider/package/aptrpm_spec.rb +6 -0
  421. data/spec/unit/provider/package/gem_spec.rb +6 -11
  422. data/spec/unit/provider/package/nim_spec.rb +216 -7
  423. data/spec/unit/provider/package/opkg_spec.rb +180 -0
  424. data/spec/unit/provider/package/rpm_spec.rb +149 -3
  425. data/spec/unit/provider/package/yum_spec.rb +6 -5
  426. data/spec/unit/provider/parsedfile_spec.rb +122 -28
  427. data/spec/unit/provider/service/freebsd_spec.rb +18 -0
  428. data/spec/unit/provider/service/init_spec.rb +108 -87
  429. data/spec/unit/provider/service/launchd_spec.rb +2 -2
  430. data/spec/unit/provider/service/openwrt_spec.rb +109 -0
  431. data/spec/unit/provider/service/src_spec.rb +117 -41
  432. data/spec/unit/provider/service/systemd_spec.rb +125 -17
  433. data/spec/unit/provider/service/upstart_spec.rb +1 -1
  434. data/spec/unit/provider/user/aix_spec.rb +42 -0
  435. data/spec/unit/provider/user/directoryservice_spec.rb +1 -0
  436. data/spec/unit/provider/user/pw_spec.rb +24 -12
  437. data/spec/unit/provider/user/user_role_add_spec.rb +1 -1
  438. data/spec/unit/provider/user/useradd_spec.rb +179 -15
  439. data/spec/unit/resource/type_spec.rb +3 -3
  440. data/spec/unit/scheduler/job_spec.rb +79 -0
  441. data/spec/unit/scheduler/scheduler_spec.rb +129 -0
  442. data/spec/unit/scheduler/splay_job_spec.rb +35 -0
  443. data/spec/unit/ssl/base_spec.rb +3 -9
  444. data/spec/unit/ssl/certificate_authority_spec.rb +1 -0
  445. data/spec/unit/ssl/certificate_request_spec.rb +3 -1
  446. data/spec/unit/ssl/certificate_spec.rb +3 -1
  447. data/spec/unit/ssl/configuration_spec.rb +74 -0
  448. data/spec/unit/ssl/host_spec.rb +28 -7
  449. data/spec/unit/ssl/validator_spec.rb +311 -0
  450. data/spec/unit/transaction/event_manager_spec.rb +49 -0
  451. data/spec/unit/transaction/event_spec.rb +20 -5
  452. data/spec/unit/transaction/report_spec.rb +8 -0
  453. data/spec/unit/type/cron_spec.rb +9 -0
  454. data/spec/unit/type/exec_spec.rb +11 -0
  455. data/spec/unit/type/file/content_spec.rb +20 -20
  456. data/spec/unit/type/file/mode_spec.rb +6 -0
  457. data/spec/unit/type/file/source_spec.rb +9 -7
  458. data/spec/unit/type/file_spec.rb +22 -3
  459. data/spec/unit/type/service_spec.rb +34 -21
  460. data/spec/unit/type_spec.rb +46 -1
  461. data/spec/unit/util/backups_spec.rb +2 -2
  462. data/spec/unit/util/execution_spec.rb +4 -1
  463. data/spec/unit/util/filetype_spec.rb +6 -0
  464. data/spec/unit/util/monkey_patches_spec.rb +18 -0
  465. data/spec/unit/util/network_device/cisco/device_spec.rb +37 -0
  466. data/spec/unit/util/network_device/config_spec.rb +14 -0
  467. data/spec/unit/util/network_device_spec.rb +3 -3
  468. data/spec/unit/util/profiler/logging_spec.rb +81 -0
  469. data/spec/unit/util/profiler/none_spec.rb +12 -0
  470. data/spec/unit/util/profiler/object_counts_spec.rb +14 -0
  471. data/spec/unit/util/profiler/wall_clock_spec.rb +13 -0
  472. data/spec/unit/util/pson_spec.rb +5 -0
  473. data/spec/unit/util/ssl_spec.rb +51 -0
  474. data/spec/unit/util/windows/root_certs_spec.rb +15 -0
  475. data/spec/unit/util_spec.rb +28 -0
  476. metadata +2593 -2307
  477. data/spec/unit/module_tool/applications/application_spec.rb +0 -19
@@ -20,6 +20,15 @@ class Puppet::Parser::Lexer
20
20
  attr_accessor :line, :indefine
21
21
  alias :indefine? :indefine
22
22
 
23
+ # Returns the position on the line.
24
+ # This implementation always returns nil. It is here for API reasons in Puppet::Error
25
+ # which needs to support both --parser current, and --parser future.
26
+ #
27
+ def pos
28
+ # Make the lexer comply with newer API. It does not produce a pos...
29
+ nil
30
+ end
31
+
23
32
  def lex_error msg
24
33
  raise Puppet::LexError.new(msg)
25
34
  end
@@ -155,6 +164,7 @@ class Puppet::Parser::Lexer
155
164
  '-' => :MINUS,
156
165
  '/' => :DIV,
157
166
  '*' => :TIMES,
167
+ '%' => :MODULO,
158
168
  '<<' => :LSHIFT,
159
169
  '>>' => :RSHIFT,
160
170
  '=~' => :MATCH,
@@ -0,0 +1,69 @@
1
+ require 'puppet/util/autoload'
2
+ require 'puppet/parser/scope'
3
+ require 'puppet/parser/functions'
4
+ require 'monitor'
5
+
6
+ # A module for handling finding and invoking methods (functions invokable as a method).
7
+ # A method call on the form:
8
+ #
9
+ # $a.meth(1,2,3] {|...| ...}
10
+ #
11
+ # will lookup a function called 'meth' and call it with the arguments ($a, 1, 2, 3, <lambda>)
12
+ #
13
+ # @see Puppet::Parser::AST::Lambda
14
+ # @see Puppet::Parser::AST::MethodCall
15
+ #
16
+ # @api public
17
+ # @since 3.2
18
+ #
19
+ module Puppet::Parser::Methods
20
+ Environment = Puppet::Node::Environment
21
+ # Represents an invokable method configured to be invoked for a given object.
22
+ #
23
+ class Method
24
+ def initialize(receiver, obj, method_name, rvalue)
25
+ @receiver = receiver
26
+ @o = obj
27
+ @method_name = method_name
28
+ @rvalue = rvalue
29
+ end
30
+
31
+ # Invoke this method's function in the given scope with the given arguments and parameterized block.
32
+ # A method call on the form:
33
+ #
34
+ # $a.meth(1,2,3) {|...| ...}
35
+ #
36
+ # results in the equivalent:
37
+ #
38
+ # meth($a, 1, 2, 3, {|...| ... })
39
+ #
40
+ # @param scope [Puppet::Parser::Scope] the scope the call takes place in
41
+ # @param args [Array<Object>] arguments 1..n to pass to the function
42
+ # @param pblock [Puppet::Parser::AST::Lambda] optional parameterized block to pass as the last argument
43
+ # to the called function
44
+ #
45
+ def invoke(scope, args=[], pblock=nil)
46
+ arguments = [@o] + args
47
+ arguments << pblock if pblock
48
+ @receiver.send(@method_name, arguments)
49
+ end
50
+
51
+ # @return [Boolean] whether the method function produces an rvalue or not.
52
+ def is_rvalue?
53
+ @rvalue
54
+ end
55
+ end
56
+
57
+ class << self
58
+ include Puppet::Util
59
+ end
60
+
61
+ # Finds a function and returns an instance of Method configured to perform invocation.
62
+ # @return [Method, nil] configured method or nil if method not found
63
+ def self.find_method(scope, receiver, name)
64
+ fname = Puppet::Parser::Functions.function(name)
65
+ rvalue = Puppet::Parser::Functions.rvalue?(name)
66
+ return Method.new(scope, receiver, fname, rvalue) if fname
67
+ nil
68
+ end
69
+ end
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.8
3
+ # This file is automatically generated by Racc 1.4.9
4
4
  # from Racc grammer file "".
5
5
  #
6
6
 
@@ -21,7 +21,7 @@ module Puppet
21
21
  module Parser
22
22
  class Parser < Racc::Parser
23
23
 
24
- module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 794)
24
+ module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 797)
25
25
 
26
26
  # It got too annoying having code in a file that needs to be compiled.
27
27
  require 'puppet/parser/parser_support'
@@ -34,101 +34,109 @@ require 'puppet/parser/parser_support'
34
34
  ##### State transition tables begin ###
35
35
 
36
36
  clist = [
37
- '9,13,167,168,103,155,370,103,282,105,173,281,293,53,371,142,146,54,274',
38
- '313,292,-177,106,154,137,139,143,145,40,94,48,1,314,10,12,174,21,29',
39
- '35,357,44,49,2,9,13,15,102,138,141,34,317,148,149,132,133,135,136,-176',
40
- '140,144,33,9,13,305,302,134,8,98,274,299,99,40,350,48,1,367,10,12,366',
41
- '21,29,35,337,44,49,2,9,13,15,33,296,297,34,396,64,326,296,297,29,222',
42
- '9,13,49,33,9,13,15,161,72,8,34,53,-112,325,40,54,48,1,343,10,12,33,21',
43
- '29,35,154,44,49,2,9,13,15,155,119,-196,34,394,64,160,90,179,29,75,-123',
44
- '94,49,33,-183,154,15,154,178,8,34,9,13,183,40,309,48,1,340,10,12,33',
45
- '21,29,35,308,44,49,2,9,13,15,179,277,322,34,392,274,275,98,306,86,99',
46
- '178,142,146,33,304,183,160,84,85,8,137,139,143,145,40,94,48,1,33,10',
47
- '12,53,21,29,35,54,44,49,2,9,13,15,15,138,141,34,302,148,149,132,133',
48
- '135,136,334,140,144,33,9,13,132,133,134,8,98,140,144,99,40,291,48,1',
49
- '134,10,12,286,21,29,35,-130,44,49,2,9,13,15,33,335,53,34,271,64,54,179',
50
- '179,29,222,274,360,49,33,140,144,15,178,178,8,34,134,183,183,40,367',
51
- '48,1,366,10,12,33,21,29,35,283,44,49,2,9,13,15,-178,72,33,34,33,-130',
52
- '-130,-130,-130,249,148,149,132,133,33,9,13,140,144,295,8,342,296,297',
53
- '134,205,206,208,189,191,64,195,197,200,239,243,248,207,247,232,9,13',
54
- '15,225,199,202,244,347,64,132,133,188,29,222,140,144,49,33,9,13,15,134',
55
- '190,194,34,140,144,105,40,172,48,1,134,10,12,33,21,29,35,306,44,49,2',
56
- '9,13,15,123,354,315,34,117,64,274,275,-182,29,222,-177,-180,49,33,9',
57
- '13,15,300,72,8,34,274,299,-178,40,332,48,1,363,10,12,33,21,29,35,-122',
58
- '44,49,2,9,13,15,-181,364,338,34,381,64,274,299,331,29,75,-179,-176,49',
59
- '33,372,-183,15,86,375,8,34,376,123,249,40,379,48,1,121,10,12,33,21,29',
60
- '35,119,44,49,2,9,13,15,330,382,117,34,329,-178,383,9,13,-179,109,113',
61
- '-227,-196,33,-40,-40,-40,-40,107,8,59,60,61,57,40,385,48,1,112,10,12',
62
- '-129,21,29,35,92,44,49,2,64,388,15,-184,29,75,34,390,49,9,13,302,15',
63
- '72,117,78,34,33,-96,9,13,-179,56,8,397,398,,33,,9,13,65,,72,,78,-44',
64
- '-44,-44,-44,,,64,,,,29,75,,,49,65,64,53,15,68,29,129,34,44,49,83,64',
65
- ',15,,29,75,34,33,49,,,,15,68,9,13,34,33,72,83,78,,,,9,13,,33,72,,78',
66
- ',,,9,13,65,,72,,78,-38,-38,-38,-38,,65,64,,,,29,75,,,49,65,64,,15,68',
67
- '29,75,34,,49,83,64,,15,68,29,75,34,33,49,83,,,15,68,9,13,34,33,72,83',
68
- '78,,284,148,149,132,133,33,,,140,144,142,146,,,65,134,,,,137,139,143',
69
- '145,,,64,,,,29,75,,,49,,9,13,15,68,72,,34,138,141,83,,148,149,132,133',
70
- '135,136,33,140,144,9,13,,,72,134,78,,,,9,13,,64,72,,78,29,222,,,49,65',
71
- ',,15,,,,34,,,65,64,,,,29,75,,33,49,,64,,15,68,29,75,34,,49,83,,,15,68',
72
- '9,13,34,33,72,83,78,,,,9,13,,33,72,,78,59,60,61,57,,65,,,,,,,,,,65,64',
73
- ',,,29,75,,,49,,64,,15,68,29,75,34,,49,83,,,15,68,9,13,34,33,72,83,78',
74
- ',,,9,13,,33,72,152,78,,,,9,13,65,278,,,,369,,,,,65,64,,,,29,75,,,49',
75
- ',64,,15,68,29,75,34,,49,83,64,,15,68,29,222,34,33,49,83,,,15,,9,13,34',
76
- '33,72,,78,,,,9,13,,33,72,,78,,,,9,13,65,,72,,78,,,,,,65,64,,,,29,75',
77
- ',,49,65,64,,15,68,29,75,34,,49,83,64,,15,68,29,75,34,33,49,83,,,15,68',
78
- '9,13,34,33,72,83,78,,,,9,13,,33,72,,78,,,,9,13,65,,72,,78,,,,,,65,64',
79
- ',,,29,75,,,49,65,64,,15,68,29,75,34,,49,83,64,,15,68,29,75,34,33,49',
80
- '83,,,15,68,9,13,34,33,72,83,78,,,,9,13,,33,72,,78,,,,9,13,65,,72,,78',
81
- ',,,,,65,64,,,,29,75,,,49,65,64,,15,68,29,75,34,,49,83,64,,15,68,29,75',
82
- '34,33,49,83,,,15,68,9,13,34,33,72,83,78,,,,9,13,,33,72,,78,,,,9,13,65',
83
- ',72,,78,,,,,,65,64,,,,29,75,,,49,65,64,,15,68,29,75,34,,49,83,64,,15',
84
- '68,29,75,34,33,49,83,,,15,68,9,13,34,33,72,83,78,,,,9,13,,33,,,,,,,9',
85
- '13,65,,72,,78,,,,,,,64,,,,29,75,,,49,65,64,53,15,68,29,129,34,44,49',
86
- '83,64,,15,,29,75,34,33,49,,,,15,68,9,13,34,33,72,83,78,,,,9,13,,33,72',
87
- ',78,,,,9,13,65,,72,,78,,,,,,65,64,,,,29,75,,,49,65,64,,15,68,29,75,34',
88
- ',49,83,64,,15,68,29,75,34,33,49,83,,,15,68,9,13,34,33,72,83,78,,,,9',
89
- '13,,33,72,,78,,,,9,13,65,,72,,78,,,,,,65,64,,,,29,75,,,49,65,64,,15',
90
- '68,29,75,34,,49,83,64,,15,68,29,75,34,33,49,83,,,15,68,9,13,34,33,72',
91
- '83,78,,,,9,13,,33,72,,78,,,,9,13,65,,,,223,,,,,,65,64,,,,29,75,,,49',
92
- ',64,,15,68,29,75,34,,49,83,64,,15,68,29,222,34,33,49,83,,,15,,9,13,34',
93
- '33,72,,78,,,,,,,33,,,,9,13,,,72,65,78,,,,,,,,,,64,,,,29,75,65,226,49',
94
- ',,,15,68,,,34,64,,83,,29,75,,,49,,33,,15,68,,,34,9,13,83,,72,152,78',
95
- ',,,33,,,,,,,9,13,,,72,65,78,,,,,,,,,,64,,,,29,75,65,,49,,,,15,68,,,34',
96
- '64,,83,,29,75,,,49,,33,,15,68,9,13,34,,72,83,78,,,,9,13,,33,72,,78,',
97
- ',,9,13,65,,72,,78,,,,,,65,64,,,,29,75,,,49,65,64,,15,68,29,75,34,,49',
98
- '83,64,,15,68,29,75,34,33,49,83,,,15,68,9,13,34,33,72,83,78,,,230,,,',
99
- '33,,,,,142,146,,,65,,,,,137,139,143,145,,,64,,,,29,75,,,49,,,,15,68',
100
- ',,34,138,141,83,,148,149,132,133,135,136,33,140,144,147,,,,,134,,,,142',
101
- '146,,,,,229,,,137,139,143,145,,,142,146,,,,,,,,137,139,143,145,,,,,138',
102
- '141,,,148,149,132,133,135,136,,140,144,,,138,141,,134,148,149,132,133',
103
- '135,136,,140,144,142,146,,,,134,,,,137,139,143,145,,,142,146,,,,,,,253',
104
- '137,139,143,145,,,,,138,141,,,148,149,132,133,135,136,,140,144,,,138',
105
- '141,,134,148,149,132,133,135,136,,140,144,142,146,,,,134,,,,137,139',
106
- '143,145,,,142,146,,,,,,,,137,139,143,145,,,,,,141,,,148,149,132,133',
107
- '135,136,,140,144,,,138,141,,134,148,149,132,133,135,136,,140,144,142',
108
- '146,,,,134,,,,137,139,143,145,,,142,146,,,,,,,,137,139,143,145,,,,,138',
109
- '141,,,148,149,132,133,135,136,,140,144,,,,,,134,148,149,132,133,135',
110
- '136,,140,144,142,146,,,,134,,,,137,139,143,145,,,142,146,,,,,,,,137',
111
- '139,143,145,,,,,,,,,148,149,132,133,135,136,,140,144,,,138,141,,134',
112
- '148,149,132,133,135,136,,140,144,142,146,,,,134,,,,137,139,143,145,',
113
- ',142,146,,,,,,,,137,139,143,145,,,,,138,141,,,148,149,132,133,135,136',
114
- ',140,144,,,138,141,,134,148,149,132,133,135,136,,140,144,142,146,,,',
115
- '134,,,,137,139,143,145,,,142,146,,,,,,,,137,139,143,145,,,,,138,141',
116
- ',,148,149,132,133,135,136,,140,144,,,138,141,,134,148,149,132,133,135',
117
- '136,,140,144,142,146,,,,134,,,,137,139,143,145,,,142,146,,,,,,,,137',
118
- '139,143,145,,,,,138,141,146,,148,149,132,133,135,136,137,140,144,,,',
119
- ',146,134,148,149,132,133,135,136,137,140,144,,,,,,134,,146,,148,149',
120
- '132,133,135,136,137,140,144,,,,,146,134,148,149,132,133,135,136,137',
121
- '140,144,,,,,,134,,,,148,149,132,133,135,136,,140,144,,,,,,134,148,149',
122
- '132,133,135,136,,140,144,205,206,208,189,191,134,195,197,200,201,215',
123
- ',207,209,,,,,,199,202,204,205,206,208,189,191,,195,197,200,201,215,',
124
- '207,209,,190,194,,,199,202,204,205,206,208,189,191,,195,197,200,201',
125
- '203,,207,209,,190,194,,,199,202,204,205,206,208,189,191,,195,197,200',
126
- '201,203,,207,209,,190,194,,,199,202,204,205,206,208,189,191,,195,197',
127
- '200,201,203,,207,209,,190,194,,,199,202,204,205,206,208,189,191,,195',
128
- '197,200,201,215,,207,209,,190,194,,,199,202,204,148,149,132,133,135',
129
- '136,,140,144,,,,,,134,190,194,148,149,132,133,135,136,,140,144,,,,,',
130
- '134' ]
131
- racc_action_table = arr = ::Array.new(2419, nil)
37
+ '35,36,199,198,246,159,-130,86,-112,82,277,357,361,379,356,215,210,159',
38
+ '276,-197,360,158,85,158,211,213,212,214,39,248,48,49,267,33,50,158,51',
39
+ '37,26,-129,40,46,30,35,36,32,84,217,216,31,398,203,204,206,205,208,209',
40
+ '-122,201,202,52,-130,-130,-130,-130,200,38,207,35,36,278,39,86,48,49',
41
+ '350,33,50,90,51,37,26,89,40,46,30,35,36,32,-178,94,253,31,257,280,257',
42
+ '364,274,273,92,93,215,210,52,257,255,226,336,62,38,211,213,212,214,39',
43
+ '338,48,49,254,33,50,339,51,37,26,347,40,46,30,35,36,32,-180,217,216',
44
+ '31,310,203,204,206,205,208,209,341,201,202,52,35,36,274,273,200,38,207',
45
+ '223,303,-178,39,304,48,49,-177,33,50,185,51,37,26,95,40,46,30,35,36',
46
+ '32,190,-184,281,31,397,189,344,90,201,202,226,89,215,210,52,200,357',
47
+ '250,32,356,38,211,213,212,214,39,-179,48,49,268,33,50,90,51,37,26,89',
48
+ '40,46,30,35,36,32,185,217,216,31,395,203,204,206,205,208,209,190,201',
49
+ '202,52,119,189,201,202,200,38,207,201,202,200,39,119,48,49,200,33,50',
50
+ '185,51,37,26,267,40,46,30,35,36,32,190,185,90,31,392,189,89,119,265',
51
+ '375,118,337,190,120,52,257,280,189,302,-96,38,118,257,263,120,39,-185',
52
+ '48,49,52,33,50,52,51,37,26,-123,40,46,30,35,36,32,52,103,118,31,252',
53
+ '120,279,206,205,251,257,280,201,202,52,250,243,243,262,200,38,207,257',
54
+ '263,52,137,135,139,134,136,80,132,140,141,177,168,240,131,162,35,36',
55
+ '82,32,180,142,130,163,271,94,-184,274,273,203,204,206,205,-183,52,-181',
56
+ '201,202,62,138,144,-180,353,200,39,207,48,49,354,33,50,330,51,37,26',
57
+ '-182,40,46,30,35,36,32,-177,52,-179,31,367,203,204,206,205,157,368,370',
58
+ '201,202,52,35,36,371,372,200,38,207,122,327,326,39,110,48,49,109,33',
59
+ '50,267,51,37,26,334,40,46,30,35,36,32,91,81,62,31,377,80,90,323,-179',
60
+ '37,128,382,40,46,52,35,36,32,383,-180,38,31,385,61,-228,39,387,48,49',
61
+ '388,33,50,52,51,37,26,323,40,46,30,35,36,32,319,110,393,31,308,80,90',
62
+ '317,305,37,128,158,40,46,52,53,399,32,400,,38,31,,,,39,,48,49,,33,50',
63
+ '52,51,37,26,,40,46,30,230,,32,,,,31,,,215,210,56,57,58,59,,,52,211,213',
64
+ '212,214,,38,203,204,206,205,208,209,,201,202,56,57,58,59,,200,,207,217',
65
+ '216,210,,203,204,206,205,208,209,211,201,202,228,-38,-38,-38,-38,200',
66
+ ',207,,215,210,-44,-44,-44,-44,,,,211,213,212,214,,,203,204,206,205,208',
67
+ '209,,201,202,-40,-40,-40,-40,,200,,207,217,216,,,203,204,206,205,208',
68
+ '209,,201,202,229,,,,,200,,207,,215,210,206,205,,,,201,202,211,213,212',
69
+ '214,,200,,207,,,,35,36,,,103,,104,,,,,,217,216,,,203,204,206,205,208',
70
+ '209,102,201,202,35,36,,,103,200,104,207,80,,,,37,77,,,46,,,,32,101,102',
71
+ ',31,35,36,100,,103,,104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35,36',
72
+ '100,,103,,104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35,36,100,,103,',
73
+ '104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35,36,100,,103,,104,,80,,52',
74
+ ',37,77,,,46,,,,32,101,102,,31,35,36,100,,103,,104,,80,,52,,37,77,,,46',
75
+ ',,,32,101,102,,31,35,36,100,,103,,104,,80,,52,,37,77,,,46,,,,32,101',
76
+ '102,,31,35,36,100,,103,,104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35',
77
+ '36,100,,103,,104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35,36,100,,103',
78
+ ',104,,80,,52,,37,77,,,46,,,,32,101,102,,31,35,36,100,,103,,104,,80,',
79
+ '52,,37,77,,,46,,,,32,101,102,,31,35,36,100,,103,,104,,80,,52,,37,77',
80
+ ',,46,35,36,,32,101,102,155,31,,,100,,,35,36,,80,103,52,,37,77,,,46,',
81
+ ',,32,101,35,36,31,80,103,100,104,37,231,,,46,,52,,32,80,,,31,37,77,102',
82
+ ',46,35,36,,32,103,52,104,31,80,,35,36,37,77,,,46,358,52,,32,101,102',
83
+ ',31,,,100,35,36,,,,80,,52,,37,77,,,46,,80,,32,101,37,231,31,,46,100',
84
+ ',,32,,,,31,52,80,,,,37,231,,,46,52,,,32,35,36,,31,103,,104,,,,,,,,52',
85
+ ',,35,36,,,103,102,104,,,,,,,,,,80,,,,37,77,102,,46,,,,32,101,,,31,80',
86
+ ',100,,37,77,,,46,,52,,32,101,35,36,31,,103,100,104,,,,35,36,,52,103',
87
+ ',104,,,,35,36,102,,103,161,104,,,,,,102,80,,,,37,77,,,46,102,80,,32',
88
+ '101,37,77,31,,46,100,80,,32,101,37,77,31,52,46,100,,,32,101,35,36,31',
89
+ '52,103,100,104,,,,35,36,,52,103,,104,,,,35,36,102,,103,,104,,,,,,102',
90
+ '80,,,,37,77,,,46,102,80,,32,101,37,77,31,,46,100,80,,32,101,37,77,31',
91
+ '52,46,100,,,32,101,35,36,31,52,103,100,104,,,,35,36,,52,78,,-197,,,',
92
+ '35,36,102,,103,,104,,,,,,63,80,,,,37,77,,,46,102,80,,32,101,37,77,31',
93
+ ',46,100,80,,32,,37,77,31,52,46,,,,32,101,35,36,31,52,103,100,104,,,',
94
+ '35,36,,52,103,,104,,,,35,36,102,,103,,104,,,,,,102,80,,,,37,77,,,46',
95
+ '102,80,,32,101,37,77,31,,46,100,80,,32,101,37,77,31,52,46,100,,,32,101',
96
+ '35,36,31,52,103,100,104,,,,35,36,,52,103,,104,,,,35,36,102,,103,,104',
97
+ ',,,,,102,80,,,,37,77,,,46,102,80,,32,101,37,77,31,,46,100,80,,32,101',
98
+ '37,77,31,52,46,100,,,32,101,35,36,31,52,103,100,104,,,,35,36,,52,103',
99
+ ',104,,,,35,36,102,,103,,104,,,,,,102,80,,,,37,77,,,46,102,80,,32,101',
100
+ '37,77,31,,46,100,80,,32,101,37,77,31,52,46,100,,,32,101,35,36,31,52',
101
+ '103,100,104,,,,35,36,,52,103,161,104,,,,35,36,102,,103,,104,,,,,,102',
102
+ '80,,,,37,77,,,46,102,80,,32,101,37,77,31,,46,100,80,,32,101,37,77,31',
103
+ '52,46,100,,,32,101,35,36,31,52,103,100,104,,,,35,36,,52,,,,,,,35,36',
104
+ '102,,,,234,,,,35,36,,80,103,,,37,77,,,46,,80,,32,101,37,231,31,,46,100',
105
+ '80,,32,,37,231,31,52,46,,80,,32,,37,231,31,52,46,35,36,,32,103,,104',
106
+ '31,52,,35,36,,,103,,104,,52,,35,36,102,,,,,,,,,,102,80,,,,37,77,,,46',
107
+ ',80,,32,101,37,77,31,,46,100,80,,32,101,37,231,31,52,46,100,,,32,,35',
108
+ '36,31,52,103,,104,,,,,,,52,,,,35,36,,,103,102,104,,,,,,,,,,80,,,,37',
109
+ '77,102,260,46,,35,36,32,101,103,,31,80,,100,,37,77,,,46,,52,,32,101',
110
+ '35,36,31,,103,100,104,,,,,,80,52,,,37,77,,,46,,102,,32,,210,,31,,,,',
111
+ '80,211,,,37,77,52,,46,,,,32,101,215,210,31,,,100,,,,211,213,212,214',
112
+ '52,203,204,206,205,208,209,,201,202,210,,,,,200,,207,211,217,216,,,203',
113
+ '204,206,205,208,209,,201,202,215,210,,,,200,,207,,211,213,212,214,203',
114
+ '204,206,205,208,209,,201,202,,210,,,,200,,207,,211,217,216,,,203,204',
115
+ '206,205,208,209,,201,202,215,210,,,,200,,207,,211,213,212,214,203,204',
116
+ '206,205,208,209,,201,202,,,,,,200,,207,,,217,216,,,203,204,206,205,208',
117
+ '209,,201,202,215,210,,,,200,,207,,211,213,212,214,203,204,206,205,208',
118
+ '209,,201,202,,,,,,200,,207,,,217,216,,,203,204,206,205,208,209,,201',
119
+ '202,215,210,,,,200,,207,301,211,213,212,214,,,,,215,210,,,,,,,,211,213',
120
+ '212,214,,,217,216,,,203,204,206,205,208,209,,201,202,,,,,,200,,207,203',
121
+ '204,206,205,208,209,,201,202,215,210,,,,200,,207,,211,213,212,214,,',
122
+ ',,,,,,215,210,,,,,,,,211,213,212,214,,,203,204,206,205,208,209,,201',
123
+ '202,,,,,,200,,207,217,216,,,203,204,206,205,208,209,,201,202,215,210',
124
+ ',,,200,,207,,211,213,212,214,,,,,,,,,,,,,,,,,,,,,216,,,203,204,206,205',
125
+ '208,209,,201,202,215,210,,,,200,,207,,211,213,212,214,,,,,,,,,,,,,,',
126
+ ',,,,,217,216,,,203,204,206,205,208,209,,201,202,215,210,,,,200,,207',
127
+ ',211,213,212,214,,,,,215,210,,,,,,,,211,213,212,214,,,217,216,,,203',
128
+ '204,206,205,208,209,,201,202,,,,,,200,,207,203,204,206,205,208,209,',
129
+ '201,202,215,210,,,,200,,207,,211,213,212,214,,,,,,,,,,,,,,,,,,,,217',
130
+ '216,,,203,204,206,205,208,209,,201,202,215,210,,,,200,,207,,211,213',
131
+ '212,214,,,,,,,,,,,,,,,,,,,,217,216,,,203,204,206,205,208,209,,201,202',
132
+ ',,,,,200,,207,137,135,139,134,136,,132,140,141,148,179,,131,133,,,,',
133
+ ',142,130,143,137,135,139,134,136,,132,140,141,148,146,,131,133,,138',
134
+ '144,,,142,130,143,137,135,139,134,136,,132,140,141,148,146,,131,133',
135
+ ',138,144,,,142,130,143,137,135,139,134,136,,132,140,141,148,179,,131',
136
+ '133,,138,144,,,142,130,143,137,135,139,134,136,,132,140,141,148,179',
137
+ ',131,133,,138,144,,,142,130,143,137,135,139,134,136,,132,140,141,148',
138
+ '146,,131,133,,138,144,,,142,130,143,,,,,,,,,,,,,,,,138,144' ]
139
+ racc_action_table = arr = ::Array.new(2588, nil)
132
140
  idx = 0
133
141
  clist.each do |str|
134
142
  str.split(',', -1).each do |i|
@@ -138,109 +146,113 @@ clist = [
138
146
  end
139
147
 
140
148
  clist = [
141
- '0,0,88,88,71,75,320,23,156,23,95,156,177,12,320,88,88,12,227,227,177',
142
- '71,23,75,88,88,88,88,0,174,0,0,227,0,0,95,0,0,0,307,0,0,0,229,229,0',
143
- '23,88,88,0,229,88,88,88,88,88,88,237,88,88,0,230,230,210,236,88,0,174',
144
- '279,279,174,229,294,229,229,317,229,229,317,229,229,229,279,229,229',
145
- '229,390,390,229,174,210,210,229,390,230,235,294,294,230,230,78,78,230',
146
- '229,309,309,230,78,309,229,230,286,243,233,390,286,390,390,286,390,390',
147
- '230,390,390,390,243,390,390,390,388,388,390,129,232,129,390,388,309',
148
- '78,14,179,309,309,226,173,309,390,14,222,309,129,179,390,309,281,281',
149
- '179,388,219,388,388,281,388,388,309,388,388,388,215,388,388,388,380',
150
- '380,388,106,153,231,388,380,153,153,173,212,10,173,106,231,231,388,198',
151
- '106,281,10,10,388,231,231,231,231,380,21,380,380,173,380,380,22,380',
152
- '380,380,22,380,380,380,269,269,380,22,231,231,380,193,231,231,231,231',
153
- '231,231,270,231,231,380,361,361,273,273,231,380,21,273,273,21,269,175',
154
- '269,269,273,269,269,166,269,269,269,315,269,269,269,147,147,269,21,275',
155
- '1,269,147,361,1,102,298,361,361,311,311,361,269,254,254,361,102,298',
156
- '269,361,254,102,298,147,364,147,147,364,147,147,361,147,147,147,158',
157
- '147,147,147,121,121,147,242,121,144,147,140,315,315,315,315,123,257',
158
- '257,257,257,147,370,370,257,257,184,147,285,184,184,257,121,121,121',
159
- '121,121,121,121,121,121,121,121,122,121,121,118,291,291,121,110,121',
160
- '121,121,291,370,272,272,104,370,370,272,272,370,121,223,223,370,272',
161
- '121,121,370,255,255,100,291,92,291,291,255,291,291,370,291,291,291,301',
162
- '291,291,291,26,26,291,87,303,228,291,82,223,228,228,81,223,223,238,79',
163
- '223,291,225,225,223,187,225,291,223,187,187,77,26,251,26,26,313,26,26',
164
- '223,26,26,26,314,26,26,26,342,342,26,74,316,280,26,342,225,280,280,250',
165
- '225,225,73,69,225,26,324,67,225,64,327,26,225,328,55,332,342,333,342',
166
- '342,50,342,342,225,342,342,342,48,342,342,342,248,248,342,249,346,45',
167
- '342,248,36,352,35,35,30,28,35,360,35,342,4,4,4,4,24,342,5,5,5,5,248',
168
- '362,248,248,35,248,248,239,248,248,248,20,248,248,248,35,367,248,247',
169
- '35,35,248,371,35,8,8,374,35,8,246,8,35,248,244,58,58,240,2,248,393,395',
170
- ',35,,40,40,8,,40,,40,11,11,11,11,,,8,,,,8,8,,,8,40,58,58,8,8,58,58,8',
171
- '58,58,8,40,,58,,40,40,58,8,40,,,,40,40,44,44,40,58,44,40,44,,,,283,283',
172
- ',40,283,,283,,,,167,167,44,,167,,167,47,47,47,47,,283,44,,,,44,44,,',
173
- '44,167,283,,44,44,283,283,44,,283,44,167,,283,283,167,167,283,44,167',
174
- '283,,,167,167,330,330,167,283,330,167,330,,165,258,258,258,258,167,',
175
- ',258,258,165,165,,,330,258,,,,165,165,165,165,,,330,,,,330,330,,,330',
176
- ',325,325,330,330,325,,330,165,165,330,,165,165,165,165,165,165,330,165',
177
- '165,65,65,,,65,165,65,,,,276,276,,325,276,,276,325,325,,,325,65,,,325',
178
- ',,,325,,,276,65,,,,65,65,,325,65,,276,,65,65,276,276,65,,276,65,,,276',
179
- '276,13,13,276,65,13,276,13,,,,155,155,,276,155,,155,16,16,16,16,,13',
180
- ',,,,,,,,,155,13,,,,13,13,,,13,,155,,13,13,155,155,13,,155,13,,,155,155',
181
- '154,154,155,13,154,155,154,,,,72,72,,155,72,72,72,,,,318,318,154,154',
182
- ',,,318,,,,,72,154,,,,154,154,,,154,,72,,154,154,72,72,154,,72,154,318',
183
- ',72,72,318,318,72,154,318,72,,,318,,149,149,318,72,149,,149,,,,148,148',
184
- ',318,148,,148,,,,146,146,149,,146,,146,,,,,,148,149,,,,149,149,,,149',
185
- '146,148,,149,149,148,148,149,,148,149,146,,148,148,146,146,148,149,146',
186
- '148,,,146,146,308,308,146,148,308,146,308,,,,145,145,,146,145,,145,',
187
- ',,304,304,308,,304,,304,,,,,,145,308,,,,308,308,,,308,304,145,,308,308',
188
- '145,145,308,,145,308,304,,145,145,304,304,145,308,304,145,,,304,304',
189
- '83,83,304,145,83,304,83,,,,84,84,,304,84,,84,,,,85,85,83,,85,,85,,,',
190
- ',,84,83,,,,83,83,,,83,85,84,,83,83,84,84,83,,84,83,85,,84,84,85,85,84',
191
- '83,85,84,,,85,85,86,86,85,84,86,85,86,,,,143,143,,85,143,,143,,,,366',
192
- '366,86,,366,,366,,,,,,143,86,,,,86,86,,,86,366,143,,86,86,143,143,86',
193
- ',143,86,366,,143,143,366,366,143,86,366,143,,,366,366,90,90,366,143',
194
- '90,366,90,,,,91,91,,366,,,,,,,142,142,90,,142,,142,,,,,,,90,,,,90,90',
195
- ',,90,142,91,91,90,90,91,91,90,91,91,90,142,,91,,142,142,91,90,142,,',
196
- ',142,142,141,141,142,91,141,142,141,,,,139,139,,142,139,,139,,,,138',
197
- '138,141,,138,,138,,,,,,139,141,,,,141,141,,,141,138,139,,141,141,139',
198
- '139,141,,139,141,138,,139,139,138,138,139,141,138,139,,,138,138,103',
199
- '103,138,139,103,138,103,,,,293,293,,138,293,,293,,,,137,137,103,,137',
200
- ',137,,,,,,293,103,,,,103,103,,,103,137,293,,103,103,293,293,103,,293',
201
- '103,137,,293,293,137,137,293,103,137,293,,,137,137,136,136,137,293,136',
202
- '137,136,,,,135,135,,137,135,,135,,,,109,109,136,,,,109,,,,,,135,136',
203
- ',,,136,136,,,136,,135,,136,136,135,135,136,,135,136,109,,135,135,109',
204
- '109,135,136,109,135,,,109,,292,292,109,135,292,,292,,,,,,,109,,,,112',
205
- '112,,,112,292,112,,,,,,,,,,292,,,,292,292,112,112,292,,,,292,292,,,292',
206
- '112,,292,,112,112,,,112,,292,,112,112,,,112,113,113,112,,113,113,113',
207
- ',,,112,,,,,,,134,134,,,134,113,134,,,,,,,,,,113,,,,113,113,134,,113',
208
- ',,,113,113,,,113,134,,113,,134,134,,,134,,113,,134,134,133,133,134,',
209
- '133,134,133,,,,117,117,,134,117,,117,,,,132,132,133,,132,,132,,,,,,117',
210
- '133,,,,133,133,,,133,132,117,,133,133,117,117,133,,117,133,132,,117',
211
- '117,132,132,117,133,132,117,,,132,132,68,68,132,117,68,132,68,,,116',
212
- ',,,132,,,,,116,116,,,68,,,,,116,116,116,116,,,68,,,,68,68,,,68,,,,68',
213
- '68,,,68,116,116,68,,116,116,116,116,116,116,68,116,116,66,,,,,116,,',
214
- ',66,66,,,,,114,,,66,66,66,66,,,114,114,,,,,,,,114,114,114,114,,,,,66',
215
- '66,,,66,66,66,66,66,66,,66,66,,,114,114,,66,114,114,114,114,114,114',
216
- ',114,114,170,170,,,,114,,,,170,170,170,170,,,131,131,,,,,,,131,131,131',
217
- '131,131,,,,,170,170,,,170,170,170,170,170,170,,170,170,,,131,131,,170',
218
- '131,131,131,131,131,131,,131,131,260,260,,,,131,,,,260,260,260,260,',
219
- ',355,355,,,,,,,,355,355,355,355,,,,,,260,,,260,260,260,260,260,260,',
220
- '260,260,,,355,355,,260,355,355,355,355,355,355,,355,355,358,358,,,,355',
221
- ',,,358,358,358,358,,,349,349,,,,,,,,349,349,349,349,,,,,358,358,,,358',
222
- '358,358,358,358,358,,358,358,,,,,,358,349,349,349,349,349,349,,349,349',
223
- '348,348,,,,349,,,,348,348,348,348,,,341,341,,,,,,,,341,341,341,341,',
224
- ',,,,,,,348,348,348,348,348,348,,348,348,,,341,341,,348,341,341,341,341',
225
- '341,341,,341,341,336,336,,,,341,,,,336,336,336,336,,,164,164,,,,,,,',
226
- '164,164,164,164,,,,,336,336,,,336,336,336,336,336,336,,336,336,,,164',
227
- '164,,336,164,164,164,164,164,164,,164,164,163,163,,,,164,,,,163,163',
228
- '163,163,,,377,377,,,,,,,,377,377,377,377,,,,,163,163,,,163,163,163,163',
229
- '163,163,,163,163,,,377,377,,163,377,377,377,377,377,377,,377,377,151',
230
- '151,,,,377,,,,151,151,151,151,,,263,263,,,,,,,,263,263,263,263,,,,,151',
231
- '151,265,,151,151,151,151,151,151,265,151,151,,,,,264,151,263,263,263',
232
- '263,263,263,264,263,263,,,,,,263,,267,,265,265,265,265,265,265,267,265',
233
- '265,,,,,261,265,264,264,264,264,264,264,261,264,264,,,,,,264,,,,267',
234
- '267,267,267,267,267,,267,267,,,,,,267,261,261,261,261,261,261,,261,261',
235
- '107,107,107,107,107,261,107,107,107,107,107,,107,107,,,,,,107,107,107',
236
- '306,306,306,306,306,,306,306,306,306,306,,306,306,,107,107,,,306,306',
237
- '306,105,105,105,105,105,,105,105,105,105,105,,105,105,,306,306,,,105',
238
- '105,105,302,302,302,302,302,,302,302,302,302,302,,302,302,,105,105,',
239
- ',302,302,302,326,326,326,326,326,,326,326,326,326,326,,326,326,,302',
240
- '302,,,326,326,326,188,188,188,188,188,,188,188,188,188,188,,188,188',
241
- ',326,326,,,188,188,188,259,259,259,259,259,259,,259,259,,,,,,259,188',
242
- '188,268,268,268,268,268,268,,268,268,,,,,,268' ]
243
- racc_action_check = arr = ::Array.new(2419, nil)
149
+ '0,0,97,97,115,77,262,28,168,28,186,354,313,345,354,97,97,128,186,128',
150
+ '313,168,28,77,97,97,97,97,0,115,0,0,178,0,0,128,0,0,0,177,0,0,0,391',
151
+ '391,0,28,97,97,0,391,97,97,97,97,97,97,254,97,97,0,262,262,262,262,97',
152
+ '0,97,304,304,191,391,68,391,391,304,391,391,49,391,391,391,49,391,391',
153
+ '391,2,2,391,68,33,153,391,259,259,315,315,191,191,33,33,153,153,391',
154
+ '154,154,304,259,175,391,153,153,153,153,2,263,2,2,154,2,2,264,2,2,2',
155
+ '275,2,2,2,229,229,2,173,153,153,2,229,153,153,153,153,153,153,266,153',
156
+ '153,2,104,104,275,275,153,2,153,104,222,171,229,222,229,229,170,229',
157
+ '229,84,229,229,229,34,229,229,229,383,383,229,84,34,195,229,383,84,269',
158
+ '29,288,288,104,29,195,195,229,288,310,270,29,310,229,195,195,195,195',
159
+ '383,169,383,383,166,383,383,50,383,383,383,50,383,383,383,382,382,383',
160
+ '185,195,195,383,382,195,195,195,195,195,195,185,195,195,383,51,185,290',
161
+ '290,195,383,195,289,289,290,382,248,382,382,289,382,382,272,382,382',
162
+ '382,165,382,382,382,372,372,382,272,85,326,382,372,272,326,246,164,326',
163
+ '51,261,85,51,382,261,261,85,221,163,382,248,221,221,248,372,162,372',
164
+ '372,201,372,372,51,372,372,372,155,372,372,372,81,81,372,248,81,246',
165
+ '372,149,246,192,287,287,146,192,192,287,287,372,145,114,113,160,287',
166
+ '372,287,160,160,246,81,81,81,81,81,81,81,81,81,81,81,112,81,81,306,306',
167
+ '87,81,83,81,81,81,181,80,79,181,181,292,292,292,292,76,81,75,292,292',
168
+ '73,81,81,71,307,292,306,292,306,306,309,306,306,249,306,306,306,69,306',
169
+ '306,306,319,319,306,67,202,66,306,319,291,291,291,291,64,320,321,291',
170
+ '291,306,55,55,323,324,291,306,291,53,245,244,319,48,319,319,41,319,319',
171
+ '343,319,319,319,255,319,319,319,327,327,319,30,27,25,319,327,55,55,243',
172
+ '23,55,55,357,55,55,319,60,60,55,360,22,319,55,362,21,364,327,366,327',
173
+ '327,369,327,327,55,327,327,327,370,327,327,327,228,228,327,241,240,376',
174
+ '327,228,60,60,235,225,60,60,231,60,60,327,1,394,60,396,,327,60,,,,228',
175
+ ',228,228,,228,228,60,228,228,228,,228,228,228,108,,228,,,,228,,,108',
176
+ '108,20,20,20,20,,,228,108,108,108,108,,228,294,294,294,294,294,294,',
177
+ '294,294,19,19,19,19,,294,,294,108,108,296,,108,108,108,108,108,108,296',
178
+ '108,108,105,5,5,5,5,108,,108,,105,105,9,9,9,9,,,,105,105,105,105,,,296',
179
+ '296,296,296,296,296,,296,296,7,7,7,7,,296,,296,105,105,,,105,105,105',
180
+ '105,105,105,,105,105,107,,,,,105,,105,,107,107,286,286,,,,286,286,107',
181
+ '107,107,107,,286,,286,,,,204,204,,,204,,204,,,,,,107,107,,,107,107,107',
182
+ '107,107,107,204,107,107,36,36,,,36,107,36,107,204,,,,204,204,,,204,',
183
+ ',,204,204,36,,204,38,38,204,,38,,38,,36,,204,,36,36,,,36,,,,36,36,38',
184
+ ',36,39,39,36,,39,,39,,38,,36,,38,38,,,38,,,,38,38,39,,38,40,40,38,,40',
185
+ ',40,,39,,38,,39,39,,,39,,,,39,39,40,,39,214,214,39,,214,,214,,40,,39',
186
+ ',40,40,,,40,,,,40,40,214,,40,213,213,40,,213,,213,,214,,40,,214,214',
187
+ ',,214,,,,214,214,213,,214,212,212,214,,212,,212,,213,,214,,213,213,',
188
+ ',213,,,,213,213,212,,213,211,211,213,,211,,211,,212,,213,,212,212,,',
189
+ '212,,,,212,212,211,,212,210,210,212,,210,,210,,211,,212,,211,211,,,211',
190
+ ',,,211,211,210,,211,209,209,211,,209,,209,,210,,211,,210,210,,,210,',
191
+ ',,210,210,209,,210,356,356,210,,356,,356,,209,,210,,209,209,,,209,,',
192
+ ',209,209,356,,209,63,63,209,,63,,63,,356,,209,,356,356,,,356,361,361',
193
+ ',356,356,63,63,356,,,356,,,317,317,,63,317,356,,63,63,,,63,,,,63,63',
194
+ '208,208,63,361,208,63,208,361,361,,,361,,63,,361,317,,,361,317,317,208',
195
+ ',317,207,207,,317,207,361,207,317,208,,311,311,208,208,,,208,311,317',
196
+ ',208,208,207,,208,,,208,363,363,,,,207,,208,,207,207,,,207,,311,,207',
197
+ '207,311,311,207,,311,207,,,311,,,,311,207,363,,,,363,363,,,363,311,',
198
+ ',363,305,305,,363,305,,305,,,,,,,,363,,,206,206,,,206,305,206,,,,,,',
199
+ ',,,305,,,,305,305,206,,305,,,,305,305,,,305,206,,305,,206,206,,,206',
200
+ ',305,,206,206,205,205,206,,205,206,205,,,,215,215,,206,215,,215,,,,78',
201
+ '78,205,,78,78,78,,,,,,215,205,,,,205,205,,,205,78,215,,205,205,215,215',
202
+ '205,,215,205,78,,215,215,78,78,215,205,78,215,,,78,78,203,203,78,215',
203
+ '203,78,203,,,,371,371,,78,371,,371,,,,200,200,203,,200,,200,,,,,,371',
204
+ '203,,,,203,203,,,203,200,371,,203,203,371,371,203,,371,203,200,,371',
205
+ '371,200,200,371,203,200,371,,,200,200,199,199,200,371,199,200,199,,',
206
+ ',26,26,,200,26,,26,,,,251,251,199,,251,,251,,,,,,26,199,,,,199,199,',
207
+ ',199,251,26,,199,199,26,26,199,,26,199,251,,26,,251,251,26,199,251,',
208
+ ',,251,251,86,86,251,26,86,251,86,,,,252,252,,251,252,,252,,,,92,92,86',
209
+ ',92,,92,,,,,,252,86,,,,86,86,,,86,92,252,,86,86,252,252,86,,252,86,92',
210
+ ',252,252,92,92,252,86,92,252,,,92,92,93,93,92,252,93,92,93,,,,94,94',
211
+ ',92,94,,94,,,,95,95,93,,95,,95,,,,,,94,93,,,,93,93,,,93,95,94,,93,93',
212
+ '94,94,93,,94,93,95,,94,94,95,95,94,93,95,94,,,95,95,216,216,95,94,216',
213
+ '95,216,,,,100,100,,95,100,,100,,,,101,101,216,,101,,101,,,,,,100,216',
214
+ ',,,216,216,,,216,101,100,,216,216,100,100,216,,100,216,101,,100,100',
215
+ '101,101,100,216,101,100,,,101,101,102,102,101,100,102,101,102,,,,103',
216
+ '103,,101,103,103,103,,,,256,256,102,,256,,256,,,,,,103,102,,,,102,102',
217
+ ',,102,256,103,,102,102,103,103,102,,103,102,256,,103,103,256,256,103',
218
+ '102,256,103,,,256,256,217,217,256,103,217,256,217,,,,234,234,,256,,',
219
+ ',,,,109,109,217,,,,109,,,,265,265,,217,265,,,217,217,,,217,,234,,217',
220
+ '217,234,234,217,,234,217,109,,234,,109,109,234,217,109,,265,,109,,265',
221
+ '265,109,234,265,276,276,,265,276,,276,265,109,,277,277,,,277,,277,,265',
222
+ ',230,230,276,,,,,,,,,,277,276,,,,276,276,,,276,,277,,276,276,277,277',
223
+ '276,,277,276,230,,277,277,230,230,277,276,230,277,,,230,,159,159,230',
224
+ '277,159,,159,,,,,,,230,,,,158,158,,,158,159,158,,,,,,,,,,159,,,,159',
225
+ '159,158,158,159,,157,157,159,159,157,,159,158,,159,,158,158,,,158,,159',
226
+ ',158,158,62,62,158,,62,158,62,,,,,,157,158,,,157,157,,,157,,62,,157',
227
+ ',298,,157,,,,,62,298,,,62,62,157,,62,,,,62,62,335,335,62,,,62,,,,335',
228
+ '335,335,335,62,298,298,298,298,298,298,,298,298,295,,,,,298,,298,295',
229
+ '335,335,,,335,335,335,335,335,335,,335,335,390,390,,,,335,,335,,390',
230
+ '390,390,390,295,295,295,295,295,295,,295,295,,297,,,,295,,295,,297,390',
231
+ '390,,,390,390,390,390,390,390,,390,390,156,156,,,,390,,390,,156,156',
232
+ '156,156,297,297,297,297,297,297,,297,297,,,,,,297,,297,,,156,156,,,156',
233
+ '156,156,156,156,156,,156,156,194,194,,,,156,,156,,194,194,194,194,293',
234
+ '293,293,293,293,293,,293,293,,,,,,293,,293,,,194,194,,,194,194,194,194',
235
+ '194,194,,194,194,220,220,,,,194,,194,220,220,220,220,220,,,,,348,348',
236
+ ',,,,,,,348,348,348,348,,,220,220,,,220,220,220,220,220,220,,220,220',
237
+ ',,,,,220,,220,348,348,348,348,348,348,,348,348,349,349,,,,348,,348,',
238
+ '349,349,349,349,,,,,,,,,333,333,,,,,,,,333,333,333,333,,,349,349,349',
239
+ '349,349,349,,349,349,,,,,,349,,349,333,333,,,333,333,333,333,333,333',
240
+ ',333,333,300,300,,,,333,,333,,300,300,300,300,,,,,,,,,,,,,,,,,,,,,300',
241
+ ',,300,300,300,300,300,300,,300,300,352,352,,,,300,,300,,352,352,352',
242
+ '352,,,,,,,,,,,,,,,,,,,,352,352,,,352,352,352,352,352,352,,352,352,196',
243
+ '196,,,,352,,352,,196,196,196,196,,,,,299,299,,,,,,,,299,299,299,299',
244
+ ',,196,196,,,196,196,196,196,196,196,,196,196,,,,,,196,,196,299,299,299',
245
+ '299,299,299,,299,299,193,193,,,,299,,299,,193,193,193,193,,,,,,,,,,',
246
+ ',,,,,,,,,193,193,,,193,193,193,193,193,193,,193,193,332,332,,,,193,',
247
+ '193,,332,332,332,332,,,,,,,,,,,,,,,,,,,,332,332,,,332,332,332,332,332',
248
+ '332,,332,332,,,,,,332,,332,268,268,268,268,268,,268,268,268,268,268',
249
+ ',268,268,,,,,,268,268,268,180,180,180,180,180,,180,180,180,180,180,',
250
+ '180,180,,268,268,,,180,180,180,61,61,61,61,61,,61,61,61,61,61,,61,61',
251
+ ',180,180,,,61,61,61,267,267,267,267,267,,267,267,267,267,267,,267,267',
252
+ ',61,61,,,267,267,267,82,82,82,82,82,,82,82,82,82,82,,82,82,,267,267',
253
+ ',,82,82,82,250,250,250,250,250,,250,250,250,250,250,,250,250,,82,82',
254
+ ',,250,250,250,,,,,,,,,,,,,,,,250,250' ]
255
+ racc_action_check = arr = ::Array.new(2588, nil)
244
256
  idx = 0
245
257
  clist.each do |str|
246
258
  str.split(',', -1).each do |i|
@@ -250,328 +262,338 @@ clist = [
250
262
  end
251
263
 
252
264
  racc_action_pointer = [
253
- -2, 227, 494, nil, 428, 434, nil, nil, 523, nil,
254
- 178, 489, -23, 777, 124, nil, 733, nil, nil, nil,
255
- 512, 199, 171, 1, 487, nil, 385, nil, 463, nil,
256
- 462, nil, nil, nil, nil, 481, 458, nil, nil, nil,
257
- 543, nil, nil, nil, 590, 472, nil, 556, 467, nil,
258
- 454, nil, nil, nil, nil, 432, nil, nil, 533, nil,
259
- nil, nil, nil, nil, 445, 720, 1692, 426, 1635, 422,
260
- nil, -2, 844, 421, 410, -1, nil, 391, 98, 379,
261
- nil, 375, 388, 1035, 1045, 1055, 1102, 366, -2, nil,
262
- 1169, 1179, 373, nil, nil, -2, nil, nil, nil, nil,
263
- 363, nil, 244, 1303, 347, 2269, 151, 2225, nil, 1390,
264
- 335, nil, 1454, 1504, 1707, nil, 1638, 1578, 331, nil,
265
- nil, 299, 332, 278, nil, nil, nil, nil, nil, 126,
266
- nil, 1767, 1588, 1568, 1521, 1380, 1370, 1323, 1256, 1246,
267
- 246, 1236, 1189, 1112, 244, 978, 921, 256, 911, 901,
268
- nil, 2112, nil, 169, 834, 787, -1, nil, 286, nil,
269
- nil, nil, nil, 2052, 2007, 660, 213, 610, nil, nil,
270
- 1752, nil, nil, 142, 27, 236, nil, -6, nil, 116,
271
- nil, nil, nil, nil, 277, nil, nil, 401, 2335, nil,
272
- nil, nil, nil, 210, nil, nil, nil, nil, 179, nil,
265
+ -2, 490, 84, nil, nil, 507, nil, 539, nil, 517,
266
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 485,
267
+ 463, 447, 428, 417, nil, 428, 1304, 425, 1, 146,
268
+ 388, nil, nil, 84, 153, nil, 675, nil, 700, 725,
269
+ 750, 395, nil, nil, nil, nil, nil, nil, 413, 42,
270
+ 171, 231, nil, 411, nil, 402, nil, nil, nil, nil,
271
+ 445, 2453, 1832, 950, 386, nil, 368, 366, 66, 359,
272
+ nil, 345, nil, 359, nil, 339, 337, -1, 1180, 330,
273
+ 346, 299, 2497, 339, 140, 238, 1361, 337, nil, nil,
274
+ nil, nil, 1381, 1428, 1438, 1448, nil, -2, nil, nil,
275
+ 1505, 1515, 1562, 1572, 145, 561, nil, 615, 507, 1649,
276
+ nil, nil, 328, 297, 296, -8, nil, nil, nil, nil,
277
+ nil, nil, nil, nil, nil, nil, nil, nil, 11, nil,
273
278
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
274
- 41, nil, 171, nil, nil, 116, nil, nil, nil, 147,
275
- nil, nil, 124, 360, nil, 403, 120, 7, 385, 41,
276
- 59, 170, 131, 72, nil, 75, 52, 34, 378, 485,
277
- 514, nil, 281, 101, 511, nil, 524, 496, 471, 461,
278
- 416, 404, nil, nil, 216, 309, nil, 261, 615, 2334,
279
- 1812, 2193, nil, 2127, 2160, 2145, nil, 2178, 2351, 213,
280
- 220, nil, 298, 180, nil, 255, 730, nil, nil, 57,
281
- 428, 152, nil, 600, nil, 317, 75, nil, nil, nil,
282
- nil, 342, 1437, 1313, 47, nil, nil, nil, 245, nil,
283
- nil, 371, 2291, 382, 988, nil, 2247, 30, 968, 102,
284
- nil, 261, nil, 394, 403, 246, 425, 44, 854, nil,
285
- -6, nil, nil, nil, 439, 700, 2313, 443, 446, nil,
286
- 657, nil, 422, 434, nil, nil, 1992, nil, nil, nil,
287
- nil, 1947, 428, nil, nil, nil, 468, nil, 1932, 1887,
288
- nil, nil, 473, nil, nil, 1827, nil, nil, 1872, nil,
289
- 479, 231, 493, nil, 256, nil, 1122, 509, nil, nil,
290
- 317, 515, nil, nil, 515, nil, nil, 2067, nil, nil,
291
- 170, nil, nil, nil, nil, nil, nil, nil, 127, nil,
292
- 84, nil, nil, 531, nil, 532, nil, nil, nil ]
279
+ nil, nil, nil, nil, nil, 307, 261, nil, nil, 297,
280
+ nil, nil, nil, 84, 93, 274, 1954, 1811, 1785, 1768,
281
+ 315, nil, 264, 257, 228, 242, 184, nil, -3, 178,
282
+ 138, 133, nil, 109, nil, 102, nil, 16, 20, nil,
283
+ 2431, 305, nil, nil, nil, 194, -8, nil, nil, nil,
284
+ nil, 48, 303, 2324, 1999, 170, 2262, nil, nil, 1294,
285
+ 1247, 228, 328, 1227, 650, 1160, 1113, 1022, 997, 900,
286
+ 875, 850, 825, 800, 775, 1170, 1495, 1629, nil, nil,
287
+ 2044, 272, 146, nil, nil, 472, nil, nil, 470, 127,
288
+ 1721, 462, nil, nil, 1639, 471, nil, nil, nil, nil,
289
+ 474, 467, nil, 404, 376, 404, 266, nil, 242, 369,
290
+ 2519, 1314, 1371, nil, 34, 400, 1582, nil, nil, 82,
291
+ nil, 265, -2, 108, 112, 1659, 134, 2475, 2409, 172,
292
+ 180, nil, 226, nil, nil, 100, 1701, 1711, nil, nil,
293
+ nil, nil, nil, nil, nil, nil, 579, 256, 123, 180,
294
+ 175, 341, 303, 1976, 486, 1886, 540, 1931, 1842, 2279,
295
+ 2172, nil, nil, nil, 66, 1096, 341, 360, nil, 366,
296
+ 160, 1032, nil, 0, nil, 84, nil, 980, nil, 384,
297
+ 374, 388, nil, 391, 399, nil, 227, 427, nil, nil,
298
+ nil, nil, 2369, 2127, nil, 1864, nil, nil, nil, nil,
299
+ nil, nil, nil, 409, nil, 4, nil, nil, 2061, 2106,
300
+ nil, nil, 2217, nil, -20, nil, 925, 435, nil, nil,
301
+ 442, 967, 445, 1050, 447, nil, 449, nil, nil, 436,
302
+ 433, 1237, 256, nil, nil, nil, 468, nil, nil, nil,
303
+ nil, nil, 213, 170, nil, nil, nil, nil, nil, nil,
304
+ 1909, 41, nil, nil, 482, nil, 484, nil, nil, nil,
305
+ nil ]
293
306
 
294
307
  racc_action_default = [
295
- -205, -240, -74, -19, -8, -20, -9, -185, -240, -124,
296
- -220, -10, -197, -240, -238, -98, -240, -11, -176, -12,
297
- -240, -240, -240, -177, -39, -13, -1, -181, -240, -129,
298
- -41, -14, -2, -228, -96, -97, -42, -15, -3, -180,
299
- -240, -43, -16, -182, -240, -45, -17, -6, -240, -184,
300
- -240, -18, -7, -197, -196, -205, -75, -49, -240, -46,
301
- -47, -48, -142, -141, -220, -240, -240, -238, -240, -59,
302
- -66, -60, -240, -63, -61, -97, -64, -58, -240, -67,
303
- -62, -68, -65, -240, -240, -240, -240, -205, -240, -125,
304
- -240, -240, -240, -204, -202, -205, -198, -200, -201, -203,
305
- -240, -73, -205, -240, -77, -109, -205, -119, -4, -240,
306
- -53, -54, -240, -240, -240, -134, -240, -240, -189, -186,
307
- -187, -109, -240, -206, -207, -40, -44, -37, -39, -97,
308
- -38, -240, -240, -240, -240, -240, -240, -240, -240, -240,
309
- -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
310
- -159, -56, -223, -240, -240, -240, -240, -232, -240, -236,
311
- -235, -231, -152, -106, -108, -240, -205, -240, -127, -126,
312
- -107, -36, 399, -240, -240, -240, -214, -240, -220, -205,
313
- -90, -89, -80, -97, -240, -81, -83, -240, -119, -25,
314
- -29, -27, -113, -226, -35, -23, -110, -31, -240, -33,
315
- -32, -114, -21, -112, -34, -28, -26, -22, -30, -24,
316
- -240, -117, -226, -118, -120, -112, -183, -177, -179, -240,
317
- -178, -170, -97, -240, -171, -240, -52, -240, -240, -240,
318
- -240, -240, -240, -94, -92, -240, -226, -100, -101, -114,
319
- -103, -104, -99, -97, -34, -102, -105, -24, -240, -213,
320
- -240, -226, -210, -162, -149, -148, -143, -150, -151, -154,
321
- -161, -156, -144, -160, -158, -155, -145, -157, -153, -5,
322
- -240, -133, -146, -147, -224, -225, -240, -221, -123, -240,
323
- -240, -240, -229, -240, -237, -240, -240, -216, -128, -199,
324
- -215, -240, -240, -240, -240, -78, -86, -85, -240, -225,
325
- -131, -226, -227, -240, -240, -79, -227, -240, -240, -240,
326
- -173, -226, -55, -225, -50, -221, -240, -137, -240, -164,
327
- -240, -168, -239, -188, -240, -95, -109, -240, -240, -191,
328
- -240, -208, -227, -240, -132, -222, -57, -122, -130, -233,
329
- -230, -234, -240, -219, -218, -217, -240, -195, -87, -88,
330
- -84, -82, -240, -111, -71, -115, -121, -72, -116, -175,
331
- -225, -240, -240, -51, -137, -136, -240, -240, -165, -163,
332
- -240, -240, -69, -93, -226, -70, -190, -212, -211, -209,
333
- -240, -193, -194, -76, -174, -172, -135, -138, -240, -169,
334
- -240, -91, -192, -240, -140, -240, -167, -139, -166 ]
308
+ -206, -241, -1, -2, -3, -6, -7, -8, -9, -10,
309
+ -11, -12, -13, -14, -15, -16, -17, -18, -19, -20,
310
+ -241, -39, -41, -42, -43, -45, -97, -241, -178, -241,
311
+ -74, -96, -98, -221, -239, -124, -241, -129, -241, -241,
312
+ -241, -241, -177, -181, -182, -183, -185, -186, -241, -241,
313
+ -198, -241, -229, -241, -4, -241, -46, -47, -48, -49,
314
+ -241, -119, -241, -241, -53, -54, -58, -59, -60, -61,
315
+ -62, -63, -64, -65, -66, -67, -68, -97, -241, -239,
316
+ -221, -109, -109, -77, -206, -206, -241, -241, -73, -197,
317
+ -198, -75, -241, -241, -241, -241, -125, -241, -141, -142,
318
+ -241, -241, -241, -241, -241, -241, -134, -241, -241, -241,
319
+ -187, -188, -190, -206, -206, -206, -199, -201, -202, -203,
320
+ -204, -205, 401, -37, -38, -39, -40, -44, -97, -36,
321
+ -21, -22, -23, -24, -25, -26, -27, -28, -29, -30,
322
+ -31, -32, -33, -34, -35, -227, -112, -113, -114, -241,
323
+ -117, -118, -120, -241, -241, -52, -56, -241, -241, -241,
324
+ -241, -224, -24, -34, -94, -227, -241, -92, -97, -99,
325
+ -100, -101, -102, -103, -104, -105, -110, -114, -227, -112,
326
+ -119, -241, -80, -81, -83, -206, -241, -89, -90, -97,
327
+ -221, -241, -241, -106, -108, -241, -107, -126, -127, -241,
328
+ -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
329
+ -241, -241, -241, -241, -241, -241, -241, -241, -153, -160,
330
+ -241, -241, -241, -232, -233, -241, -236, -237, -241, -241,
331
+ -241, -97, -171, -172, -241, -241, -178, -179, -180, -184,
332
+ -241, -241, -208, -207, -206, -241, -241, -215, -241, -241,
333
+ -228, -241, -241, -240, -50, -226, -241, -225, -55, -241,
334
+ -123, -241, -222, -226, -241, -95, -241, -228, -109, -241,
335
+ -227, -78, -241, -85, -86, -241, -241, -241, -79, -131,
336
+ -226, -238, -128, -143, -144, -145, -146, -147, -148, -149,
337
+ -150, -151, -152, -154, -155, -156, -157, -158, -159, -161,
338
+ -162, -163, -222, -230, -241, -241, -5, -241, -133, -241,
339
+ -137, -241, -165, -241, -169, -227, -174, -241, -189, -241,
340
+ -241, -227, -211, -214, -241, -217, -241, -241, -200, -216,
341
+ -72, -121, -116, -115, -51, -57, -122, -130, -223, -69,
342
+ -93, -70, -111, -227, -71, -241, -82, -84, -87, -88,
343
+ -231, -234, -235, -132, -137, -136, -241, -241, -164, -166,
344
+ -241, -241, -241, -241, -226, -176, -241, -192, -209, -241,
345
+ -228, -241, -241, -218, -219, -220, -241, -196, -91, -76,
346
+ -135, -138, -241, -241, -170, -173, -175, -191, -210, -212,
347
+ -213, -241, -194, -195, -241, -140, -241, -168, -193, -139,
348
+ -167 ]
335
349
 
336
350
  racc_goto_table = [
337
- 23, 26, 55, 27, 115, 111, 224, 252, 234, 108,
338
- 157, 241, 120, 87, 39, 193, 219, 89, 270, 153,
339
- 184, 32, 100, 96, 210, 211, 23, 319, 303, 27,
340
- 101, 236, 93, 212, 104, 365, 125, 58, 318, 356,
341
- 39, 127, 126, 351, 14, 122, 221, 307, 91, 169,
342
- 187, 311, 324, 45, 118, 233, 285, 95, 23, 227,
343
- 228, 27, 175, 361, 290, 250, 130, 18, 251, 125,
344
- 14, 327, 39, 110, 171, 126, 124, 166, 345, 45,
345
- 156, 43, 386, 20, nil, nil, 333, nil, nil, nil,
346
- nil, 23, nil, 18, 27, nil, nil, 294, nil, 130,
347
- 316, 279, 280, nil, nil, 39, 211, 43, 124, 217,
348
- nil, 45, 27, nil, 301, 368, 176, nil, nil, 328,
349
- 310, 238, nil, 39, 27, 18, nil, nil, 41, nil,
350
- 219, 24, nil, nil, nil, 39, 352, 321, nil, 43,
351
- nil, nil, nil, nil, 45, nil, 362, 23, nil, nil,
352
- 27, 262, nil, 216, 41, 266, nil, 24, 18, nil,
353
- nil, 39, 346, nil, nil, nil, nil, nil, nil, 180,
354
- nil, 288, 43, 180, 246, 289, 18, nil, nil, nil,
355
- nil, nil, nil, nil, 93, 93, 41, 287, 237, 128,
356
- 43, 14, nil, nil, nil, 312, 323, nil, nil, nil,
357
- 45, nil, 43, nil, nil, nil, nil, nil, nil, 391,
358
- nil, nil, 373, 339, 18, 241, 378, nil, nil, 41,
359
- 353, nil, 128, 217, 211, 321, 27, nil, 43, 23,
360
- 217, nil, 27, 27, nil, nil, 374, 39, nil, nil,
361
- nil, nil, nil, 39, 39, nil, 180, nil, 23, 245,
362
- nil, 27, 108, nil, nil, nil, nil, nil, 384, 393,
363
- nil, 395, 39, nil, nil, nil, nil, 216, 219, 23,
364
- nil, nil, 27, 14, 216, 41, nil, 389, 24, 359,
365
- nil, nil, 45, 39, nil, nil, nil, 344, nil, nil,
366
- 18, 23, 14, nil, 27, nil, 18, 18, nil, nil,
367
- nil, 45, nil, nil, 43, 39, nil, nil, nil, nil,
368
- 43, 43, nil, 14, nil, 18, nil, nil, 217, nil,
369
- nil, 27, 45, nil, nil, 238, nil, nil, 27, 43,
370
- 387, nil, 39, nil, nil, 14, 18, nil, nil, 39,
371
- nil, nil, 23, 380, 45, 27, nil, nil, nil, nil,
372
- 43, nil, nil, nil, nil, nil, 39, 41, 18, nil,
373
- 24, 217, 216, 108, 27, 180, nil, nil, nil, nil,
374
- 217, nil, 43, 27, nil, 39, 41, 30, 246, 24,
375
- 23, 36, nil, 27, 39, 18, 14, nil, 23, nil,
376
- 23, 27, 237, 27, 39, 45, nil, 41, nil, 43,
377
- 24, nil, 39, 30, 39, 216, 43, 36, nil, 18,
378
- nil, nil, nil, nil, 216, nil, nil, nil, nil, 41,
379
- nil, nil, 24, 43, 14, nil, nil, nil, 18, nil,
380
- nil, nil, 14, 45, 14, 30, nil, 18, nil, 36,
381
- nil, 45, 43, 45, nil, nil, nil, 18, nil, nil,
382
- nil, 43, nil, 245, nil, 18, nil, 18, nil, 159,
383
- nil, 43, nil, nil, nil, nil, nil, nil, 30, 43,
384
- 41, 43, 36, 24, nil, nil, nil, nil, nil, 181,
385
- nil, nil, nil, 181, nil, nil, 218, nil, nil, nil,
386
- 220, nil, nil, nil, nil, nil, nil, nil, 240, nil,
387
- nil, nil, 242, nil, nil, nil, nil, 66, 41, nil,
388
- nil, 24, 88, nil, nil, nil, 41, nil, 41, 24,
389
- nil, 24, nil, nil, 30, nil, nil, nil, 36, nil,
390
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 114,
391
- nil, nil, nil, 116, nil, nil, nil, nil, nil, nil,
392
- nil, nil, nil, nil, nil, nil, 181, nil, nil, nil,
393
- nil, nil, nil, nil, 131, nil, nil, 150, nil, nil,
351
+ 28, 2, 28, 42, 224, 42, 54, 65, 106, 233,
352
+ 113, 114, 235, 121, 116, 44, 174, 44, 43, 111,
353
+ 43, 249, 167, 96, 307, 309, 3, 322, 145, 87,
354
+ 25, 88, 25, 165, 178, 176, 176, 83, 312, 355,
355
+ 123, 266, 181, 191, 311, 129, 127, 331, 126, 154,
356
+ 24, 127, 24, 126, 269, 28, 346, 124, 42, 232,
357
+ 28, 197, 124, 42, 160, 55, 60, 241, 244, 315,
358
+ 44, 264, 192, 43, 112, 44, 164, 324, 43, 115,
359
+ 245, 171, 363, 380, 170, 25, 329, 188, 188, 221,
360
+ 25, 320, 321, 64, 373, 222, 44, 1, nil, 43,
361
+ nil, nil, nil, nil, nil, 24, nil, nil, nil, 236,
362
+ 24, 175, 42, nil, nil, 366, nil, nil, 34, 359,
363
+ 34, nil, nil, 376, 44, nil, nil, 43, nil, nil,
364
+ nil, 172, nil, 314, 316, nil, nil, 235, 258, 242,
365
+ 242, 247, nil, 275, 259, 261, 345, 270, nil, nil,
366
+ nil, nil, nil, nil, 389, nil, nil, nil, nil, nil,
367
+ nil, nil, nil, 284, 285, nil, nil, nil, nil, nil,
368
+ nil, nil, nil, nil, nil, nil, nil, nil, 394, 396,
369
+ nil, nil, nil, nil, nil, nil, 282, nil, 188, nil,
370
+ nil, 362, nil, nil, nil, nil, nil, 369, nil, nil,
371
+ 174, nil, nil, nil, 351, nil, 340, nil, 121, 328,
372
+ 121, 318, nil, nil, 314, nil, nil, nil, nil, 378,
373
+ 343, 342, 176, nil, nil, nil, nil, 239, 28, 28,
374
+ 236, 42, 42, 42, 236, nil, nil, 42, nil, nil,
375
+ nil, nil, nil, 44, 44, 44, 43, 43, 43, 44,
376
+ nil, nil, 43, nil, nil, nil, nil, nil, 25, 25,
377
+ nil, nil, nil, 386, 384, 171, 235, nil, 170, nil,
378
+ 325, nil, nil, nil, nil, 188, nil, nil, 24, 24,
379
+ 44, nil, nil, 43, 23, nil, 23, 374, nil, nil,
380
+ nil, nil, nil, nil, nil, 175, nil, nil, 365, 45,
381
+ nil, 45, nil, nil, nil, nil, 28, nil, nil, 42,
382
+ 54, 236, nil, nil, 42, 172, nil, nil, nil, 28,
383
+ nil, 44, 42, nil, 43, 381, 44, 28, nil, 43,
384
+ 42, nil, nil, nil, 44, nil, 25, 43, nil, 23,
385
+ nil, nil, 44, nil, 23, 43, 34, 34, 239, 25,
386
+ nil, nil, 239, nil, 45, nil, 24, 25, nil, 45,
387
+ nil, 236, nil, 236, 42, 169, 42, nil, 22, 24,
388
+ 22, nil, 28, 391, nil, 42, 44, 24, 44, 43,
389
+ 45, 43, 28, 28, nil, 42, 42, 44, 227, nil,
390
+ 43, 28, nil, 237, 42, 54, nil, 44, 44, nil,
391
+ 43, 43, 25, 21, nil, 21, 44, nil, 45, 43,
392
+ nil, nil, 25, 25, nil, nil, nil, nil, nil, nil,
393
+ nil, 25, 24, 22, 34, nil, nil, nil, 22, 239,
394
+ nil, nil, 24, 24, nil, nil, nil, 34, nil, nil,
395
+ nil, 24, nil, nil, nil, 34, nil, nil, nil, 173,
396
+ nil, nil, 187, 187, nil, nil, nil, nil, 125, nil,
397
+ nil, nil, nil, 125, nil, nil, nil, nil, nil, nil,
398
+ nil, nil, nil, nil, nil, nil, nil, 238, nil, 239,
399
+ nil, 239, nil, nil, nil, nil, nil, nil, nil, nil,
400
+ 34, nil, nil, nil, nil, nil, nil, nil, nil, nil,
401
+ 34, 34, nil, nil, nil, nil, nil, nil, nil, 34,
402
+ nil, nil, 23, 23, 237, nil, nil, nil, 237, nil,
403
+ nil, nil, nil, nil, nil, nil, nil, 45, 45, 45,
404
+ nil, nil, nil, 45, nil, nil, nil, nil, nil, nil,
405
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 169,
406
+ nil, nil, nil, 187, nil, nil, nil, nil, nil, nil,
407
+ nil, nil, nil, nil, 45, nil, nil, nil, nil, nil,
394
408
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
395
- nil, nil, 162, 163, 164, 165, nil, nil, nil, 170,
409
+ nil, nil, nil, nil, nil, nil, nil, nil, 227, nil,
410
+ 23, nil, nil, nil, nil, 237, 22, 22, 238, nil,
411
+ nil, nil, 238, 23, nil, 45, nil, nil, nil, nil,
412
+ 45, 23, nil, nil, nil, nil, nil, nil, 45, nil,
413
+ nil, nil, nil, nil, nil, nil, 45, nil, nil, nil,
414
+ nil, 21, 21, 173, nil, 97, nil, 105, 107, 108,
415
+ 187, nil, nil, nil, nil, 237, nil, 237, nil, nil,
416
+ nil, nil, nil, nil, nil, nil, 23, nil, nil, nil,
417
+ 45, 153, 45, nil, nil, nil, 23, 23, nil, nil,
418
+ nil, 45, nil, nil, 22, 23, nil, nil, nil, 238,
419
+ nil, 45, 45, nil, nil, nil, nil, 22, nil, nil,
420
+ 45, 193, 194, 195, 196, 22, nil, nil, nil, 218,
421
+ 219, 220, nil, nil, nil, nil, nil, nil, nil, 21,
396
422
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
397
- 218, nil, nil, nil, 220, nil, 30, 218, nil, nil,
398
- 36, 220, nil, nil, nil, nil, 231, nil, nil, nil,
399
- nil, nil, nil, nil, nil, 30, nil, nil, nil, 36,
400
- nil, 254, 255, 256, 257, 258, 259, 260, 261, nil,
401
- 263, 264, 265, nil, 267, 268, 30, 272, 273, nil,
402
- 36, nil, nil, nil, nil, nil, nil, nil, nil, nil,
403
- nil, nil, 159, nil, nil, nil, 88, nil, 30, nil,
404
- nil, nil, 36, nil, nil, 181, nil, nil, nil, nil,
423
+ nil, nil, 21, nil, nil, nil, nil, nil, nil, 238,
424
+ 21, 238, nil, nil, nil, nil, nil, nil, nil, nil,
425
+ 22, nil, nil, nil, nil, nil, nil, nil, nil, nil,
426
+ 22, 22, nil, nil, nil, nil, nil, nil, nil, 22,
405
427
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
406
- nil, nil, nil, nil, nil, 218, nil, nil, nil, 220,
407
- nil, nil, 240, nil, nil, nil, 242, nil, nil, nil,
408
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 30,
409
- nil, nil, nil, 36, nil, nil, nil, nil, nil, nil,
410
- nil, nil, nil, nil, nil, nil, nil, nil, 218, nil,
411
- nil, nil, 220, nil, nil, nil, nil, 218, nil, nil,
412
- nil, 220, nil, nil, nil, nil, nil, 30, nil, nil,
413
- nil, 36, nil, nil, nil, 30, nil, 30, nil, 36,
414
- nil, 36, nil, nil, nil, 336, nil, nil, nil, nil,
415
- nil, nil, 341, nil, nil, nil, nil, nil, nil, nil,
416
- nil, 348, 349, nil, nil, nil, nil, nil, nil, nil,
417
- nil, nil, nil, 355, nil, nil, nil, 358, nil, nil,
428
+ nil, nil, nil, nil, nil, 21, nil, nil, nil, nil,
429
+ nil, nil, nil, nil, nil, 21, 21, nil, nil, nil,
430
+ nil, nil, nil, nil, 21, nil, nil, nil, 97, 283,
431
+ nil, nil, 286, 287, 288, 289, 290, 291, 292, 293,
432
+ 294, 295, 296, 297, 298, 299, 300, nil, nil, nil,
418
433
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
419
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 377,
420
434
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
421
435
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
436
+ 332, 333, nil, nil, nil, 335, nil, nil, nil, nil,
422
437
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
423
- nil, nil, nil, nil, nil, 114 ]
438
+ nil, nil, nil, nil, nil, 348, 349, nil, nil, nil,
439
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
440
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
441
+ nil, nil, nil, nil, 352, nil, nil, nil, nil, nil,
442
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
443
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
444
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
445
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
446
+ nil, nil, nil, nil, nil, 107, nil, nil, nil, nil,
447
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
448
+ 390 ]
424
449
 
425
450
  racc_goto_check = [
426
- 35, 2, 40, 36, 62, 31, 71, 83, 53, 4,
427
- 86, 37, 73, 40, 38, 43, 69, 60, 5, 29,
428
- 48, 3, 35, 79, 48, 56, 35, 67, 44, 36,
429
- 6, 43, 65, 45, 47, 63, 8, 23, 66, 59,
430
- 38, 22, 10, 49, 55, 75, 70, 44, 23, 61,
431
- 29, 72, 42, 28, 74, 41, 76, 77, 35, 29,
432
- 29, 36, 78, 33, 80, 81, 6, 34, 82, 8,
433
- 55, 44, 38, 30, 22, 10, 3, 75, 84, 28,
434
- 85, 39, 63, 1, nil, nil, 44, nil, nil, nil,
435
- nil, 35, nil, 34, 36, nil, nil, 48, nil, 6,
436
- 5, 29, 29, nil, nil, 38, 56, 39, 3, 35,
437
- nil, 28, 36, nil, 45, 67, 3, nil, nil, 5,
438
- 71, 35, nil, 38, 36, 34, nil, nil, 27, nil,
439
- 69, 24, nil, nil, nil, 38, 44, 69, nil, 39,
440
- nil, nil, nil, nil, 28, nil, 44, 35, nil, nil,
441
- 36, 65, nil, 55, 27, 65, nil, 24, 34, nil,
442
- nil, 38, 5, nil, nil, nil, nil, nil, nil, 34,
443
- nil, 60, 39, 34, 28, 79, 34, nil, nil, nil,
444
- nil, nil, nil, nil, 65, 65, 27, 3, 34, 24,
445
- 39, 55, nil, nil, nil, 31, 73, nil, nil, nil,
446
- 28, nil, 39, nil, nil, nil, nil, nil, nil, 44,
447
- nil, nil, 53, 86, 34, 37, 83, nil, nil, 27,
448
- 56, nil, 24, 35, 56, 69, 36, nil, 39, 35,
449
- 35, nil, 36, 36, nil, nil, 43, 38, nil, nil,
450
- nil, nil, nil, 38, 38, nil, 34, nil, 35, 27,
451
- nil, 36, 4, nil, nil, nil, nil, nil, 71, 5,
452
- nil, 5, 38, nil, nil, nil, nil, 55, 69, 35,
453
- nil, nil, 36, 55, 55, 27, nil, 69, 24, 31,
454
- nil, nil, 28, 38, nil, nil, nil, 40, nil, nil,
455
- 34, 35, 55, nil, 36, nil, 34, 34, nil, nil,
456
- nil, 28, nil, nil, 39, 38, nil, nil, nil, nil,
457
- 39, 39, nil, 55, nil, 34, nil, nil, 35, nil,
458
- nil, 36, 28, nil, nil, 35, nil, nil, 36, 39,
459
- 62, nil, 38, nil, nil, 55, 34, nil, nil, 38,
460
- nil, nil, 35, 2, 28, 36, nil, nil, nil, nil,
461
- 39, nil, nil, nil, nil, nil, 38, 27, 34, nil,
462
- 24, 35, 55, 4, 36, 34, nil, nil, nil, nil,
463
- 35, nil, 39, 36, nil, 38, 27, 25, 28, 24,
464
- 35, 26, nil, 36, 38, 34, 55, nil, 35, nil,
465
- 35, 36, 34, 36, 38, 28, nil, 27, nil, 39,
466
- 24, nil, 38, 25, 38, 55, 39, 26, nil, 34,
467
- nil, nil, nil, nil, 55, nil, nil, nil, nil, 27,
468
- nil, nil, 24, 39, 55, nil, nil, nil, 34, nil,
469
- nil, nil, 55, 28, 55, 25, nil, 34, nil, 26,
470
- nil, 28, 39, 28, nil, nil, nil, 34, nil, nil,
471
- nil, 39, nil, 27, nil, 34, nil, 34, nil, 26,
472
- nil, 39, nil, nil, nil, nil, nil, nil, 25, 39,
473
- 27, 39, 26, 24, nil, nil, nil, nil, nil, 25,
474
- nil, nil, nil, 25, nil, nil, 25, nil, nil, nil,
475
- 26, nil, nil, nil, nil, nil, nil, nil, 25, nil,
476
- nil, nil, 26, nil, nil, nil, nil, 32, 27, nil,
477
- nil, 24, 32, nil, nil, nil, 27, nil, 27, 24,
478
- nil, 24, nil, nil, 25, nil, nil, nil, 26, nil,
479
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 32,
480
- nil, nil, nil, 32, nil, nil, nil, nil, nil, nil,
481
- nil, nil, nil, nil, nil, nil, 25, nil, nil, nil,
482
- nil, nil, nil, nil, 32, nil, nil, 32, nil, nil,
451
+ 35, 2, 35, 34, 86, 34, 4, 31, 62, 71,
452
+ 40, 40, 69, 65, 79, 36, 37, 36, 38, 73,
453
+ 38, 44, 53, 60, 5, 5, 3, 83, 45, 35,
454
+ 28, 6, 28, 43, 43, 56, 56, 47, 67, 63,
455
+ 22, 44, 48, 48, 66, 22, 10, 59, 8, 29,
456
+ 27, 10, 27, 8, 44, 35, 49, 6, 34, 70,
457
+ 35, 61, 6, 34, 29, 23, 23, 75, 75, 72,
458
+ 36, 42, 29, 38, 74, 36, 41, 76, 38, 77,
459
+ 78, 35, 33, 63, 34, 28, 80, 34, 34, 29,
460
+ 28, 81, 82, 30, 84, 85, 36, 1, nil, 38,
461
+ nil, nil, nil, nil, nil, 27, nil, nil, nil, 35,
462
+ 27, 28, 34, nil, nil, 5, nil, nil, 55, 67,
463
+ 55, nil, nil, 5, 36, nil, nil, 38, nil, nil,
464
+ nil, 27, nil, 69, 71, nil, nil, 69, 31, 3,
465
+ 3, 3, nil, 48, 29, 29, 44, 45, nil, nil,
466
+ nil, nil, nil, nil, 83, nil, nil, nil, nil, nil,
467
+ nil, nil, nil, 65, 65, nil, nil, nil, nil, nil,
468
+ nil, nil, nil, nil, nil, nil, nil, nil, 5, 5,
469
+ nil, nil, nil, nil, nil, nil, 60, nil, 34, nil,
470
+ nil, 44, nil, nil, nil, nil, nil, 44, nil, nil,
471
+ 37, nil, nil, nil, 86, nil, 53, nil, 65, 79,
472
+ 65, 73, nil, nil, 69, nil, nil, nil, nil, 44,
473
+ 43, 56, 56, nil, nil, nil, nil, 55, 35, 35,
474
+ 35, 34, 34, 34, 35, nil, nil, 34, nil, nil,
475
+ nil, nil, nil, 36, 36, 36, 38, 38, 38, 36,
476
+ nil, nil, 38, nil, nil, nil, nil, nil, 28, 28,
477
+ nil, nil, nil, 71, 69, 35, 69, nil, 34, nil,
478
+ 3, nil, nil, nil, nil, 34, nil, nil, 27, 27,
479
+ 36, nil, nil, 38, 26, nil, 26, 40, nil, nil,
480
+ nil, nil, nil, nil, nil, 28, nil, nil, 31, 39,
481
+ nil, 39, nil, nil, nil, nil, 35, nil, nil, 34,
482
+ 4, 35, nil, nil, 34, 27, nil, nil, nil, 35,
483
+ nil, 36, 34, nil, 38, 62, 36, 35, nil, 38,
484
+ 34, nil, nil, nil, 36, nil, 28, 38, nil, 26,
485
+ nil, nil, 36, nil, 26, 38, 55, 55, 55, 28,
486
+ nil, nil, 55, nil, 39, nil, 27, 28, nil, 39,
487
+ nil, 35, nil, 35, 34, 26, 34, nil, 25, 27,
488
+ 25, nil, 35, 2, nil, 34, 36, 27, 36, 38,
489
+ 39, 38, 35, 35, nil, 34, 34, 36, 26, nil,
490
+ 38, 35, nil, 26, 34, 4, nil, 36, 36, nil,
491
+ 38, 38, 28, 24, nil, 24, 36, nil, 39, 38,
492
+ nil, nil, 28, 28, nil, nil, nil, nil, nil, nil,
493
+ nil, 28, 27, 25, 55, nil, nil, nil, 25, 55,
494
+ nil, nil, 27, 27, nil, nil, nil, 55, nil, nil,
495
+ nil, 27, nil, nil, nil, 55, nil, nil, nil, 25,
496
+ nil, nil, 25, 25, nil, nil, nil, nil, 24, nil,
497
+ nil, nil, nil, 24, nil, nil, nil, nil, nil, nil,
498
+ nil, nil, nil, nil, nil, nil, nil, 25, nil, 55,
499
+ nil, 55, nil, nil, nil, nil, nil, nil, nil, nil,
500
+ 55, nil, nil, nil, nil, nil, nil, nil, nil, nil,
501
+ 55, 55, nil, nil, nil, nil, nil, nil, nil, 55,
502
+ nil, nil, 26, 26, 26, nil, nil, nil, 26, nil,
503
+ nil, nil, nil, nil, nil, nil, nil, 39, 39, 39,
504
+ nil, nil, nil, 39, nil, nil, nil, nil, nil, nil,
505
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 26,
506
+ nil, nil, nil, 25, nil, nil, nil, nil, nil, nil,
507
+ nil, nil, nil, nil, 39, nil, nil, nil, nil, nil,
508
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
509
+ nil, nil, nil, nil, nil, nil, nil, nil, 26, nil,
510
+ 26, nil, nil, nil, nil, 26, 25, 25, 25, nil,
511
+ nil, nil, 25, 26, nil, 39, nil, nil, nil, nil,
512
+ 39, 26, nil, nil, nil, nil, nil, nil, 39, nil,
513
+ nil, nil, nil, nil, nil, nil, 39, nil, nil, nil,
514
+ nil, 24, 24, 25, nil, 32, nil, 32, 32, 32,
515
+ 25, nil, nil, nil, nil, 26, nil, 26, nil, nil,
516
+ nil, nil, nil, nil, nil, nil, 26, nil, nil, nil,
517
+ 39, 32, 39, nil, nil, nil, 26, 26, nil, nil,
518
+ nil, 39, nil, nil, 25, 26, nil, nil, nil, 25,
519
+ nil, 39, 39, nil, nil, nil, nil, 25, nil, nil,
520
+ 39, 32, 32, 32, 32, 25, nil, nil, nil, 32,
521
+ 32, 32, nil, nil, nil, nil, nil, nil, nil, 24,
522
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
523
+ nil, nil, 24, nil, nil, nil, nil, nil, nil, 25,
524
+ 24, 25, nil, nil, nil, nil, nil, nil, nil, nil,
525
+ 25, nil, nil, nil, nil, nil, nil, nil, nil, nil,
526
+ 25, 25, nil, nil, nil, nil, nil, nil, nil, 25,
527
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
528
+ nil, nil, nil, nil, nil, 24, nil, nil, nil, nil,
529
+ nil, nil, nil, nil, nil, 24, 24, nil, nil, nil,
530
+ nil, nil, nil, nil, 24, nil, nil, nil, 32, 32,
531
+ nil, nil, 32, 32, 32, 32, 32, 32, 32, 32,
532
+ 32, 32, 32, 32, 32, 32, 32, nil, nil, nil,
533
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
483
534
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
484
- nil, nil, 32, 32, 32, 32, nil, nil, nil, 32,
485
535
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
486
- 25, nil, nil, nil, 26, nil, 25, 25, nil, nil,
487
- 26, 26, nil, nil, nil, nil, 32, nil, nil, nil,
488
- nil, nil, nil, nil, nil, 25, nil, nil, nil, 26,
489
- nil, 32, 32, 32, 32, 32, 32, 32, 32, nil,
490
- 32, 32, 32, nil, 32, 32, 25, 32, 32, nil,
491
- 26, nil, nil, nil, nil, nil, nil, nil, nil, nil,
492
- nil, nil, 26, nil, nil, nil, 32, nil, 25, nil,
493
- nil, nil, 26, nil, nil, 25, nil, nil, nil, nil,
536
+ 32, 32, nil, nil, nil, 32, nil, nil, nil, nil,
494
537
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
495
- nil, nil, nil, nil, nil, 25, nil, nil, nil, 26,
496
- nil, nil, 25, nil, nil, nil, 26, nil, nil, nil,
497
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 25,
498
- nil, nil, nil, 26, nil, nil, nil, nil, nil, nil,
499
- nil, nil, nil, nil, nil, nil, nil, nil, 25, nil,
500
- nil, nil, 26, nil, nil, nil, nil, 25, nil, nil,
501
- nil, 26, nil, nil, nil, nil, nil, 25, nil, nil,
502
- nil, 26, nil, nil, nil, 25, nil, 25, nil, 26,
503
- nil, 26, nil, nil, nil, 32, nil, nil, nil, nil,
504
- nil, nil, 32, nil, nil, nil, nil, nil, nil, nil,
505
- nil, 32, 32, nil, nil, nil, nil, nil, nil, nil,
506
- nil, nil, nil, 32, nil, nil, nil, 32, nil, nil,
538
+ nil, nil, nil, nil, nil, 32, 32, nil, nil, nil,
507
539
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
508
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 32,
509
540
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
541
+ nil, nil, nil, nil, 32, nil, nil, nil, nil, nil,
510
542
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
511
543
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
512
- nil, nil, nil, nil, nil, 32 ]
544
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
545
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
546
+ nil, nil, nil, nil, nil, 32, nil, nil, nil, nil,
547
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
548
+ 32 ]
513
549
 
514
550
  racc_goto_pointer = [
515
- nil, 83, 1, 21, -17, -129, 8, nil, -22, nil,
516
- -16, nil, nil, nil, nil, nil, nil, nil, nil, nil,
517
- nil, nil, -17, 32, 131, 377, 381, 128, 53, -53,
518
- 38, -30, 499, -248, 67, 0, 3, -110, 14, 81,
519
- 1, -66, -181, -90, -165, -74, nil, 11, -82, -255,
520
- nil, nil, nil, -113, nil, 44, -82, nil, nil, -267,
521
- 4, -39, -36, -282, nil, 11, -192, -203, nil, -93,
522
- -63, -103, -172, -36, 6, -10, -110, 36, -33, 2,
523
- -110, -58, -55, -116, -208, 2, -68, nil ]
551
+ nil, 97, 1, 26, 4, -204, 2, nil, -7, nil,
552
+ -9, nil, nil, nil, nil, nil, nil, nil, nil, nil,
553
+ nil, nil, -15, 46, 403, 368, 284, 50, 30, -14,
554
+ 67, -19, 599, -233, 3, 0, 15, -65, 18, 299,
555
+ -39, -5, -93, -48, -124, -33, nil, 9, -42, -216,
556
+ nil, nil, nil, -59, nil, 118, -46, nil, nil, -203,
557
+ -13, -36, -31, -271, nil, -38, -186, -192, nil, -97,
558
+ -50, -100, -165, -29, 26, -46, -167, 28, -35, -37,
559
+ -162, -152, -151, -216, -232, -9, -100, nil ]
524
560
 
525
561
  racc_goto_default = [
526
- nil, nil, 269, 182, 38, nil, 47, 52, 4, 6,
527
- 11, 17, 19, 25, 31, 37, 42, 46, 51, 3,
528
- 5, 192, 16, nil, 70, 73, 77, 80, 82, nil,
529
- nil, 63, 151, 276, 69, 71, 74, 76, 79, 81,
530
- 50, nil, nil, nil, nil, nil, 22, nil, nil, 185,
531
- 298, 186, 177, nil, 235, 67, 196, 198, 213, 214,
532
- nil, nil, nil, nil, 62, 7, nil, nil, 320, 28,
562
+ nil, nil, 306, 182, 4, nil, 5, 6, 7, 8,
563
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
564
+ 19, 147, 20, nil, 74, 71, 66, 70, 73, nil,
565
+ nil, 98, 156, 256, 67, 68, 69, 72, 75, 76,
566
+ 27, nil, nil, nil, nil, nil, 29, nil, nil, 183,
567
+ 272, 184, 186, nil, 166, 79, 150, 149, 151, 152,
568
+ nil, nil, nil, nil, 99, 47, nil, nil, 313, 41,
533
569
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
534
- 97, nil, nil, nil, nil, nil, nil, 158 ]
570
+ 117, nil, nil, nil, nil, nil, nil, 225 ]
535
571
 
536
572
  racc_reduce_table = [
537
573
  0, 0, :racc_error,
538
- 1, 70, :_reduce_none,
539
- 1, 70, :_reduce_none,
540
- 1, 71, :_reduce_3,
541
- 2, 71, :_reduce_4,
542
- 1, 74, :_reduce_5,
543
- 1, 73, :_reduce_none,
544
- 1, 73, :_reduce_none,
545
- 1, 73, :_reduce_none,
546
- 1, 73, :_reduce_none,
547
- 1, 73, :_reduce_none,
548
- 1, 73, :_reduce_none,
549
- 1, 73, :_reduce_none,
550
- 1, 73, :_reduce_none,
551
- 1, 73, :_reduce_none,
552
- 1, 73, :_reduce_none,
553
- 1, 73, :_reduce_none,
554
- 1, 73, :_reduce_none,
555
- 1, 73, :_reduce_none,
556
- 1, 73, :_reduce_none,
557
- 1, 73, :_reduce_none,
558
- 1, 90, :_reduce_none,
559
- 1, 90, :_reduce_none,
560
- 1, 90, :_reduce_none,
561
- 1, 90, :_reduce_none,
562
- 1, 90, :_reduce_none,
563
- 1, 90, :_reduce_none,
564
- 1, 90, :_reduce_none,
565
- 1, 90, :_reduce_none,
566
- 1, 90, :_reduce_none,
567
- 1, 90, :_reduce_none,
568
- 1, 90, :_reduce_none,
569
- 1, 90, :_reduce_none,
570
- 1, 90, :_reduce_none,
571
- 1, 90, :_reduce_none,
572
- 1, 90, :_reduce_none,
573
- 3, 89, :_reduce_36,
574
- 3, 89, :_reduce_37,
574
+ 1, 71, :_reduce_none,
575
+ 1, 71, :_reduce_none,
576
+ 1, 72, :_reduce_3,
577
+ 2, 72, :_reduce_4,
578
+ 1, 75, :_reduce_5,
579
+ 1, 74, :_reduce_none,
580
+ 1, 74, :_reduce_none,
581
+ 1, 74, :_reduce_none,
582
+ 1, 74, :_reduce_none,
583
+ 1, 74, :_reduce_none,
584
+ 1, 74, :_reduce_none,
585
+ 1, 74, :_reduce_none,
586
+ 1, 74, :_reduce_none,
587
+ 1, 74, :_reduce_none,
588
+ 1, 74, :_reduce_none,
589
+ 1, 74, :_reduce_none,
590
+ 1, 74, :_reduce_none,
591
+ 1, 74, :_reduce_none,
592
+ 1, 74, :_reduce_none,
593
+ 1, 74, :_reduce_none,
594
+ 1, 91, :_reduce_none,
595
+ 1, 91, :_reduce_none,
596
+ 1, 91, :_reduce_none,
575
597
  1, 91, :_reduce_none,
576
598
  1, 91, :_reduce_none,
577
599
  1, 91, :_reduce_none,
@@ -580,204 +602,219 @@ racc_reduce_table = [
580
602
  1, 91, :_reduce_none,
581
603
  1, 91, :_reduce_none,
582
604
  1, 91, :_reduce_none,
605
+ 1, 91, :_reduce_none,
606
+ 1, 91, :_reduce_none,
607
+ 1, 91, :_reduce_none,
608
+ 1, 91, :_reduce_none,
609
+ 3, 90, :_reduce_36,
610
+ 3, 90, :_reduce_37,
583
611
  1, 92, :_reduce_none,
584
612
  1, 92, :_reduce_none,
585
613
  1, 92, :_reduce_none,
586
614
  1, 92, :_reduce_none,
587
- 4, 83, :_reduce_50,
588
- 5, 83, :_reduce_51,
589
- 3, 83, :_reduce_52,
590
- 2, 83, :_reduce_53,
591
- 1, 99, :_reduce_54,
592
- 3, 99, :_reduce_55,
593
- 1, 98, :_reduce_56,
594
- 3, 98, :_reduce_57,
595
- 1, 100, :_reduce_none,
596
- 1, 100, :_reduce_none,
597
- 1, 100, :_reduce_none,
598
- 1, 100, :_reduce_none,
599
- 1, 100, :_reduce_none,
600
- 1, 100, :_reduce_none,
601
- 1, 100, :_reduce_none,
602
- 1, 100, :_reduce_none,
603
- 1, 100, :_reduce_none,
604
- 1, 100, :_reduce_none,
605
- 1, 100, :_reduce_none,
606
- 5, 75, :_reduce_69,
607
- 5, 75, :_reduce_70,
608
- 5, 75, :_reduce_71,
609
- 5, 87, :_reduce_72,
610
- 2, 76, :_reduce_73,
611
- 1, 115, :_reduce_74,
612
- 2, 115, :_reduce_75,
613
- 6, 77, :_reduce_76,
614
- 2, 77, :_reduce_77,
615
- 3, 116, :_reduce_78,
616
- 3, 116, :_reduce_79,
617
- 1, 117, :_reduce_none,
618
- 1, 117, :_reduce_none,
619
- 3, 117, :_reduce_82,
620
- 1, 118, :_reduce_none,
621
- 3, 118, :_reduce_84,
622
- 1, 119, :_reduce_85,
623
- 1, 119, :_reduce_86,
624
- 3, 120, :_reduce_87,
625
- 3, 120, :_reduce_88,
626
- 1, 121, :_reduce_none,
627
- 1, 121, :_reduce_none,
628
- 4, 122, :_reduce_91,
629
- 1, 110, :_reduce_92,
630
- 3, 110, :_reduce_93,
631
- 0, 111, :_reduce_none,
632
- 1, 111, :_reduce_none,
633
- 1, 108, :_reduce_96,
634
- 1, 103, :_reduce_97,
635
- 1, 104, :_reduce_98,
636
- 1, 123, :_reduce_none,
637
- 1, 123, :_reduce_none,
638
- 1, 123, :_reduce_none,
639
- 1, 123, :_reduce_none,
640
- 1, 123, :_reduce_none,
641
- 1, 123, :_reduce_none,
642
- 1, 123, :_reduce_none,
643
- 3, 78, :_reduce_106,
644
- 3, 78, :_reduce_107,
645
- 3, 88, :_reduce_108,
646
- 0, 112, :_reduce_109,
647
- 1, 112, :_reduce_110,
648
- 3, 112, :_reduce_111,
649
- 1, 126, :_reduce_none,
650
- 1, 126, :_reduce_none,
651
- 1, 126, :_reduce_none,
652
- 3, 125, :_reduce_115,
653
- 3, 127, :_reduce_116,
654
- 1, 128, :_reduce_none,
655
- 1, 128, :_reduce_none,
656
- 0, 114, :_reduce_119,
657
- 1, 114, :_reduce_120,
658
- 3, 114, :_reduce_121,
659
- 4, 107, :_reduce_122,
660
- 3, 107, :_reduce_123,
661
- 1, 95, :_reduce_124,
662
- 2, 95, :_reduce_125,
663
- 2, 129, :_reduce_126,
664
- 1, 130, :_reduce_127,
665
- 2, 130, :_reduce_128,
666
- 1, 105, :_reduce_129,
667
- 4, 93, :_reduce_130,
668
- 4, 93, :_reduce_131,
669
- 5, 81, :_reduce_132,
670
- 4, 81, :_reduce_133,
671
- 2, 80, :_reduce_134,
672
- 5, 131, :_reduce_135,
673
- 4, 131, :_reduce_136,
674
- 0, 132, :_reduce_none,
675
- 2, 132, :_reduce_138,
676
- 4, 132, :_reduce_139,
677
- 3, 132, :_reduce_140,
615
+ 1, 92, :_reduce_none,
616
+ 1, 92, :_reduce_none,
617
+ 1, 92, :_reduce_none,
618
+ 1, 92, :_reduce_none,
619
+ 1, 93, :_reduce_none,
620
+ 1, 93, :_reduce_none,
621
+ 1, 93, :_reduce_none,
622
+ 1, 93, :_reduce_none,
623
+ 4, 84, :_reduce_50,
624
+ 5, 84, :_reduce_51,
625
+ 3, 84, :_reduce_52,
626
+ 2, 84, :_reduce_53,
627
+ 1, 100, :_reduce_54,
628
+ 3, 100, :_reduce_55,
629
+ 1, 99, :_reduce_56,
630
+ 3, 99, :_reduce_57,
631
+ 1, 101, :_reduce_none,
632
+ 1, 101, :_reduce_none,
633
+ 1, 101, :_reduce_none,
634
+ 1, 101, :_reduce_none,
635
+ 1, 101, :_reduce_none,
636
+ 1, 101, :_reduce_none,
637
+ 1, 101, :_reduce_none,
678
638
  1, 101, :_reduce_none,
679
639
  1, 101, :_reduce_none,
680
- 3, 101, :_reduce_143,
681
- 3, 101, :_reduce_144,
682
- 3, 101, :_reduce_145,
683
- 3, 101, :_reduce_146,
684
- 3, 101, :_reduce_147,
685
- 3, 101, :_reduce_148,
686
- 3, 101, :_reduce_149,
687
- 3, 101, :_reduce_150,
688
- 3, 101, :_reduce_151,
689
- 2, 101, :_reduce_152,
690
- 3, 101, :_reduce_153,
691
- 3, 101, :_reduce_154,
692
- 3, 101, :_reduce_155,
693
- 3, 101, :_reduce_156,
694
- 3, 101, :_reduce_157,
695
- 3, 101, :_reduce_158,
696
- 2, 101, :_reduce_159,
697
- 3, 101, :_reduce_160,
698
- 3, 101, :_reduce_161,
699
- 3, 101, :_reduce_162,
700
- 5, 79, :_reduce_163,
701
- 1, 135, :_reduce_164,
702
- 2, 135, :_reduce_165,
703
- 5, 136, :_reduce_166,
704
- 4, 136, :_reduce_167,
705
- 1, 137, :_reduce_168,
706
- 3, 137, :_reduce_169,
707
- 3, 96, :_reduce_170,
640
+ 1, 101, :_reduce_none,
641
+ 1, 101, :_reduce_none,
642
+ 5, 76, :_reduce_69,
643
+ 5, 76, :_reduce_70,
644
+ 5, 76, :_reduce_71,
645
+ 5, 88, :_reduce_72,
646
+ 2, 77, :_reduce_73,
647
+ 1, 116, :_reduce_74,
648
+ 2, 116, :_reduce_75,
649
+ 6, 78, :_reduce_76,
650
+ 2, 78, :_reduce_77,
651
+ 3, 117, :_reduce_78,
652
+ 3, 117, :_reduce_79,
653
+ 1, 118, :_reduce_none,
654
+ 1, 118, :_reduce_none,
655
+ 3, 118, :_reduce_82,
656
+ 1, 119, :_reduce_none,
657
+ 3, 119, :_reduce_84,
658
+ 1, 120, :_reduce_85,
659
+ 1, 120, :_reduce_86,
660
+ 3, 121, :_reduce_87,
661
+ 3, 121, :_reduce_88,
662
+ 1, 122, :_reduce_none,
663
+ 1, 122, :_reduce_none,
664
+ 4, 123, :_reduce_91,
665
+ 1, 111, :_reduce_92,
666
+ 3, 111, :_reduce_93,
667
+ 0, 112, :_reduce_none,
668
+ 1, 112, :_reduce_none,
669
+ 1, 109, :_reduce_96,
670
+ 1, 104, :_reduce_97,
671
+ 1, 105, :_reduce_98,
672
+ 1, 124, :_reduce_none,
673
+ 1, 124, :_reduce_none,
674
+ 1, 124, :_reduce_none,
675
+ 1, 124, :_reduce_none,
676
+ 1, 124, :_reduce_none,
677
+ 1, 124, :_reduce_none,
678
+ 1, 124, :_reduce_none,
679
+ 3, 79, :_reduce_106,
680
+ 3, 79, :_reduce_107,
681
+ 3, 89, :_reduce_108,
682
+ 0, 113, :_reduce_109,
683
+ 1, 113, :_reduce_110,
684
+ 3, 113, :_reduce_111,
685
+ 1, 127, :_reduce_none,
686
+ 1, 127, :_reduce_none,
687
+ 1, 127, :_reduce_none,
688
+ 3, 126, :_reduce_115,
689
+ 3, 128, :_reduce_116,
690
+ 1, 129, :_reduce_none,
691
+ 1, 129, :_reduce_none,
692
+ 0, 115, :_reduce_119,
693
+ 1, 115, :_reduce_120,
694
+ 3, 115, :_reduce_121,
695
+ 4, 108, :_reduce_122,
696
+ 3, 108, :_reduce_123,
697
+ 1, 96, :_reduce_124,
698
+ 2, 96, :_reduce_125,
699
+ 2, 130, :_reduce_126,
700
+ 1, 131, :_reduce_127,
701
+ 2, 131, :_reduce_128,
702
+ 1, 106, :_reduce_129,
703
+ 4, 94, :_reduce_130,
704
+ 4, 94, :_reduce_131,
705
+ 5, 82, :_reduce_132,
706
+ 4, 82, :_reduce_133,
707
+ 2, 81, :_reduce_134,
708
+ 5, 132, :_reduce_135,
709
+ 4, 132, :_reduce_136,
710
+ 0, 133, :_reduce_none,
711
+ 2, 133, :_reduce_138,
712
+ 4, 133, :_reduce_139,
713
+ 3, 133, :_reduce_140,
714
+ 1, 102, :_reduce_none,
715
+ 1, 102, :_reduce_none,
716
+ 3, 102, :_reduce_143,
717
+ 3, 102, :_reduce_144,
718
+ 3, 102, :_reduce_145,
719
+ 3, 102, :_reduce_146,
720
+ 3, 102, :_reduce_147,
721
+ 3, 102, :_reduce_148,
722
+ 3, 102, :_reduce_149,
723
+ 3, 102, :_reduce_150,
724
+ 3, 102, :_reduce_151,
725
+ 3, 102, :_reduce_152,
726
+ 2, 102, :_reduce_153,
727
+ 3, 102, :_reduce_154,
728
+ 3, 102, :_reduce_155,
729
+ 3, 102, :_reduce_156,
730
+ 3, 102, :_reduce_157,
731
+ 3, 102, :_reduce_158,
732
+ 3, 102, :_reduce_159,
733
+ 2, 102, :_reduce_160,
734
+ 3, 102, :_reduce_161,
735
+ 3, 102, :_reduce_162,
736
+ 3, 102, :_reduce_163,
737
+ 5, 80, :_reduce_164,
738
+ 1, 136, :_reduce_165,
739
+ 2, 136, :_reduce_166,
740
+ 5, 137, :_reduce_167,
741
+ 4, 137, :_reduce_168,
742
+ 1, 138, :_reduce_169,
743
+ 3, 138, :_reduce_170,
744
+ 3, 97, :_reduce_171,
745
+ 1, 140, :_reduce_none,
746
+ 4, 140, :_reduce_173,
747
+ 1, 142, :_reduce_none,
748
+ 3, 142, :_reduce_175,
749
+ 3, 141, :_reduce_176,
750
+ 1, 139, :_reduce_none,
751
+ 1, 139, :_reduce_none,
752
+ 1, 139, :_reduce_none,
753
+ 1, 139, :_reduce_none,
708
754
  1, 139, :_reduce_none,
709
- 4, 139, :_reduce_172,
710
- 1, 141, :_reduce_none,
711
- 3, 141, :_reduce_174,
712
- 3, 140, :_reduce_175,
713
- 1, 138, :_reduce_none,
714
- 1, 138, :_reduce_none,
715
- 1, 138, :_reduce_none,
716
- 1, 138, :_reduce_none,
717
- 1, 138, :_reduce_none,
718
- 1, 138, :_reduce_none,
719
- 1, 138, :_reduce_none,
720
- 1, 138, :_reduce_none,
721
- 1, 138, :_reduce_184,
722
- 1, 138, :_reduce_none,
723
- 1, 142, :_reduce_186,
724
- 1, 143, :_reduce_none,
725
- 3, 143, :_reduce_188,
726
- 2, 82, :_reduce_189,
727
- 6, 84, :_reduce_190,
728
- 5, 84, :_reduce_191,
729
- 7, 85, :_reduce_192,
730
- 6, 85, :_reduce_193,
755
+ 1, 139, :_reduce_none,
756
+ 1, 139, :_reduce_none,
757
+ 1, 139, :_reduce_none,
758
+ 1, 139, :_reduce_185,
759
+ 1, 139, :_reduce_none,
760
+ 1, 143, :_reduce_187,
761
+ 1, 144, :_reduce_none,
762
+ 3, 144, :_reduce_189,
763
+ 2, 83, :_reduce_190,
764
+ 6, 85, :_reduce_191,
765
+ 5, 85, :_reduce_192,
766
+ 7, 86, :_reduce_193,
731
767
  6, 86, :_reduce_194,
732
- 5, 86, :_reduce_195,
733
- 1, 109, :_reduce_196,
734
- 1, 109, :_reduce_197,
735
- 1, 146, :_reduce_198,
736
- 3, 146, :_reduce_199,
737
- 1, 148, :_reduce_200,
768
+ 6, 87, :_reduce_195,
769
+ 5, 87, :_reduce_196,
770
+ 1, 110, :_reduce_197,
771
+ 1, 110, :_reduce_198,
772
+ 1, 147, :_reduce_199,
773
+ 3, 147, :_reduce_200,
738
774
  1, 149, :_reduce_201,
739
- 1, 149, :_reduce_202,
740
- 1, 149, :_reduce_203,
741
- 1, 149, :_reduce_none,
742
- 0, 72, :_reduce_205,
743
- 0, 150, :_reduce_206,
744
- 1, 144, :_reduce_none,
745
- 3, 144, :_reduce_208,
746
- 4, 144, :_reduce_209,
747
- 1, 151, :_reduce_none,
748
- 3, 151, :_reduce_211,
749
- 3, 152, :_reduce_212,
750
- 1, 152, :_reduce_213,
751
- 1, 147, :_reduce_none,
752
- 2, 147, :_reduce_215,
775
+ 1, 150, :_reduce_202,
776
+ 1, 150, :_reduce_203,
777
+ 1, 150, :_reduce_204,
778
+ 1, 150, :_reduce_none,
779
+ 0, 73, :_reduce_206,
780
+ 0, 151, :_reduce_207,
753
781
  1, 145, :_reduce_none,
754
- 2, 145, :_reduce_217,
755
- 1, 153, :_reduce_none,
756
- 1, 153, :_reduce_none,
757
- 1, 94, :_reduce_220,
758
- 3, 106, :_reduce_221,
759
- 4, 106, :_reduce_222,
760
- 2, 106, :_reduce_223,
761
- 1, 102, :_reduce_none,
762
- 1, 102, :_reduce_none,
763
- 0, 113, :_reduce_none,
764
- 1, 113, :_reduce_227,
765
- 1, 134, :_reduce_228,
766
- 3, 133, :_reduce_229,
767
- 4, 133, :_reduce_230,
768
- 2, 133, :_reduce_231,
782
+ 3, 145, :_reduce_209,
783
+ 4, 145, :_reduce_210,
784
+ 1, 152, :_reduce_none,
785
+ 3, 152, :_reduce_212,
786
+ 3, 153, :_reduce_213,
787
+ 1, 153, :_reduce_214,
788
+ 1, 148, :_reduce_none,
789
+ 2, 148, :_reduce_216,
790
+ 1, 146, :_reduce_none,
791
+ 2, 146, :_reduce_218,
792
+ 1, 154, :_reduce_none,
769
793
  1, 154, :_reduce_none,
770
- 3, 154, :_reduce_233,
794
+ 1, 95, :_reduce_221,
795
+ 3, 107, :_reduce_222,
796
+ 4, 107, :_reduce_223,
797
+ 2, 107, :_reduce_224,
798
+ 1, 103, :_reduce_none,
799
+ 1, 103, :_reduce_none,
800
+ 0, 114, :_reduce_none,
801
+ 1, 114, :_reduce_228,
802
+ 1, 135, :_reduce_229,
803
+ 3, 134, :_reduce_230,
804
+ 4, 134, :_reduce_231,
805
+ 2, 134, :_reduce_232,
806
+ 1, 155, :_reduce_none,
771
807
  3, 155, :_reduce_234,
772
- 1, 156, :_reduce_235,
773
- 1, 156, :_reduce_236,
774
- 4, 124, :_reduce_237,
775
- 1, 97, :_reduce_none,
776
- 4, 97, :_reduce_239 ]
808
+ 3, 156, :_reduce_235,
809
+ 1, 157, :_reduce_236,
810
+ 1, 157, :_reduce_237,
811
+ 4, 125, :_reduce_238,
812
+ 1, 98, :_reduce_none,
813
+ 4, 98, :_reduce_240 ]
777
814
 
778
- racc_reduce_n = 240
815
+ racc_reduce_n = 241
779
816
 
780
- racc_shift_n = 399
817
+ racc_shift_n = 401
781
818
 
782
819
  racc_token_table = {
783
820
  false => 0,
@@ -848,9 +885,10 @@ racc_token_table = {
848
885
  :IN_EDGE_SUB => 65,
849
886
  :OUT_EDGE_SUB => 66,
850
887
  :IN => 67,
851
- :UNLESS => 68 }
888
+ :UNLESS => 68,
889
+ :MODULO => 69 }
852
890
 
853
- racc_nt_base = 69
891
+ racc_nt_base = 70
854
892
 
855
893
  racc_use_result_var = true
856
894
 
@@ -940,6 +978,7 @@ Racc_token_to_s_table = [
940
978
  "OUT_EDGE_SUB",
941
979
  "IN",
942
980
  "UNLESS",
981
+ "MODULO",
943
982
  "$start",
944
983
  "program",
945
984
  "statements_and_declarations",
@@ -1041,7 +1080,7 @@ Racc_debug_parser = false
1041
1080
 
1042
1081
  module_eval(<<'.,.,', 'grammar.ra', 34)
1043
1082
  def _reduce_3(val, _values, result)
1044
- result = ast AST::ASTArray, :children => (val[0] ? [val[0]] : [])
1083
+ result = ast AST::BlockExpression, :children => (val[0] ? [val[0]] : [])
1045
1084
 
1046
1085
  result
1047
1086
  end
@@ -1899,7 +1938,7 @@ module_eval(<<'.,.,', 'grammar.ra', 495)
1899
1938
 
1900
1939
  module_eval(<<'.,.,', 'grammar.ra', 498)
1901
1940
  def _reduce_152(val, _values, result)
1902
- result = ast AST::Minus, :value => val[1]
1941
+ result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
1903
1942
 
1904
1943
  result
1905
1944
  end
@@ -1907,7 +1946,7 @@ module_eval(<<'.,.,', 'grammar.ra', 498)
1907
1946
 
1908
1947
  module_eval(<<'.,.,', 'grammar.ra', 501)
1909
1948
  def _reduce_153(val, _values, result)
1910
- result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
1949
+ result = ast AST::Minus, :value => val[1]
1911
1950
 
1912
1951
  result
1913
1952
  end
@@ -1955,7 +1994,7 @@ module_eval(<<'.,.,', 'grammar.ra', 516)
1955
1994
 
1956
1995
  module_eval(<<'.,.,', 'grammar.ra', 519)
1957
1996
  def _reduce_159(val, _values, result)
1958
- result = ast AST::Not, :value => val[1]
1997
+ result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
1959
1998
 
1960
1999
  result
1961
2000
  end
@@ -1963,7 +2002,7 @@ module_eval(<<'.,.,', 'grammar.ra', 519)
1963
2002
 
1964
2003
  module_eval(<<'.,.,', 'grammar.ra', 522)
1965
2004
  def _reduce_160(val, _values, result)
1966
- result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
2005
+ result = ast AST::Not, :value => val[1]
1967
2006
 
1968
2007
  result
1969
2008
  end
@@ -1979,14 +2018,22 @@ module_eval(<<'.,.,', 'grammar.ra', 525)
1979
2018
 
1980
2019
  module_eval(<<'.,.,', 'grammar.ra', 528)
1981
2020
  def _reduce_162(val, _values, result)
1982
- result = val[1]
2021
+ result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
1983
2022
 
1984
2023
  result
1985
2024
  end
1986
2025
  .,.,
1987
2026
 
1988
- module_eval(<<'.,.,', 'grammar.ra', 532)
2027
+ module_eval(<<'.,.,', 'grammar.ra', 531)
1989
2028
  def _reduce_163(val, _values, result)
2029
+ result = val[1]
2030
+
2031
+ result
2032
+ end
2033
+ .,.,
2034
+
2035
+ module_eval(<<'.,.,', 'grammar.ra', 535)
2036
+ def _reduce_164(val, _values, result)
1990
2037
  @lexer.commentpop
1991
2038
  result = ast AST::CaseStatement, :test => val[1], :options => val[3]
1992
2039
 
@@ -1994,15 +2041,15 @@ module_eval(<<'.,.,', 'grammar.ra', 532)
1994
2041
  end
1995
2042
  .,.,
1996
2043
 
1997
- module_eval(<<'.,.,', 'grammar.ra', 536)
1998
- def _reduce_164(val, _values, result)
2044
+ module_eval(<<'.,.,', 'grammar.ra', 539)
2045
+ def _reduce_165(val, _values, result)
1999
2046
  result = aryfy(val[0])
2000
2047
  result
2001
2048
  end
2002
2049
  .,.,
2003
2050
 
2004
- module_eval(<<'.,.,', 'grammar.ra', 538)
2005
- def _reduce_165(val, _values, result)
2051
+ module_eval(<<'.,.,', 'grammar.ra', 541)
2052
+ def _reduce_166(val, _values, result)
2006
2053
  val[0].push val[1]
2007
2054
  result = val[0]
2008
2055
 
@@ -2010,8 +2057,8 @@ module_eval(<<'.,.,', 'grammar.ra', 538)
2010
2057
  end
2011
2058
  .,.,
2012
2059
 
2013
- module_eval(<<'.,.,', 'grammar.ra', 543)
2014
- def _reduce_166(val, _values, result)
2060
+ module_eval(<<'.,.,', 'grammar.ra', 546)
2061
+ def _reduce_167(val, _values, result)
2015
2062
  @lexer.commentpop
2016
2063
  result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
2017
2064
 
@@ -2019,30 +2066,30 @@ module_eval(<<'.,.,', 'grammar.ra', 543)
2019
2066
  end
2020
2067
  .,.,
2021
2068
 
2022
- module_eval(<<'.,.,', 'grammar.ra', 546)
2023
- def _reduce_167(val, _values, result)
2069
+ module_eval(<<'.,.,', 'grammar.ra', 549)
2070
+ def _reduce_168(val, _values, result)
2024
2071
  @lexer.commentpop
2025
2072
 
2026
2073
  result = ast(
2027
2074
  AST::CaseOpt,
2028
2075
  :value => val[0],
2029
2076
 
2030
- :statements => ast(AST::ASTArray)
2077
+ :statements => ast(AST::BlockExpression)
2031
2078
  )
2032
2079
 
2033
2080
  result
2034
2081
  end
2035
2082
  .,.,
2036
2083
 
2037
- module_eval(<<'.,.,', 'grammar.ra', 556)
2038
- def _reduce_168(val, _values, result)
2084
+ module_eval(<<'.,.,', 'grammar.ra', 559)
2085
+ def _reduce_169(val, _values, result)
2039
2086
  result = aryfy(val[0])
2040
2087
  result
2041
2088
  end
2042
2089
  .,.,
2043
2090
 
2044
- module_eval(<<'.,.,', 'grammar.ra', 558)
2045
- def _reduce_169(val, _values, result)
2091
+ module_eval(<<'.,.,', 'grammar.ra', 561)
2092
+ def _reduce_170(val, _values, result)
2046
2093
  val[0].push(val[2])
2047
2094
  result = val[0]
2048
2095
 
@@ -2050,18 +2097,18 @@ module_eval(<<'.,.,', 'grammar.ra', 558)
2050
2097
  end
2051
2098
  .,.,
2052
2099
 
2053
- module_eval(<<'.,.,', 'grammar.ra', 563)
2054
- def _reduce_170(val, _values, result)
2100
+ module_eval(<<'.,.,', 'grammar.ra', 566)
2101
+ def _reduce_171(val, _values, result)
2055
2102
  result = ast AST::Selector, :param => val[0], :values => val[2]
2056
2103
 
2057
2104
  result
2058
2105
  end
2059
2106
  .,.,
2060
2107
 
2061
- # reduce 171 omitted
2108
+ # reduce 172 omitted
2062
2109
 
2063
- module_eval(<<'.,.,', 'grammar.ra', 568)
2064
- def _reduce_172(val, _values, result)
2110
+ module_eval(<<'.,.,', 'grammar.ra', 571)
2111
+ def _reduce_173(val, _values, result)
2065
2112
  @lexer.commentpop
2066
2113
  result = val[1]
2067
2114
 
@@ -2069,10 +2116,10 @@ module_eval(<<'.,.,', 'grammar.ra', 568)
2069
2116
  end
2070
2117
  .,.,
2071
2118
 
2072
- # reduce 173 omitted
2119
+ # reduce 174 omitted
2073
2120
 
2074
- module_eval(<<'.,.,', 'grammar.ra', 574)
2075
- def _reduce_174(val, _values, result)
2121
+ module_eval(<<'.,.,', 'grammar.ra', 577)
2122
+ def _reduce_175(val, _values, result)
2076
2123
  if val[0].instance_of?(AST::ASTArray)
2077
2124
  val[0].push(val[2])
2078
2125
  result = val[0]
@@ -2084,16 +2131,14 @@ module_eval(<<'.,.,', 'grammar.ra', 574)
2084
2131
  end
2085
2132
  .,.,
2086
2133
 
2087
- module_eval(<<'.,.,', 'grammar.ra', 583)
2088
- def _reduce_175(val, _values, result)
2134
+ module_eval(<<'.,.,', 'grammar.ra', 586)
2135
+ def _reduce_176(val, _values, result)
2089
2136
  result = ast AST::ResourceParam, :param => val[0], :value => val[2]
2090
2137
 
2091
2138
  result
2092
2139
  end
2093
2140
  .,.,
2094
2141
 
2095
- # reduce 176 omitted
2096
-
2097
2142
  # reduce 177 omitted
2098
2143
 
2099
2144
  # reduce 178 omitted
@@ -2108,34 +2153,36 @@ module_eval(<<'.,.,', 'grammar.ra', 583)
2108
2153
 
2109
2154
  # reduce 183 omitted
2110
2155
 
2111
- module_eval(<<'.,.,', 'grammar.ra', 595)
2112
- def _reduce_184(val, _values, result)
2156
+ # reduce 184 omitted
2157
+
2158
+ module_eval(<<'.,.,', 'grammar.ra', 598)
2159
+ def _reduce_185(val, _values, result)
2113
2160
  result = ast AST::Default, :value => val[0][:value], :line => val[0][:line]
2114
2161
 
2115
2162
  result
2116
2163
  end
2117
2164
  .,.,
2118
2165
 
2119
- # reduce 185 omitted
2166
+ # reduce 186 omitted
2120
2167
 
2121
- module_eval(<<'.,.,', 'grammar.ra', 600)
2122
- def _reduce_186(val, _values, result)
2168
+ module_eval(<<'.,.,', 'grammar.ra', 603)
2169
+ def _reduce_187(val, _values, result)
2123
2170
  result = [val[0][:value]]
2124
2171
  result
2125
2172
  end
2126
2173
  .,.,
2127
2174
 
2128
- # reduce 187 omitted
2175
+ # reduce 188 omitted
2129
2176
 
2130
- module_eval(<<'.,.,', 'grammar.ra', 602)
2131
- def _reduce_188(val, _values, result)
2177
+ module_eval(<<'.,.,', 'grammar.ra', 605)
2178
+ def _reduce_189(val, _values, result)
2132
2179
  result = val[0] += val[2]
2133
2180
  result
2134
2181
  end
2135
2182
  .,.,
2136
2183
 
2137
- module_eval(<<'.,.,', 'grammar.ra', 605)
2138
- def _reduce_189(val, _values, result)
2184
+ module_eval(<<'.,.,', 'grammar.ra', 608)
2185
+ def _reduce_190(val, _values, result)
2139
2186
  val[1].each do |file|
2140
2187
  import(file)
2141
2188
  end
@@ -2146,8 +2193,8 @@ module_eval(<<'.,.,', 'grammar.ra', 605)
2146
2193
  end
2147
2194
  .,.,
2148
2195
 
2149
- module_eval(<<'.,.,', 'grammar.ra', 615)
2150
- def _reduce_190(val, _values, result)
2196
+ module_eval(<<'.,.,', 'grammar.ra', 618)
2197
+ def _reduce_191(val, _values, result)
2151
2198
  @lexer.commentpop
2152
2199
  result = Puppet::Parser::AST::Definition.new(classname(val[1]),
2153
2200
  ast_context(true).merge(:arguments => val[2], :code => val[4],
@@ -2160,8 +2207,8 @@ module_eval(<<'.,.,', 'grammar.ra', 615)
2160
2207
  end
2161
2208
  .,.,
2162
2209
 
2163
- module_eval(<<'.,.,', 'grammar.ra', 623)
2164
- def _reduce_191(val, _values, result)
2210
+ module_eval(<<'.,.,', 'grammar.ra', 626)
2211
+ def _reduce_192(val, _values, result)
2165
2212
  @lexer.commentpop
2166
2213
  result = Puppet::Parser::AST::Definition.new(classname(val[1]),
2167
2214
  ast_context(true).merge(:arguments => val[2], :line => val[0][:line]))
@@ -2171,8 +2218,8 @@ module_eval(<<'.,.,', 'grammar.ra', 623)
2171
2218
  end
2172
2219
  .,.,
2173
2220
 
2174
- module_eval(<<'.,.,', 'grammar.ra', 631)
2175
- def _reduce_192(val, _values, result)
2221
+ module_eval(<<'.,.,', 'grammar.ra', 634)
2222
+ def _reduce_193(val, _values, result)
2176
2223
  @lexer.commentpop
2177
2224
  # Our class gets defined in the parent namespace, not our own.
2178
2225
  @lexer.namepop
@@ -2184,8 +2231,8 @@ module_eval(<<'.,.,', 'grammar.ra', 631)
2184
2231
  end
2185
2232
  .,.,
2186
2233
 
2187
- module_eval(<<'.,.,', 'grammar.ra', 638)
2188
- def _reduce_193(val, _values, result)
2234
+ module_eval(<<'.,.,', 'grammar.ra', 641)
2235
+ def _reduce_194(val, _values, result)
2189
2236
  @lexer.commentpop
2190
2237
  # Our class gets defined in the parent namespace, not our own.
2191
2238
  @lexer.namepop
@@ -2197,8 +2244,8 @@ module_eval(<<'.,.,', 'grammar.ra', 638)
2197
2244
  end
2198
2245
  .,.,
2199
2246
 
2200
- module_eval(<<'.,.,', 'grammar.ra', 647)
2201
- def _reduce_194(val, _values, result)
2247
+ module_eval(<<'.,.,', 'grammar.ra', 650)
2248
+ def _reduce_195(val, _values, result)
2202
2249
  @lexer.commentpop
2203
2250
  result = Puppet::Parser::AST::Node.new(val[1],
2204
2251
  ast_context(true).merge(:parent => val[2], :code => val[4],
@@ -2208,8 +2255,8 @@ module_eval(<<'.,.,', 'grammar.ra', 647)
2208
2255
  end
2209
2256
  .,.,
2210
2257
 
2211
- module_eval(<<'.,.,', 'grammar.ra', 652)
2212
- def _reduce_195(val, _values, result)
2258
+ module_eval(<<'.,.,', 'grammar.ra', 655)
2259
+ def _reduce_196(val, _values, result)
2213
2260
  @lexer.commentpop
2214
2261
  result = Puppet::Parser::AST::Node.new(val[1], ast_context(true).merge(:parent => val[2], :line => val[0][:line]))
2215
2262
 
@@ -2217,30 +2264,30 @@ module_eval(<<'.,.,', 'grammar.ra', 652)
2217
2264
  end
2218
2265
  .,.,
2219
2266
 
2220
- module_eval(<<'.,.,', 'grammar.ra', 656)
2221
- def _reduce_196(val, _values, result)
2267
+ module_eval(<<'.,.,', 'grammar.ra', 659)
2268
+ def _reduce_197(val, _values, result)
2222
2269
  result = val[0][:value]
2223
2270
  result
2224
2271
  end
2225
2272
  .,.,
2226
2273
 
2227
- module_eval(<<'.,.,', 'grammar.ra', 657)
2228
- def _reduce_197(val, _values, result)
2274
+ module_eval(<<'.,.,', 'grammar.ra', 660)
2275
+ def _reduce_198(val, _values, result)
2229
2276
  result = "class"
2230
2277
  result
2231
2278
  end
2232
2279
  .,.,
2233
2280
 
2234
- module_eval(<<'.,.,', 'grammar.ra', 662)
2235
- def _reduce_198(val, _values, result)
2281
+ module_eval(<<'.,.,', 'grammar.ra', 665)
2282
+ def _reduce_199(val, _values, result)
2236
2283
  result = [result]
2237
2284
 
2238
2285
  result
2239
2286
  end
2240
2287
  .,.,
2241
2288
 
2242
- module_eval(<<'.,.,', 'grammar.ra', 665)
2243
- def _reduce_199(val, _values, result)
2289
+ module_eval(<<'.,.,', 'grammar.ra', 668)
2290
+ def _reduce_200(val, _values, result)
2244
2291
  result = val[0]
2245
2292
  result << val[2]
2246
2293
 
@@ -2248,65 +2295,65 @@ module_eval(<<'.,.,', 'grammar.ra', 665)
2248
2295
  end
2249
2296
  .,.,
2250
2297
 
2251
- module_eval(<<'.,.,', 'grammar.ra', 670)
2252
- def _reduce_200(val, _values, result)
2298
+ module_eval(<<'.,.,', 'grammar.ra', 673)
2299
+ def _reduce_201(val, _values, result)
2253
2300
  result = ast AST::HostName, :value => val[0]
2254
2301
 
2255
2302
  result
2256
2303
  end
2257
2304
  .,.,
2258
2305
 
2259
- module_eval(<<'.,.,', 'grammar.ra', 673)
2260
- def _reduce_201(val, _values, result)
2306
+ module_eval(<<'.,.,', 'grammar.ra', 676)
2307
+ def _reduce_202(val, _values, result)
2261
2308
  result = val[0][:value]
2262
2309
  result
2263
2310
  end
2264
2311
  .,.,
2265
2312
 
2266
- module_eval(<<'.,.,', 'grammar.ra', 674)
2267
- def _reduce_202(val, _values, result)
2313
+ module_eval(<<'.,.,', 'grammar.ra', 677)
2314
+ def _reduce_203(val, _values, result)
2268
2315
  result = val[0][:value]
2269
2316
  result
2270
2317
  end
2271
2318
  .,.,
2272
2319
 
2273
- module_eval(<<'.,.,', 'grammar.ra', 675)
2274
- def _reduce_203(val, _values, result)
2320
+ module_eval(<<'.,.,', 'grammar.ra', 678)
2321
+ def _reduce_204(val, _values, result)
2275
2322
  result = val[0][:value]
2276
2323
  result
2277
2324
  end
2278
2325
  .,.,
2279
2326
 
2280
- # reduce 204 omitted
2327
+ # reduce 205 omitted
2281
2328
 
2282
- module_eval(<<'.,.,', 'grammar.ra', 679)
2283
- def _reduce_205(val, _values, result)
2329
+ module_eval(<<'.,.,', 'grammar.ra', 682)
2330
+ def _reduce_206(val, _values, result)
2284
2331
  result = nil
2285
2332
 
2286
2333
  result
2287
2334
  end
2288
2335
  .,.,
2289
2336
 
2290
- module_eval(<<'.,.,', 'grammar.ra', 683)
2291
- def _reduce_206(val, _values, result)
2337
+ module_eval(<<'.,.,', 'grammar.ra', 686)
2338
+ def _reduce_207(val, _values, result)
2292
2339
  result = ast AST::ASTArray, :children => []
2293
2340
 
2294
2341
  result
2295
2342
  end
2296
2343
  .,.,
2297
2344
 
2298
- # reduce 207 omitted
2345
+ # reduce 208 omitted
2299
2346
 
2300
- module_eval(<<'.,.,', 'grammar.ra', 688)
2301
- def _reduce_208(val, _values, result)
2347
+ module_eval(<<'.,.,', 'grammar.ra', 691)
2348
+ def _reduce_209(val, _values, result)
2302
2349
  result = nil
2303
2350
 
2304
2351
  result
2305
2352
  end
2306
2353
  .,.,
2307
2354
 
2308
- module_eval(<<'.,.,', 'grammar.ra', 691)
2309
- def _reduce_209(val, _values, result)
2355
+ module_eval(<<'.,.,', 'grammar.ra', 694)
2356
+ def _reduce_210(val, _values, result)
2310
2357
  result = val[1]
2311
2358
  result = [result] unless result[0].is_a?(Array)
2312
2359
 
@@ -2314,10 +2361,10 @@ module_eval(<<'.,.,', 'grammar.ra', 691)
2314
2361
  end
2315
2362
  .,.,
2316
2363
 
2317
- # reduce 210 omitted
2364
+ # reduce 211 omitted
2318
2365
 
2319
- module_eval(<<'.,.,', 'grammar.ra', 697)
2320
- def _reduce_211(val, _values, result)
2366
+ module_eval(<<'.,.,', 'grammar.ra', 700)
2367
+ def _reduce_212(val, _values, result)
2321
2368
  result = val[0]
2322
2369
  result = [result] unless result[0].is_a?(Array)
2323
2370
  result << val[2]
@@ -2326,96 +2373,96 @@ module_eval(<<'.,.,', 'grammar.ra', 697)
2326
2373
  end
2327
2374
  .,.,
2328
2375
 
2329
- module_eval(<<'.,.,', 'grammar.ra', 703)
2330
- def _reduce_212(val, _values, result)
2376
+ module_eval(<<'.,.,', 'grammar.ra', 706)
2377
+ def _reduce_213(val, _values, result)
2331
2378
  result = [val[0][:value], val[2]]
2332
2379
  result
2333
2380
  end
2334
2381
  .,.,
2335
2382
 
2336
- module_eval(<<'.,.,', 'grammar.ra', 704)
2337
- def _reduce_213(val, _values, result)
2383
+ module_eval(<<'.,.,', 'grammar.ra', 707)
2384
+ def _reduce_214(val, _values, result)
2338
2385
  result = [val[0][:value]]
2339
2386
  result
2340
2387
  end
2341
2388
  .,.,
2342
2389
 
2343
- # reduce 214 omitted
2390
+ # reduce 215 omitted
2344
2391
 
2345
- module_eval(<<'.,.,', 'grammar.ra', 708)
2346
- def _reduce_215(val, _values, result)
2392
+ module_eval(<<'.,.,', 'grammar.ra', 711)
2393
+ def _reduce_216(val, _values, result)
2347
2394
  result = val[1]
2348
2395
 
2349
2396
  result
2350
2397
  end
2351
2398
  .,.,
2352
2399
 
2353
- # reduce 216 omitted
2400
+ # reduce 217 omitted
2354
2401
 
2355
- module_eval(<<'.,.,', 'grammar.ra', 713)
2356
- def _reduce_217(val, _values, result)
2402
+ module_eval(<<'.,.,', 'grammar.ra', 716)
2403
+ def _reduce_218(val, _values, result)
2357
2404
  result = val[1]
2358
2405
 
2359
2406
  result
2360
2407
  end
2361
2408
  .,.,
2362
2409
 
2363
- # reduce 218 omitted
2364
-
2365
2410
  # reduce 219 omitted
2366
2411
 
2367
- module_eval(<<'.,.,', 'grammar.ra', 719)
2368
- def _reduce_220(val, _values, result)
2412
+ # reduce 220 omitted
2413
+
2414
+ module_eval(<<'.,.,', 'grammar.ra', 722)
2415
+ def _reduce_221(val, _values, result)
2369
2416
  result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line]
2370
2417
 
2371
2418
  result
2372
2419
  end
2373
2420
  .,.,
2374
2421
 
2375
- module_eval(<<'.,.,', 'grammar.ra', 722)
2376
- def _reduce_221(val, _values, result)
2422
+ module_eval(<<'.,.,', 'grammar.ra', 725)
2423
+ def _reduce_222(val, _values, result)
2377
2424
  result = val[1]
2378
2425
  result
2379
2426
  end
2380
2427
  .,.,
2381
2428
 
2382
- module_eval(<<'.,.,', 'grammar.ra', 723)
2383
- def _reduce_222(val, _values, result)
2429
+ module_eval(<<'.,.,', 'grammar.ra', 726)
2430
+ def _reduce_223(val, _values, result)
2384
2431
  result = val[1]
2385
2432
  result
2386
2433
  end
2387
2434
  .,.,
2388
2435
 
2389
- module_eval(<<'.,.,', 'grammar.ra', 724)
2390
- def _reduce_223(val, _values, result)
2436
+ module_eval(<<'.,.,', 'grammar.ra', 727)
2437
+ def _reduce_224(val, _values, result)
2391
2438
  result = ast AST::ASTArray
2392
2439
  result
2393
2440
  end
2394
2441
  .,.,
2395
2442
 
2396
- # reduce 224 omitted
2397
-
2398
2443
  # reduce 225 omitted
2399
2444
 
2400
2445
  # reduce 226 omitted
2401
2446
 
2402
- module_eval(<<'.,.,', 'grammar.ra', 730)
2403
- def _reduce_227(val, _values, result)
2447
+ # reduce 227 omitted
2448
+
2449
+ module_eval(<<'.,.,', 'grammar.ra', 733)
2450
+ def _reduce_228(val, _values, result)
2404
2451
  result = nil
2405
2452
  result
2406
2453
  end
2407
2454
  .,.,
2408
2455
 
2409
- module_eval(<<'.,.,', 'grammar.ra', 733)
2410
- def _reduce_228(val, _values, result)
2456
+ module_eval(<<'.,.,', 'grammar.ra', 736)
2457
+ def _reduce_229(val, _values, result)
2411
2458
  result = ast AST::Regex, :value => val[0][:value]
2412
2459
 
2413
2460
  result
2414
2461
  end
2415
2462
  .,.,
2416
2463
 
2417
- module_eval(<<'.,.,', 'grammar.ra', 737)
2418
- def _reduce_229(val, _values, result)
2464
+ module_eval(<<'.,.,', 'grammar.ra', 740)
2465
+ def _reduce_230(val, _values, result)
2419
2466
  if val[1].instance_of?(AST::ASTHash)
2420
2467
  result = val[1]
2421
2468
  else
@@ -2426,8 +2473,8 @@ module_eval(<<'.,.,', 'grammar.ra', 737)
2426
2473
  end
2427
2474
  .,.,
2428
2475
 
2429
- module_eval(<<'.,.,', 'grammar.ra', 744)
2430
- def _reduce_230(val, _values, result)
2476
+ module_eval(<<'.,.,', 'grammar.ra', 747)
2477
+ def _reduce_231(val, _values, result)
2431
2478
  if val[1].instance_of?(AST::ASTHash)
2432
2479
  result = val[1]
2433
2480
  else
@@ -2438,18 +2485,18 @@ module_eval(<<'.,.,', 'grammar.ra', 744)
2438
2485
  end
2439
2486
  .,.,
2440
2487
 
2441
- module_eval(<<'.,.,', 'grammar.ra', 750)
2442
- def _reduce_231(val, _values, result)
2488
+ module_eval(<<'.,.,', 'grammar.ra', 753)
2489
+ def _reduce_232(val, _values, result)
2443
2490
  result = ast AST::ASTHash
2444
2491
 
2445
2492
  result
2446
2493
  end
2447
2494
  .,.,
2448
2495
 
2449
- # reduce 232 omitted
2496
+ # reduce 233 omitted
2450
2497
 
2451
- module_eval(<<'.,.,', 'grammar.ra', 755)
2452
- def _reduce_233(val, _values, result)
2498
+ module_eval(<<'.,.,', 'grammar.ra', 758)
2499
+ def _reduce_234(val, _values, result)
2453
2500
  if val[0].instance_of?(AST::ASTHash)
2454
2501
  result = val[0].merge(val[2])
2455
2502
  else
@@ -2461,40 +2508,40 @@ module_eval(<<'.,.,', 'grammar.ra', 755)
2461
2508
  end
2462
2509
  .,.,
2463
2510
 
2464
- module_eval(<<'.,.,', 'grammar.ra', 764)
2465
- def _reduce_234(val, _values, result)
2511
+ module_eval(<<'.,.,', 'grammar.ra', 767)
2512
+ def _reduce_235(val, _values, result)
2466
2513
  result = ast AST::ASTHash, { :value => { val[0] => val[2] } }
2467
2514
 
2468
2515
  result
2469
2516
  end
2470
2517
  .,.,
2471
2518
 
2472
- module_eval(<<'.,.,', 'grammar.ra', 767)
2473
- def _reduce_235(val, _values, result)
2519
+ module_eval(<<'.,.,', 'grammar.ra', 770)
2520
+ def _reduce_236(val, _values, result)
2474
2521
  result = val[0][:value]
2475
2522
  result
2476
2523
  end
2477
2524
  .,.,
2478
2525
 
2479
- module_eval(<<'.,.,', 'grammar.ra', 768)
2480
- def _reduce_236(val, _values, result)
2526
+ module_eval(<<'.,.,', 'grammar.ra', 771)
2527
+ def _reduce_237(val, _values, result)
2481
2528
  result = val[0]
2482
2529
  result
2483
2530
  end
2484
2531
  .,.,
2485
2532
 
2486
- module_eval(<<'.,.,', 'grammar.ra', 771)
2487
- def _reduce_237(val, _values, result)
2533
+ module_eval(<<'.,.,', 'grammar.ra', 774)
2534
+ def _reduce_238(val, _values, result)
2488
2535
  result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]
2489
2536
 
2490
2537
  result
2491
2538
  end
2492
2539
  .,.,
2493
2540
 
2494
- # reduce 238 omitted
2541
+ # reduce 239 omitted
2495
2542
 
2496
- module_eval(<<'.,.,', 'grammar.ra', 776)
2497
- def _reduce_239(val, _values, result)
2543
+ module_eval(<<'.,.,', 'grammar.ra', 779)
2544
+ def _reduce_240(val, _values, result)
2498
2545
  result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]
2499
2546
 
2500
2547
  result