dirwatch 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (547) hide show
  1. checksums.yaml +4 -4
  2. data/bin/dirwatch +1 -1
  3. data/lib/dirwatch/executors.rb +1 -1
  4. data/lib/dirwatch/extensions/blank.rb +85 -0
  5. data/lib/dirwatch/extensions/regexp.rb +7 -0
  6. data/lib/dirwatch/extensions.rb +2 -0
  7. data/lib/dirwatch/settings/watch_setting.rb +27 -10
  8. data/lib/dirwatch/settings.rb +4 -3
  9. data/lib/dirwatch/version.rb +1 -1
  10. data/lib/dirwatch/watcher.rb +5 -6
  11. data/lib/dirwatch.rb +1 -0
  12. data/vendor/bundle/ruby/2.3.0/cache/parser-2.4.0.2.gem +0 -0
  13. data/vendor/bundle/ruby/2.3.0/cache/rake-12.3.0.gem +0 -0
  14. data/vendor/bundle/ruby/2.3.0/cache/rspec-3.7.0.gem +0 -0
  15. data/vendor/bundle/ruby/2.3.0/cache/rspec-core-3.7.0.gem +0 -0
  16. data/vendor/bundle/ruby/2.3.0/cache/rspec-expectations-3.7.0.gem +0 -0
  17. data/vendor/bundle/ruby/2.3.0/cache/rspec-mocks-3.7.0.gem +0 -0
  18. data/vendor/bundle/ruby/2.3.0/cache/rspec-support-3.7.0.gem +0 -0
  19. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/CHANGELOG.md +24 -27
  20. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/Rakefile +7 -2
  21. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/doc/AST_FORMAT.md +2 -37
  22. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/all.rb +1 -0
  23. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/builders/default.rb +18 -5
  24. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/current.rb +12 -3
  25. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/lexer/literal.rb +1 -1
  26. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.2/lib/parser/lexer.rb +21892 -0
  27. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/lexer.rl +4 -9
  28. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/macruby.rb +16 -6
  29. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/macruby.y +20 -10
  30. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/meta.rb +4 -4
  31. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby18.rb +16 -6
  32. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby18.y +20 -10
  33. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby19.rb +16 -6
  34. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby19.y +20 -10
  35. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby20.rb +16 -6
  36. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby20.y +20 -10
  37. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby21.rb +8 -3
  38. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby21.y +10 -5
  39. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby22.rb +8 -3
  40. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby22.y +10 -5
  41. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby23.rb +8 -3
  42. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby23.y +10 -5
  43. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby24.rb +8 -3
  44. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ruby24.y +10 -5
  45. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.2/lib/parser/ruby25.rb +6617 -0
  46. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.2/lib/parser/ruby25.y +2362 -0
  47. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/rubymotion.rb +16 -6
  48. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/rubymotion.y +20 -10
  49. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/runner/ruby_rewrite.rb +1 -1
  50. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/runner.rb +5 -0
  51. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/buffer.rb +1 -1
  52. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/comment/associator.rb +8 -1
  53. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/comment.rb +2 -3
  54. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/rewriter.rb +4 -0
  55. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.2/lib/parser/version.rb +3 -0
  56. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/parser.gemspec +6 -5
  57. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/helper.rb +1 -1
  58. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/parse_helper.rb +7 -1
  59. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/racc_coverage_helper.rb +2 -1
  60. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_base.rb +1 -1
  61. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_current.rb +2 -0
  62. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_encoding.rb +6 -6
  63. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_lexer.rb +68 -30
  64. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_parse_helper.rb +3 -3
  65. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_parser.rb +136 -6
  66. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_comment_associator.rb +90 -0
  67. data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_map.rb +1 -1
  68. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/History.rdoc +34 -1
  69. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/application.rb +50 -12
  70. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/file_list.rb +2 -2
  71. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/file_task.rb +2 -2
  72. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/rake_module.rb +28 -0
  73. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/version.rb +1 -1
  74. data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/rake.gemspec +2 -2
  75. data/vendor/bundle/ruby/2.3.0/gems/{rspec-3.6.0 → rspec-3.7.0}/lib/rspec/version.rb +1 -1
  76. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/Changelog.md +20 -0
  77. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/configuration.rb +4 -2
  78. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/drb.rb +1 -1
  79. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/example.rb +2 -2
  80. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/example_group.rb +3 -2
  81. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/base_formatter.rb +1 -1
  82. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/deprecation_formatter.rb +6 -8
  83. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/html_printer.rb +3 -1
  84. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/html_snippet_extractor.rb +2 -0
  85. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/json_formatter.rb +2 -1
  86. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/hooks.rb +3 -1
  87. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/notifications.rb +19 -12
  88. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/option_parser.rb +1 -1
  89. data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/version.rb +1 -1
  90. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/Changelog.md +11 -0
  91. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/version.rb +1 -1
  92. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/base_matcher.rb +2 -2
  93. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/be.rb +1 -1
  94. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/respond_to.rb +1 -1
  95. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/yield.rb +1 -1
  96. data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers.rb +10 -4
  97. data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/Changelog.md +16 -0
  98. data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/README.md +1 -1
  99. data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/argument_matchers.rb +1 -1
  100. data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/error_generator.rb +7 -7
  101. data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/version.rb +1 -1
  102. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/Changelog.md +18 -0
  103. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/differ.rb +4 -4
  104. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/object_formatter.rb +1 -2
  105. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/recursive_const_methods.rb +1 -1
  106. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/ruby_features.rb +2 -2
  107. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/version.rb +1 -1
  108. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/warnings.rb +2 -2
  109. data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support.rb +10 -0
  110. data/vendor/bundle/ruby/2.3.0/specifications/{parser-2.4.0.0.gemspec → parser-2.4.0.2.gemspec} +18 -18
  111. data/vendor/bundle/ruby/2.3.0/specifications/{rake-12.1.0.gemspec → rake-12.3.0.gemspec} +4 -4
  112. data/vendor/bundle/ruby/2.3.0/specifications/{rspec-3.6.0.gemspec → rspec-3.7.0.gemspec} +13 -13
  113. data/vendor/bundle/ruby/2.3.0/specifications/{rspec-core-3.6.0.gemspec → rspec-core-3.7.0.gemspec} +10 -10
  114. data/vendor/bundle/ruby/2.3.0/specifications/{rspec-expectations-3.6.0.gemspec → rspec-expectations-3.7.0.gemspec} +7 -7
  115. data/vendor/bundle/ruby/2.3.0/specifications/{rspec-mocks-3.6.0.gemspec → rspec-mocks-3.7.0.gemspec} +7 -7
  116. data/vendor/bundle/ruby/2.3.0/specifications/{rspec-support-3.6.0.gemspec → rspec-support-3.7.0.gemspec} +4 -4
  117. metadata +394 -526
  118. data/vendor/bundle/ruby/2.3.0/bin/byebug +0 -23
  119. data/vendor/bundle/ruby/2.3.0/cache/byebug-9.1.0.gem +0 -0
  120. data/vendor/bundle/ruby/2.3.0/cache/parser-2.4.0.0.gem +0 -0
  121. data/vendor/bundle/ruby/2.3.0/cache/rake-12.1.0.gem +0 -0
  122. data/vendor/bundle/ruby/2.3.0/cache/rspec-3.6.0.gem +0 -0
  123. data/vendor/bundle/ruby/2.3.0/cache/rspec-core-3.6.0.gem +0 -0
  124. data/vendor/bundle/ruby/2.3.0/cache/rspec-expectations-3.6.0.gem +0 -0
  125. data/vendor/bundle/ruby/2.3.0/cache/rspec-mocks-3.6.0.gem +0 -0
  126. data/vendor/bundle/ruby/2.3.0/cache/rspec-support-3.6.0.gem +0 -0
  127. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/CHANGELOG.md +0 -825
  128. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/CONTRIBUTING.md +0 -65
  129. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/GUIDE.md +0 -1806
  130. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/LICENSE +0 -23
  131. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/README.md +0 -181
  132. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/bin/byebug +0 -9
  133. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/Makefile +0 -261
  134. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/breakpoint.c +0 -517
  135. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/breakpoint.o +0 -0
  136. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/byebug.c +0 -905
  137. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/byebug.h +0 -129
  138. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/byebug.o +0 -0
  139. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/byebug.so +0 -0
  140. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/context.c +0 -673
  141. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/context.o +0 -0
  142. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/extconf.rb +0 -10
  143. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/locker.c +0 -96
  144. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/locker.o +0 -0
  145. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/threads.c +0 -230
  146. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/ext/byebug/threads.o +0 -0
  147. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/attacher.rb +0 -34
  148. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/breakpoint.rb +0 -89
  149. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/byebug.so +0 -0
  150. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/command.rb +0 -105
  151. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/command_list.rb +0 -32
  152. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/break.rb +0 -98
  153. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/catch.rb +0 -80
  154. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/condition.rb +0 -55
  155. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/continue.rb +0 -48
  156. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/debug.rb +0 -36
  157. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/delete.rb +0 -55
  158. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/disable/breakpoints.rb +0 -40
  159. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/disable/display.rb +0 -41
  160. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/disable.rb +0 -31
  161. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/display.rb +0 -64
  162. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/down.rb +0 -43
  163. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/edit.rb +0 -66
  164. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/enable/breakpoints.rb +0 -40
  165. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/enable/display.rb +0 -41
  166. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/enable.rb +0 -31
  167. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/finish.rb +0 -55
  168. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/frame.rb +0 -55
  169. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/help.rb +0 -62
  170. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/history.rb +0 -37
  171. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info/breakpoints.rb +0 -61
  172. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info/display.rb +0 -42
  173. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info/file.rb +0 -80
  174. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info/line.rb +0 -33
  175. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info/program.rb +0 -47
  176. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/info.rb +0 -35
  177. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/interrupt.rb +0 -30
  178. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/irb.rb +0 -50
  179. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/kill.rb +0 -45
  180. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/list.rb +0 -164
  181. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/method.rb +0 -51
  182. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/next.rb +0 -38
  183. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/pry.rb +0 -41
  184. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/quit.rb +0 -40
  185. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/restart.rb +0 -62
  186. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/save.rb +0 -70
  187. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/set.rb +0 -77
  188. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/show.rb +0 -43
  189. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/source.rb +0 -40
  190. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/step.rb +0 -38
  191. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread/current.rb +0 -35
  192. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread/list.rb +0 -41
  193. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread/resume.rb +0 -45
  194. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread/stop.rb +0 -41
  195. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread/switch.rb +0 -44
  196. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/thread.rb +0 -32
  197. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/tracevar.rb +0 -55
  198. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/undisplay.rb +0 -50
  199. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/untracevar.rb +0 -34
  200. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/up.rb +0 -43
  201. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/all.rb +0 -39
  202. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/args.rb +0 -37
  203. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/const.rb +0 -49
  204. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/global.rb +0 -35
  205. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/instance.rb +0 -37
  206. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var/local.rb +0 -37
  207. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/var.rb +0 -35
  208. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands/where.rb +0 -51
  209. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/commands.rb +0 -37
  210. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/context.rb +0 -155
  211. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/core.rb +0 -114
  212. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/errors.rb +0 -27
  213. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/frame.rb +0 -185
  214. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/bin.rb +0 -26
  215. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/eval.rb +0 -124
  216. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/file.rb +0 -61
  217. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/frame.rb +0 -73
  218. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/parse.rb +0 -75
  219. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/path.rb +0 -38
  220. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/reflection.rb +0 -17
  221. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/string.rb +0 -34
  222. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/thread.rb +0 -65
  223. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/toggle.rb +0 -62
  224. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/helpers/var.rb +0 -52
  225. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/history.rb +0 -128
  226. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/interface.rb +0 -144
  227. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/interfaces/local_interface.rb +0 -44
  228. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/interfaces/remote_interface.rb +0 -38
  229. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/interfaces/script_interface.rb +0 -30
  230. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/interfaces/test_interface.rb +0 -65
  231. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/option_setter.rb +0 -93
  232. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/printers/base.rb +0 -69
  233. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/printers/plain.rb +0 -42
  234. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/printers/texts/base.yml +0 -115
  235. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/printers/texts/plain.yml +0 -33
  236. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/processors/command_processor.rb +0 -174
  237. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/processors/control_processor.rb +0 -26
  238. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/processors/post_mortem_processor.rb +0 -16
  239. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/processors/script_processor.rb +0 -45
  240. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/remote.rb +0 -105
  241. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/runner.rb +0 -191
  242. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/setting.rb +0 -73
  243. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/autoirb.rb +0 -27
  244. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/autolist.rb +0 -27
  245. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/autopry.rb +0 -27
  246. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/autosave.rb +0 -15
  247. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/basename.rb +0 -14
  248. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/callstyle.rb +0 -20
  249. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/fullpath.rb +0 -14
  250. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/histfile.rb +0 -18
  251. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/histsize.rb +0 -18
  252. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/linetrace.rb +0 -20
  253. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/listsize.rb +0 -19
  254. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/post_mortem.rb +0 -25
  255. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/savefile.rb +0 -18
  256. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/stack_on_error.rb +0 -13
  257. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/settings/width.rb +0 -18
  258. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/subcommands.rb +0 -52
  259. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug/version.rb +0 -8
  260. data/vendor/bundle/ruby/2.3.0/gems/byebug-9.1.0/lib/byebug.rb +0 -1
  261. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.0/lib/parser/lexer.rb +0 -21715
  262. data/vendor/bundle/ruby/2.3.0/gems/parser-2.4.0.0/lib/parser/version.rb +0 -3
  263. data/vendor/bundle/ruby/2.3.0/specifications/byebug-9.1.0.gemspec +0 -38
  264. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/CONTRIBUTING.md +0 -0
  265. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/Gemfile +0 -0
  266. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/LICENSE.txt +0 -0
  267. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/README.md +0 -0
  268. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/bin/ruby-parse +0 -0
  269. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/bin/ruby-rewrite +0 -0
  270. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/doc/CUSTOMIZATION.md +0 -0
  271. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/doc/INTERNALS.md +0 -0
  272. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/doc/css/common.css +0 -0
  273. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/gauntlet_parser.rb +0 -0
  274. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ast/node.rb +0 -0
  275. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/ast/processor.rb +0 -0
  276. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/base.rb +0 -0
  277. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/clobbering_error.rb +0 -0
  278. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/compatibility/ruby1_8.rb +0 -0
  279. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/compatibility/ruby1_9.rb +0 -0
  280. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/diagnostic/engine.rb +0 -0
  281. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/diagnostic.rb +0 -0
  282. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/lexer/dedenter.rb +0 -0
  283. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/lexer/explanation.rb +0 -0
  284. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/lexer/stack_state.rb +0 -0
  285. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/messages.rb +0 -0
  286. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/rewriter.rb +0 -0
  287. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/runner/ruby_parse.rb +0 -0
  288. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/collection.rb +0 -0
  289. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/condition.rb +0 -0
  290. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/constant.rb +0 -0
  291. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/definition.rb +0 -0
  292. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/for.rb +0 -0
  293. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/heredoc.rb +0 -0
  294. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/keyword.rb +0 -0
  295. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/objc_kwarg.rb +0 -0
  296. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/operator.rb +0 -0
  297. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/rescue_body.rb +0 -0
  298. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/send.rb +0 -0
  299. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/ternary.rb +0 -0
  300. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map/variable.rb +0 -0
  301. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/map.rb +0 -0
  302. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/range.rb +0 -0
  303. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/source/rewriter/action.rb +0 -0
  304. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/static_environment.rb +0 -0
  305. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser/syntax_error.rb +0 -0
  306. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/lib/parser.rb +0 -0
  307. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/bug_163/fixtures/input.rb +0 -0
  308. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/bug_163/fixtures/output.rb +0 -0
  309. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/bug_163/rewriter.rb +0 -0
  310. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/bug_163/test_runner_rewrite.rb +0 -0
  311. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_diagnostic.rb +0 -0
  312. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_diagnostic_engine.rb +0 -0
  313. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_lexer_stack_state.rb +0 -0
  314. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_buffer.rb +0 -0
  315. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_comment.rb +0 -0
  316. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_range.rb +0 -0
  317. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_rewriter.rb +0 -0
  318. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_source_rewriter_action.rb +0 -0
  319. /data/vendor/bundle/ruby/2.3.0/gems/{parser-2.4.0.0 → parser-2.4.0.2}/test/test_static_environment.rb +0 -0
  320. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/CONTRIBUTING.rdoc +0 -0
  321. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/Gemfile +0 -0
  322. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/MIT-LICENSE +0 -0
  323. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/README.rdoc +0 -0
  324. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/Rakefile +0 -0
  325. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/bin/console +0 -0
  326. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/bin/setup +0 -0
  327. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/command_line_usage.rdoc +0 -0
  328. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/example/Rakefile1 +0 -0
  329. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/example/Rakefile2 +0 -0
  330. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/example/a.c +0 -0
  331. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/example/b.c +0 -0
  332. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/example/main.c +0 -0
  333. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/glossary.rdoc +0 -0
  334. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/jamis.rb +0 -0
  335. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/proto_rake.rdoc +0 -0
  336. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/rake.1 +0 -0
  337. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/rakefile.rdoc +0 -0
  338. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/doc/rational.rdoc +0 -0
  339. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/exe/rake +0 -0
  340. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/backtrace.rb +0 -0
  341. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/clean.rb +0 -0
  342. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/cloneable.rb +0 -0
  343. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/cpu_counter.rb +0 -0
  344. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/default_loader.rb +0 -0
  345. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/dsl_definition.rb +0 -0
  346. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/early_time.rb +0 -0
  347. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/ext/core.rb +0 -0
  348. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/ext/string.rb +0 -0
  349. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/file_creation_task.rb +0 -0
  350. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/file_utils.rb +0 -0
  351. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/file_utils_ext.rb +0 -0
  352. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/invocation_chain.rb +0 -0
  353. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/invocation_exception_mixin.rb +0 -0
  354. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/late_time.rb +0 -0
  355. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/linked_list.rb +0 -0
  356. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/loaders/makefile.rb +0 -0
  357. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/multi_task.rb +0 -0
  358. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/name_space.rb +0 -0
  359. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/packagetask.rb +0 -0
  360. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/phony.rb +0 -0
  361. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/private_reader.rb +0 -0
  362. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/promise.rb +0 -0
  363. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/pseudo_status.rb +0 -0
  364. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/rake_test_loader.rb +0 -0
  365. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/rule_recursion_overflow_error.rb +0 -0
  366. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/scope.rb +0 -0
  367. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/task.rb +0 -0
  368. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/task_argument_error.rb +0 -0
  369. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/task_arguments.rb +0 -0
  370. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/task_manager.rb +0 -0
  371. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/tasklib.rb +0 -0
  372. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/testtask.rb +0 -0
  373. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/thread_history_display.rb +0 -0
  374. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/thread_pool.rb +0 -0
  375. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/trace_output.rb +0 -0
  376. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake/win32.rb +0 -0
  377. /data/vendor/bundle/ruby/2.3.0/gems/{rake-12.1.0 → rake-12.3.0}/lib/rake.rb +0 -0
  378. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-3.6.0 → rspec-3.7.0}/LICENSE.md +0 -0
  379. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-3.6.0 → rspec-3.7.0}/README.md +0 -0
  380. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-3.6.0 → rspec-3.7.0}/lib/rspec.rb +0 -0
  381. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/LICENSE.md +0 -0
  382. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/README.md +0 -0
  383. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/exe/rspec +0 -0
  384. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/autorun.rb +0 -0
  385. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/backtrace_formatter.rb +0 -0
  386. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/bisect/coordinator.rb +0 -0
  387. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/bisect/example_minimizer.rb +0 -0
  388. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/bisect/runner.rb +0 -0
  389. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/bisect/server.rb +0 -0
  390. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/configuration_options.rb +0 -0
  391. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/dsl.rb +0 -0
  392. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/example_status_persister.rb +0 -0
  393. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/filter_manager.rb +0 -0
  394. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/flat_map.rb +0 -0
  395. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/base_text_formatter.rb +0 -0
  396. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/bisect_formatter.rb +0 -0
  397. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/bisect_progress_formatter.rb +0 -0
  398. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/console_codes.rb +0 -0
  399. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/documentation_formatter.rb +0 -0
  400. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/exception_presenter.rb +0 -0
  401. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/fallback_message_formatter.rb +0 -0
  402. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/helpers.rb +0 -0
  403. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/html_formatter.rb +0 -0
  404. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/profile_formatter.rb +0 -0
  405. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/progress_formatter.rb +0 -0
  406. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/protocol.rb +0 -0
  407. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/snippet_extractor.rb +0 -0
  408. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters/syntax_highlighter.rb +0 -0
  409. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/formatters.rb +0 -0
  410. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/invocations.rb +0 -0
  411. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/memoized_helpers.rb +0 -0
  412. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/metadata.rb +0 -0
  413. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/metadata_filter.rb +0 -0
  414. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/minitest_assertions_adapter.rb +0 -0
  415. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/mocking_adapters/flexmock.rb +0 -0
  416. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/mocking_adapters/mocha.rb +0 -0
  417. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/mocking_adapters/null.rb +0 -0
  418. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/mocking_adapters/rr.rb +0 -0
  419. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/mocking_adapters/rspec.rb +0 -0
  420. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/ordering.rb +0 -0
  421. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/output_wrapper.rb +0 -0
  422. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/pending.rb +0 -0
  423. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/profiler.rb +0 -0
  424. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/project_initializer/spec/spec_helper.rb +0 -0
  425. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/project_initializer.rb +0 -0
  426. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/rake_task.rb +0 -0
  427. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/reporter.rb +0 -0
  428. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/ruby_project.rb +0 -0
  429. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/runner.rb +0 -0
  430. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/sandbox.rb +0 -0
  431. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/set.rb +0 -0
  432. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/shared_context.rb +0 -0
  433. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/shared_example_group.rb +0 -0
  434. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/shell_escape.rb +0 -0
  435. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/test_unit_assertions_adapter.rb +0 -0
  436. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/warnings.rb +0 -0
  437. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core/world.rb +0 -0
  438. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-core-3.6.0 → rspec-core-3.7.0}/lib/rspec/core.rb +0 -0
  439. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/LICENSE.md +0 -0
  440. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/README.md +0 -0
  441. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/block_snippet_extractor.rb +0 -0
  442. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/configuration.rb +0 -0
  443. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/expectation_target.rb +0 -0
  444. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/fail_with.rb +0 -0
  445. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/failure_aggregator.rb +0 -0
  446. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/handler.rb +0 -0
  447. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/minitest_integration.rb +0 -0
  448. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations/syntax.rb +0 -0
  449. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/expectations.rb +0 -0
  450. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/aliased_matcher.rb +0 -0
  451. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/all.rb +0 -0
  452. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/be_between.rb +0 -0
  453. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/be_instance_of.rb +0 -0
  454. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/be_kind_of.rb +0 -0
  455. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/be_within.rb +0 -0
  456. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/change.rb +0 -0
  457. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/compound.rb +0 -0
  458. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/contain_exactly.rb +0 -0
  459. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/cover.rb +0 -0
  460. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/eq.rb +0 -0
  461. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/eql.rb +0 -0
  462. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/equal.rb +0 -0
  463. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/exist.rb +0 -0
  464. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/has.rb +0 -0
  465. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/have_attributes.rb +0 -0
  466. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/include.rb +0 -0
  467. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/match.rb +0 -0
  468. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/operators.rb +0 -0
  469. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/output.rb +0 -0
  470. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/raise_error.rb +0 -0
  471. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/satisfy.rb +0 -0
  472. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/start_or_end_with.rb +0 -0
  473. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in/throw_symbol.rb +0 -0
  474. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/built_in.rb +0 -0
  475. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/composable.rb +0 -0
  476. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/dsl.rb +0 -0
  477. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/english_phrasing.rb +0 -0
  478. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +0 -0
  479. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/fail_matchers.rb +0 -0
  480. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/generated_descriptions.rb +0 -0
  481. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/matcher_delegator.rb +0 -0
  482. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-expectations-3.6.0 → rspec-expectations-3.7.0}/lib/rspec/matchers/matcher_protocol.rb +0 -0
  483. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/LICENSE.md +0 -0
  484. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/chain.rb +0 -0
  485. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/error_generator.rb +0 -0
  486. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/expect_chain_chain.rb +0 -0
  487. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/expectation_chain.rb +0 -0
  488. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/message_chains.rb +0 -0
  489. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/proxy.rb +0 -0
  490. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/recorder.rb +0 -0
  491. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/stub_chain.rb +0 -0
  492. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance/stub_chain_chain.rb +0 -0
  493. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/any_instance.rb +0 -0
  494. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/argument_list_matcher.rb +0 -0
  495. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/configuration.rb +0 -0
  496. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/example_methods.rb +0 -0
  497. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/instance_method_stasher.rb +0 -0
  498. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/marshal_extension.rb +0 -0
  499. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/matchers/expectation_customization.rb +0 -0
  500. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/matchers/have_received.rb +0 -0
  501. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/matchers/receive.rb +0 -0
  502. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/matchers/receive_message_chain.rb +0 -0
  503. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/matchers/receive_messages.rb +0 -0
  504. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/message_chain.rb +0 -0
  505. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/message_expectation.rb +0 -0
  506. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/method_double.rb +0 -0
  507. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/method_reference.rb +0 -0
  508. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/minitest_integration.rb +0 -0
  509. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/mutate_const.rb +0 -0
  510. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/object_reference.rb +0 -0
  511. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/order_group.rb +0 -0
  512. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/proxy.rb +0 -0
  513. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/space.rb +0 -0
  514. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/standalone.rb +0 -0
  515. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/syntax.rb +0 -0
  516. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/targets.rb +0 -0
  517. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/test_double.rb +0 -0
  518. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/verifying_double.rb +0 -0
  519. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/verifying_message_expectation.rb +0 -0
  520. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks/verifying_proxy.rb +0 -0
  521. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-mocks-3.6.0 → rspec-mocks-3.7.0}/lib/rspec/mocks.rb +0 -0
  522. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/LICENSE.md +0 -0
  523. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/README.md +0 -0
  524. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/caller_filter.rb +0 -0
  525. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/comparable_version.rb +0 -0
  526. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/directory_maker.rb +0 -0
  527. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/encoded_string.rb +0 -0
  528. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/fuzzy_matcher.rb +0 -0
  529. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/hunk_generator.rb +0 -0
  530. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/matcher_definition.rb +0 -0
  531. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/method_signature_verifier.rb +0 -0
  532. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/mutex.rb +0 -0
  533. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/reentrant_mutex.rb +0 -0
  534. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/source/location.rb +0 -0
  535. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/source/node.rb +0 -0
  536. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/source/token.rb +0 -0
  537. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/source.rb +0 -0
  538. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/deprecation_helpers.rb +0 -0
  539. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/formatting_support.rb +0 -0
  540. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/in_sub_process.rb +0 -0
  541. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/library_wide_checks.rb +0 -0
  542. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/shell_out.rb +0 -0
  543. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/stderr_splitter.rb +0 -0
  544. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/string_matcher.rb +0 -0
  545. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/with_isolated_directory.rb +0 -0
  546. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec/with_isolated_stderr.rb +0 -0
  547. /data/vendor/bundle/ruby/2.3.0/gems/{rspec-support-3.6.0 → rspec-support-3.7.0}/lib/rspec/support/spec.rb +0 -0
@@ -0,0 +1,2362 @@
1
+ class Parser::Ruby25
2
+
3
+ token kCLASS kMODULE kDEF kUNDEF kBEGIN kRESCUE kENSURE kEND kIF kUNLESS
4
+ kTHEN kELSIF kELSE kCASE kWHEN kWHILE kUNTIL kFOR kBREAK kNEXT
5
+ kREDO kRETRY kIN kDO kDO_COND kDO_BLOCK kDO_LAMBDA kRETURN kYIELD kSUPER
6
+ kSELF kNIL kTRUE kFALSE kAND kOR kNOT kIF_MOD kUNLESS_MOD kWHILE_MOD
7
+ kUNTIL_MOD kRESCUE_MOD kALIAS kDEFINED klBEGIN klEND k__LINE__
8
+ k__FILE__ k__ENCODING__ tIDENTIFIER tFID tGVAR tIVAR tCONSTANT
9
+ tLABEL tCVAR tNTH_REF tBACK_REF tSTRING_CONTENT tINTEGER tFLOAT
10
+ tUPLUS tUMINUS tUNARY_NUM tPOW tCMP tEQ tEQQ tNEQ
11
+ tGEQ tLEQ tANDOP tOROP tMATCH tNMATCH tDOT tDOT2 tDOT3 tAREF
12
+ tASET tLSHFT tRSHFT tCOLON2 tCOLON3 tOP_ASGN tASSOC tLPAREN
13
+ tLPAREN2 tRPAREN tLPAREN_ARG tLBRACK tLBRACK2 tRBRACK tLBRACE
14
+ tLBRACE_ARG tSTAR tSTAR2 tAMPER tAMPER2 tTILDE tPERCENT tDIVIDE
15
+ tDSTAR tPLUS tMINUS tLT tGT tPIPE tBANG tCARET tLCURLY tRCURLY
16
+ tBACK_REF2 tSYMBEG tSTRING_BEG tXSTRING_BEG tREGEXP_BEG tREGEXP_OPT
17
+ tWORDS_BEG tQWORDS_BEG tSYMBOLS_BEG tQSYMBOLS_BEG tSTRING_DBEG
18
+ tSTRING_DVAR tSTRING_END tSTRING_DEND tSTRING tSYMBOL
19
+ tNL tEH tCOLON tCOMMA tSPACE tSEMI tLAMBDA tLAMBEG tCHARACTER
20
+ tRATIONAL tIMAGINARY tLABEL_END tANDDOT
21
+
22
+ prechigh
23
+ right tBANG tTILDE tUPLUS
24
+ right tPOW
25
+ right tUNARY_NUM tUMINUS
26
+ left tSTAR2 tDIVIDE tPERCENT
27
+ left tPLUS tMINUS
28
+ left tLSHFT tRSHFT
29
+ left tAMPER2
30
+ left tPIPE tCARET
31
+ left tGT tGEQ tLT tLEQ
32
+ nonassoc tCMP tEQ tEQQ tNEQ tMATCH tNMATCH
33
+ left tANDOP
34
+ left tOROP
35
+ nonassoc tDOT2 tDOT3
36
+ right tEH tCOLON
37
+ left kRESCUE_MOD
38
+ right tEQL tOP_ASGN
39
+ nonassoc kDEFINED
40
+ right kNOT
41
+ left kOR kAND
42
+ nonassoc kIF_MOD kUNLESS_MOD kWHILE_MOD kUNTIL_MOD
43
+ nonassoc tLBRACE_ARG
44
+ nonassoc tLOWEST
45
+ preclow
46
+
47
+ rule
48
+
49
+ program: top_compstmt
50
+
51
+ top_compstmt: top_stmts opt_terms
52
+ {
53
+ result = @builder.compstmt(val[0])
54
+ }
55
+
56
+ top_stmts: # nothing
57
+ {
58
+ result = []
59
+ }
60
+ | top_stmt
61
+ {
62
+ result = [ val[0] ]
63
+ }
64
+ | top_stmts terms top_stmt
65
+ {
66
+ result = val[0] << val[2]
67
+ }
68
+ | error top_stmt
69
+ {
70
+ result = [ val[1] ]
71
+ }
72
+
73
+ top_stmt: stmt
74
+ | klBEGIN tLCURLY top_compstmt tRCURLY
75
+ {
76
+ result = @builder.preexe(val[0], val[1], val[2], val[3])
77
+ }
78
+
79
+ bodystmt: compstmt opt_rescue opt_else opt_ensure
80
+ {
81
+ rescue_bodies = val[1]
82
+ else_t, else_ = val[2]
83
+ ensure_t, ensure_ = val[3]
84
+
85
+ if rescue_bodies.empty? && !else_.nil?
86
+ diagnostic :warning, :useless_else, nil, else_t
87
+ end
88
+
89
+ result = @builder.begin_body(val[0],
90
+ rescue_bodies,
91
+ else_t, else_,
92
+ ensure_t, ensure_)
93
+ }
94
+
95
+ compstmt: stmts opt_terms
96
+ {
97
+ result = @builder.compstmt(val[0])
98
+ }
99
+
100
+ stmts: # nothing
101
+ {
102
+ result = []
103
+ }
104
+ | stmt_or_begin
105
+ {
106
+ result = [ val[0] ]
107
+ }
108
+ | stmts terms stmt_or_begin
109
+ {
110
+ result = val[0] << val[2]
111
+ }
112
+ | error stmt
113
+ {
114
+ result = [ val[1] ]
115
+ }
116
+
117
+ stmt_or_begin: stmt
118
+ | klBEGIN tLCURLY top_compstmt tRCURLY
119
+ {
120
+ diagnostic :error, :begin_in_method, nil, val[0]
121
+ }
122
+
123
+ stmt: kALIAS fitem
124
+ {
125
+ @lexer.state = :expr_fname
126
+ }
127
+ fitem
128
+ {
129
+ result = @builder.alias(val[0], val[1], val[3])
130
+ }
131
+ | kALIAS tGVAR tGVAR
132
+ {
133
+ result = @builder.alias(val[0],
134
+ @builder.gvar(val[1]),
135
+ @builder.gvar(val[2]))
136
+ }
137
+ | kALIAS tGVAR tBACK_REF
138
+ {
139
+ result = @builder.alias(val[0],
140
+ @builder.gvar(val[1]),
141
+ @builder.back_ref(val[2]))
142
+ }
143
+ | kALIAS tGVAR tNTH_REF
144
+ {
145
+ diagnostic :error, :nth_ref_alias, nil, val[2]
146
+ }
147
+ | kUNDEF undef_list
148
+ {
149
+ result = @builder.undef_method(val[0], val[1])
150
+ }
151
+ | stmt kIF_MOD expr_value
152
+ {
153
+ result = @builder.condition_mod(val[0], nil,
154
+ val[1], val[2])
155
+ }
156
+ | stmt kUNLESS_MOD expr_value
157
+ {
158
+ result = @builder.condition_mod(nil, val[0],
159
+ val[1], val[2])
160
+ }
161
+ | stmt kWHILE_MOD expr_value
162
+ {
163
+ result = @builder.loop_mod(:while, val[0], val[1], val[2])
164
+ }
165
+ | stmt kUNTIL_MOD expr_value
166
+ {
167
+ result = @builder.loop_mod(:until, val[0], val[1], val[2])
168
+ }
169
+ | stmt kRESCUE_MOD stmt
170
+ {
171
+ rescue_body = @builder.rescue_body(val[1],
172
+ nil, nil, nil,
173
+ nil, val[2])
174
+
175
+ result = @builder.begin_body(val[0], [ rescue_body ])
176
+ }
177
+ | klEND tLCURLY compstmt tRCURLY
178
+ {
179
+ result = @builder.postexe(val[0], val[1], val[2], val[3])
180
+ }
181
+ | command_asgn
182
+ | mlhs tEQL command_call
183
+ {
184
+ result = @builder.multi_assign(val[0], val[1], val[2])
185
+ }
186
+ | lhs tEQL mrhs
187
+ {
188
+ result = @builder.assign(val[0], val[1],
189
+ @builder.array(nil, val[2], nil))
190
+ }
191
+ | mlhs tEQL mrhs_arg
192
+ {
193
+ result = @builder.multi_assign(val[0], val[1], val[2])
194
+ }
195
+ | expr
196
+
197
+ command_asgn: lhs tEQL command_rhs
198
+ {
199
+ result = @builder.assign(val[0], val[1], val[2])
200
+ }
201
+ | var_lhs tOP_ASGN command_rhs
202
+ {
203
+ result = @builder.op_assign(val[0], val[1], val[2])
204
+ }
205
+ | primary_value tLBRACK2 opt_call_args rbracket tOP_ASGN command_rhs
206
+ {
207
+ result = @builder.op_assign(
208
+ @builder.index(
209
+ val[0], val[1], val[2], val[3]),
210
+ val[4], val[5])
211
+ }
212
+ | primary_value call_op tIDENTIFIER tOP_ASGN command_rhs
213
+ {
214
+ result = @builder.op_assign(
215
+ @builder.call_method(
216
+ val[0], val[1], val[2]),
217
+ val[3], val[4])
218
+ }
219
+ | primary_value call_op tCONSTANT tOP_ASGN command_rhs
220
+ {
221
+ result = @builder.op_assign(
222
+ @builder.call_method(
223
+ val[0], val[1], val[2]),
224
+ val[3], val[4])
225
+ }
226
+ | primary_value tCOLON2 tCONSTANT tOP_ASGN command_rhs
227
+ {
228
+ const = @builder.const_op_assignable(
229
+ @builder.const_fetch(val[0], val[1], val[2]))
230
+ result = @builder.op_assign(const, val[3], val[4])
231
+ }
232
+ | primary_value tCOLON2 tIDENTIFIER tOP_ASGN command_rhs
233
+ {
234
+ result = @builder.op_assign(
235
+ @builder.call_method(
236
+ val[0], val[1], val[2]),
237
+ val[3], val[4])
238
+ }
239
+ | backref tOP_ASGN command_rhs
240
+ {
241
+ @builder.op_assign(val[0], val[1], val[2])
242
+ }
243
+
244
+ command_rhs: command_call =tOP_ASGN
245
+ | command_call kRESCUE_MOD stmt
246
+ {
247
+ rescue_body = @builder.rescue_body(val[1],
248
+ nil, nil, nil,
249
+ nil, val[2])
250
+
251
+ result = @builder.begin_body(val[0], [ rescue_body ])
252
+ }
253
+ | command_asgn
254
+
255
+ expr: command_call
256
+ | expr kAND expr
257
+ {
258
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
259
+ }
260
+ | expr kOR expr
261
+ {
262
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
263
+ }
264
+ | kNOT opt_nl expr
265
+ {
266
+ result = @builder.not_op(val[0], nil, val[2], nil)
267
+ }
268
+ | tBANG command_call
269
+ {
270
+ result = @builder.not_op(val[0], nil, val[1], nil)
271
+ }
272
+ | arg
273
+
274
+ expr_value: expr
275
+
276
+ command_call: command
277
+ | block_command
278
+
279
+ block_command: block_call
280
+ | block_call dot_or_colon operation2 command_args
281
+ {
282
+ result = @builder.call_method(val[0], val[1], val[2],
283
+ nil, val[3], nil)
284
+ }
285
+
286
+ cmd_brace_block: tLBRACE_ARG brace_body tRCURLY
287
+ {
288
+ result = [ val[0], *val[1], val[2] ]
289
+ }
290
+
291
+ fcall: operation
292
+
293
+ command: fcall command_args =tLOWEST
294
+ {
295
+ result = @builder.call_method(nil, nil, val[0],
296
+ nil, val[1], nil)
297
+ }
298
+ | fcall command_args cmd_brace_block
299
+ {
300
+ method_call = @builder.call_method(nil, nil, val[0],
301
+ nil, val[1], nil)
302
+
303
+ begin_t, args, body, end_t = val[2]
304
+ result = @builder.block(method_call,
305
+ begin_t, args, body, end_t)
306
+ }
307
+ | primary_value call_op operation2 command_args =tLOWEST
308
+ {
309
+ result = @builder.call_method(val[0], val[1], val[2],
310
+ nil, val[3], nil)
311
+ }
312
+ | primary_value call_op operation2 command_args cmd_brace_block
313
+ {
314
+ method_call = @builder.call_method(val[0], val[1], val[2],
315
+ nil, val[3], nil)
316
+
317
+ begin_t, args, body, end_t = val[4]
318
+ result = @builder.block(method_call,
319
+ begin_t, args, body, end_t)
320
+ }
321
+ | primary_value tCOLON2 operation2 command_args =tLOWEST
322
+ {
323
+ result = @builder.call_method(val[0], val[1], val[2],
324
+ nil, val[3], nil)
325
+ }
326
+ | primary_value tCOLON2 operation2 command_args cmd_brace_block
327
+ {
328
+ method_call = @builder.call_method(val[0], val[1], val[2],
329
+ nil, val[3], nil)
330
+
331
+ begin_t, args, body, end_t = val[4]
332
+ result = @builder.block(method_call,
333
+ begin_t, args, body, end_t)
334
+ }
335
+ | kSUPER command_args
336
+ {
337
+ result = @builder.keyword_cmd(:super, val[0],
338
+ nil, val[1], nil)
339
+ }
340
+ | kYIELD command_args
341
+ {
342
+ result = @builder.keyword_cmd(:yield, val[0],
343
+ nil, val[1], nil)
344
+ }
345
+ | kRETURN call_args
346
+ {
347
+ result = @builder.keyword_cmd(:return, val[0],
348
+ nil, val[1], nil)
349
+ }
350
+ | kBREAK call_args
351
+ {
352
+ result = @builder.keyword_cmd(:break, val[0],
353
+ nil, val[1], nil)
354
+ }
355
+ | kNEXT call_args
356
+ {
357
+ result = @builder.keyword_cmd(:next, val[0],
358
+ nil, val[1], nil)
359
+ }
360
+
361
+ mlhs: mlhs_basic
362
+ {
363
+ result = @builder.multi_lhs(nil, val[0], nil)
364
+ }
365
+ | tLPAREN mlhs_inner rparen
366
+ {
367
+ result = @builder.begin(val[0], val[1], val[2])
368
+ }
369
+
370
+ mlhs_inner: mlhs_basic
371
+ {
372
+ result = @builder.multi_lhs(nil, val[0], nil)
373
+ }
374
+ | tLPAREN mlhs_inner rparen
375
+ {
376
+ result = @builder.multi_lhs(val[0], val[1], val[2])
377
+ }
378
+
379
+ mlhs_basic: mlhs_head
380
+ | mlhs_head mlhs_item
381
+ {
382
+ result = val[0].
383
+ push(val[1])
384
+ }
385
+ | mlhs_head tSTAR mlhs_node
386
+ {
387
+ result = val[0].
388
+ push(@builder.splat(val[1], val[2]))
389
+ }
390
+ | mlhs_head tSTAR mlhs_node tCOMMA mlhs_post
391
+ {
392
+ result = val[0].
393
+ push(@builder.splat(val[1], val[2])).
394
+ concat(val[4])
395
+ }
396
+ | mlhs_head tSTAR
397
+ {
398
+ result = val[0].
399
+ push(@builder.splat(val[1]))
400
+ }
401
+ | mlhs_head tSTAR tCOMMA mlhs_post
402
+ {
403
+ result = val[0].
404
+ push(@builder.splat(val[1])).
405
+ concat(val[3])
406
+ }
407
+ | tSTAR mlhs_node
408
+ {
409
+ result = [ @builder.splat(val[0], val[1]) ]
410
+ }
411
+ | tSTAR mlhs_node tCOMMA mlhs_post
412
+ {
413
+ result = [ @builder.splat(val[0], val[1]),
414
+ *val[3] ]
415
+ }
416
+ | tSTAR
417
+ {
418
+ result = [ @builder.splat(val[0]) ]
419
+ }
420
+ | tSTAR tCOMMA mlhs_post
421
+ {
422
+ result = [ @builder.splat(val[0]),
423
+ *val[2] ]
424
+ }
425
+
426
+ mlhs_item: mlhs_node
427
+ | tLPAREN mlhs_inner rparen
428
+ {
429
+ result = @builder.begin(val[0], val[1], val[2])
430
+ }
431
+
432
+ mlhs_head: mlhs_item tCOMMA
433
+ {
434
+ result = [ val[0] ]
435
+ }
436
+ | mlhs_head mlhs_item tCOMMA
437
+ {
438
+ result = val[0] << val[1]
439
+ }
440
+
441
+ mlhs_post: mlhs_item
442
+ {
443
+ result = [ val[0] ]
444
+ }
445
+ | mlhs_post tCOMMA mlhs_item
446
+ {
447
+ result = val[0] << val[2]
448
+ }
449
+
450
+ mlhs_node: user_variable
451
+ {
452
+ result = @builder.assignable(val[0])
453
+ }
454
+ | keyword_variable
455
+ {
456
+ result = @builder.assignable(val[0])
457
+ }
458
+ | primary_value tLBRACK2 opt_call_args rbracket
459
+ {
460
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
461
+ }
462
+ | primary_value call_op tIDENTIFIER
463
+ {
464
+ result = @builder.attr_asgn(val[0], val[1], val[2])
465
+ }
466
+ | primary_value tCOLON2 tIDENTIFIER
467
+ {
468
+ result = @builder.attr_asgn(val[0], val[1], val[2])
469
+ }
470
+ | primary_value call_op tCONSTANT
471
+ {
472
+ result = @builder.attr_asgn(val[0], val[1], val[2])
473
+ }
474
+ | primary_value tCOLON2 tCONSTANT
475
+ {
476
+ result = @builder.assignable(
477
+ @builder.const_fetch(val[0], val[1], val[2]))
478
+ }
479
+ | tCOLON3 tCONSTANT
480
+ {
481
+ result = @builder.assignable(
482
+ @builder.const_global(val[0], val[1]))
483
+ }
484
+ | backref
485
+ {
486
+ result = @builder.assignable(val[0])
487
+ }
488
+
489
+ lhs: user_variable
490
+ {
491
+ result = @builder.assignable(val[0])
492
+ }
493
+ | keyword_variable
494
+ {
495
+ result = @builder.assignable(val[0])
496
+ }
497
+ | primary_value tLBRACK2 opt_call_args rbracket
498
+ {
499
+ result = @builder.index_asgn(val[0], val[1], val[2], val[3])
500
+ }
501
+ | primary_value call_op tIDENTIFIER
502
+ {
503
+ result = @builder.attr_asgn(val[0], val[1], val[2])
504
+ }
505
+ | primary_value tCOLON2 tIDENTIFIER
506
+ {
507
+ result = @builder.attr_asgn(val[0], val[1], val[2])
508
+ }
509
+ | primary_value call_op tCONSTANT
510
+ {
511
+ result = @builder.attr_asgn(val[0], val[1], val[2])
512
+ }
513
+ | primary_value tCOLON2 tCONSTANT
514
+ {
515
+ result = @builder.assignable(
516
+ @builder.const_fetch(val[0], val[1], val[2]))
517
+ }
518
+ | tCOLON3 tCONSTANT
519
+ {
520
+ result = @builder.assignable(
521
+ @builder.const_global(val[0], val[1]))
522
+ }
523
+ | backref
524
+ {
525
+ result = @builder.assignable(val[0])
526
+ }
527
+
528
+ cname: tIDENTIFIER
529
+ {
530
+ diagnostic :error, :module_name_const, nil, val[0]
531
+ }
532
+ | tCONSTANT
533
+
534
+ cpath: tCOLON3 cname
535
+ {
536
+ result = @builder.const_global(val[0], val[1])
537
+ }
538
+ | cname
539
+ {
540
+ result = @builder.const(val[0])
541
+ }
542
+ | primary_value tCOLON2 cname
543
+ {
544
+ result = @builder.const_fetch(val[0], val[1], val[2])
545
+ }
546
+
547
+ fname: tIDENTIFIER | tCONSTANT | tFID
548
+ | op
549
+ | reswords
550
+
551
+ fsym: fname
552
+ {
553
+ result = @builder.symbol(val[0])
554
+ }
555
+ | symbol
556
+
557
+ fitem: fsym
558
+ | dsym
559
+
560
+ undef_list: fitem
561
+ {
562
+ result = [ val[0] ]
563
+ }
564
+ | undef_list tCOMMA
565
+ {
566
+ @lexer.state = :expr_fname
567
+ }
568
+ fitem
569
+ {
570
+ result = val[0] << val[3]
571
+ }
572
+
573
+ op: tPIPE | tCARET | tAMPER2 | tCMP | tEQ | tEQQ
574
+ | tMATCH | tNMATCH | tGT | tGEQ | tLT | tLEQ
575
+ | tNEQ | tLSHFT | tRSHFT | tPLUS | tMINUS | tSTAR2
576
+ | tSTAR | tDIVIDE | tPERCENT | tPOW | tBANG | tTILDE
577
+ | tUPLUS | tUMINUS | tAREF | tASET | tDSTAR | tBACK_REF2
578
+
579
+ reswords: k__LINE__ | k__FILE__ | k__ENCODING__ | klBEGIN | klEND
580
+ | kALIAS | kAND | kBEGIN | kBREAK | kCASE
581
+ | kCLASS | kDEF | kDEFINED | kDO | kELSE
582
+ | kELSIF | kEND | kENSURE | kFALSE | kFOR
583
+ | kIN | kMODULE | kNEXT | kNIL | kNOT
584
+ | kOR | kREDO | kRESCUE | kRETRY | kRETURN
585
+ | kSELF | kSUPER | kTHEN | kTRUE | kUNDEF
586
+ | kWHEN | kYIELD | kIF | kUNLESS | kWHILE
587
+ | kUNTIL
588
+
589
+ arg: lhs tEQL arg_rhs
590
+ {
591
+ result = @builder.assign(val[0], val[1], val[2])
592
+ }
593
+ | var_lhs tOP_ASGN arg_rhs
594
+ {
595
+ result = @builder.op_assign(val[0], val[1], val[2])
596
+ }
597
+ | primary_value tLBRACK2 opt_call_args rbracket tOP_ASGN arg_rhs
598
+ {
599
+ result = @builder.op_assign(
600
+ @builder.index(
601
+ val[0], val[1], val[2], val[3]),
602
+ val[4], val[5])
603
+ }
604
+ | primary_value call_op tIDENTIFIER tOP_ASGN arg_rhs
605
+ {
606
+ result = @builder.op_assign(
607
+ @builder.call_method(
608
+ val[0], val[1], val[2]),
609
+ val[3], val[4])
610
+ }
611
+ | primary_value call_op tCONSTANT tOP_ASGN arg_rhs
612
+ {
613
+ result = @builder.op_assign(
614
+ @builder.call_method(
615
+ val[0], val[1], val[2]),
616
+ val[3], val[4])
617
+ }
618
+ | primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg_rhs
619
+ {
620
+ result = @builder.op_assign(
621
+ @builder.call_method(
622
+ val[0], val[1], val[2]),
623
+ val[3], val[4])
624
+ }
625
+ | primary_value tCOLON2 tCONSTANT tOP_ASGN arg_rhs
626
+ {
627
+ const = @builder.const_op_assignable(
628
+ @builder.const_fetch(val[0], val[1], val[2]))
629
+ result = @builder.op_assign(const, val[3], val[4])
630
+ }
631
+ | tCOLON3 tCONSTANT tOP_ASGN arg_rhs
632
+ {
633
+ const = @builder.const_op_assignable(
634
+ @builder.const_global(val[0], val[1]))
635
+ result = @builder.op_assign(const, val[2], val[3])
636
+ }
637
+ | backref tOP_ASGN arg_rhs
638
+ {
639
+ result = @builder.op_assign(val[0], val[1], val[2])
640
+ }
641
+ | arg tDOT2 arg
642
+ {
643
+ result = @builder.range_inclusive(val[0], val[1], val[2])
644
+ }
645
+ | arg tDOT3 arg
646
+ {
647
+ result = @builder.range_exclusive(val[0], val[1], val[2])
648
+ }
649
+ | arg tPLUS arg
650
+ {
651
+ result = @builder.binary_op(val[0], val[1], val[2])
652
+ }
653
+ | arg tMINUS arg
654
+ {
655
+ result = @builder.binary_op(val[0], val[1], val[2])
656
+ }
657
+ | arg tSTAR2 arg
658
+ {
659
+ result = @builder.binary_op(val[0], val[1], val[2])
660
+ }
661
+ | arg tDIVIDE arg
662
+ {
663
+ result = @builder.binary_op(val[0], val[1], val[2])
664
+ }
665
+ | arg tPERCENT arg
666
+ {
667
+ result = @builder.binary_op(val[0], val[1], val[2])
668
+ }
669
+ | arg tPOW arg
670
+ {
671
+ result = @builder.binary_op(val[0], val[1], val[2])
672
+ }
673
+ | tUNARY_NUM simple_numeric tPOW arg
674
+ {
675
+ result = @builder.unary_op(val[0],
676
+ @builder.binary_op(
677
+ val[1], val[2], val[3]))
678
+ }
679
+ | tUPLUS arg
680
+ {
681
+ result = @builder.unary_op(val[0], val[1])
682
+ }
683
+ | tUMINUS arg
684
+ {
685
+ result = @builder.unary_op(val[0], val[1])
686
+ }
687
+ | arg tPIPE arg
688
+ {
689
+ result = @builder.binary_op(val[0], val[1], val[2])
690
+ }
691
+ | arg tCARET arg
692
+ {
693
+ result = @builder.binary_op(val[0], val[1], val[2])
694
+ }
695
+ | arg tAMPER2 arg
696
+ {
697
+ result = @builder.binary_op(val[0], val[1], val[2])
698
+ }
699
+ | arg tCMP arg
700
+ {
701
+ result = @builder.binary_op(val[0], val[1], val[2])
702
+ }
703
+ | rel_expr =tCMP
704
+ | arg tEQ arg
705
+ {
706
+ result = @builder.binary_op(val[0], val[1], val[2])
707
+ }
708
+ | arg tEQQ arg
709
+ {
710
+ result = @builder.binary_op(val[0], val[1], val[2])
711
+ }
712
+ | arg tNEQ arg
713
+ {
714
+ result = @builder.binary_op(val[0], val[1], val[2])
715
+ }
716
+ | arg tMATCH arg
717
+ {
718
+ result = @builder.match_op(val[0], val[1], val[2])
719
+ }
720
+ | arg tNMATCH arg
721
+ {
722
+ result = @builder.binary_op(val[0], val[1], val[2])
723
+ }
724
+ | tBANG arg
725
+ {
726
+ result = @builder.not_op(val[0], nil, val[1], nil)
727
+ }
728
+ | tTILDE arg
729
+ {
730
+ result = @builder.unary_op(val[0], val[1])
731
+ }
732
+ | arg tLSHFT arg
733
+ {
734
+ result = @builder.binary_op(val[0], val[1], val[2])
735
+ }
736
+ | arg tRSHFT arg
737
+ {
738
+ result = @builder.binary_op(val[0], val[1], val[2])
739
+ }
740
+ | arg tANDOP arg
741
+ {
742
+ result = @builder.logical_op(:and, val[0], val[1], val[2])
743
+ }
744
+ | arg tOROP arg
745
+ {
746
+ result = @builder.logical_op(:or, val[0], val[1], val[2])
747
+ }
748
+ | kDEFINED opt_nl arg
749
+ {
750
+ result = @builder.keyword_cmd(:defined?, val[0], nil, [ val[2] ], nil)
751
+ }
752
+ | arg tEH arg opt_nl tCOLON arg
753
+ {
754
+ result = @builder.ternary(val[0], val[1],
755
+ val[2], val[4], val[5])
756
+ }
757
+ | primary
758
+
759
+ relop: tGT | tLT | tGEQ | tLEQ
760
+
761
+ rel_expr: arg relop arg =tGT
762
+ {
763
+ result = @builder.binary_op(val[0], val[1], val[2])
764
+ }
765
+ | rel_expr relop arg =tGT
766
+ {
767
+ result = @builder.binary_op(val[0], val[1], val[2])
768
+ }
769
+
770
+ arg_value: arg
771
+
772
+ aref_args: none
773
+ | args trailer
774
+ | args tCOMMA assocs trailer
775
+ {
776
+ result = val[0] << @builder.associate(nil, val[2], nil)
777
+ }
778
+ | assocs trailer
779
+ {
780
+ result = [ @builder.associate(nil, val[0], nil) ]
781
+ }
782
+
783
+ arg_rhs: arg =tOP_ASGN
784
+ | arg kRESCUE_MOD arg
785
+ {
786
+ rescue_body = @builder.rescue_body(val[1],
787
+ nil, nil, nil,
788
+ nil, val[2])
789
+
790
+ result = @builder.begin_body(val[0], [ rescue_body ])
791
+ }
792
+
793
+ paren_args: tLPAREN2 opt_call_args rparen
794
+ {
795
+ result = val
796
+ }
797
+
798
+ opt_paren_args: # nothing
799
+ {
800
+ result = [ nil, [], nil ]
801
+ }
802
+ | paren_args
803
+
804
+ opt_call_args: # nothing
805
+ {
806
+ result = []
807
+ }
808
+ | call_args
809
+ | args tCOMMA
810
+ | args tCOMMA assocs tCOMMA
811
+ {
812
+ result = val[0] << @builder.associate(nil, val[2], nil)
813
+ }
814
+ | assocs tCOMMA
815
+ {
816
+ result = [ @builder.associate(nil, val[0], nil) ]
817
+ }
818
+
819
+ call_args: command
820
+ {
821
+ result = [ val[0] ]
822
+ }
823
+ | args opt_block_arg
824
+ {
825
+ result = val[0].concat(val[1])
826
+ }
827
+ | assocs opt_block_arg
828
+ {
829
+ result = [ @builder.associate(nil, val[0], nil) ]
830
+ result.concat(val[1])
831
+ }
832
+ | args tCOMMA assocs opt_block_arg
833
+ {
834
+ assocs = @builder.associate(nil, val[2], nil)
835
+ result = val[0] << assocs
836
+ result.concat(val[3])
837
+ }
838
+ | block_arg
839
+ {
840
+ result = [ val[0] ]
841
+ }
842
+
843
+ command_args: {
844
+ result = @lexer.cmdarg.dup
845
+ @lexer.cmdarg.push(true)
846
+ }
847
+ call_args
848
+ {
849
+ @lexer.cmdarg = val[0]
850
+
851
+ result = val[1]
852
+ }
853
+
854
+ block_arg: tAMPER arg_value
855
+ {
856
+ result = @builder.block_pass(val[0], val[1])
857
+ }
858
+
859
+ opt_block_arg: tCOMMA block_arg
860
+ {
861
+ result = [ val[1] ]
862
+ }
863
+ | # nothing
864
+ {
865
+ result = []
866
+ }
867
+
868
+ args: arg_value
869
+ {
870
+ result = [ val[0] ]
871
+ }
872
+ | tSTAR arg_value
873
+ {
874
+ result = [ @builder.splat(val[0], val[1]) ]
875
+ }
876
+ | args tCOMMA arg_value
877
+ {
878
+ result = val[0] << val[2]
879
+ }
880
+ | args tCOMMA tSTAR arg_value
881
+ {
882
+ result = val[0] << @builder.splat(val[2], val[3])
883
+ }
884
+
885
+ mrhs_arg: mrhs
886
+ {
887
+ result = @builder.array(nil, val[0], nil)
888
+ }
889
+ | arg_value
890
+
891
+ mrhs: args tCOMMA arg_value
892
+ {
893
+ result = val[0] << val[2]
894
+ }
895
+ | args tCOMMA tSTAR arg_value
896
+ {
897
+ result = val[0] << @builder.splat(val[2], val[3])
898
+ }
899
+ | tSTAR arg_value
900
+ {
901
+ result = [ @builder.splat(val[0], val[1]) ]
902
+ }
903
+
904
+ primary: literal
905
+ | strings
906
+ | xstring
907
+ | regexp
908
+ | words
909
+ | qwords
910
+ | symbols
911
+ | qsymbols
912
+ | var_ref
913
+ | backref
914
+ | tFID
915
+ {
916
+ result = @builder.call_method(nil, nil, val[0])
917
+ }
918
+ | kBEGIN
919
+ {
920
+ result = @lexer.cmdarg.dup
921
+ @lexer.cmdarg.clear
922
+ }
923
+ bodystmt kEND
924
+ {
925
+ @lexer.cmdarg = val[1]
926
+
927
+ result = @builder.begin_keyword(val[0], val[2], val[3])
928
+ }
929
+ | tLPAREN_ARG
930
+ {
931
+ result = @lexer.cmdarg.dup
932
+ @lexer.cmdarg.clear
933
+ }
934
+ stmt
935
+ {
936
+ @lexer.state = :expr_endarg
937
+ }
938
+ rparen
939
+ {
940
+ @lexer.cmdarg = val[1]
941
+
942
+ result = @builder.begin(val[0], val[2], val[4])
943
+ }
944
+ | tLPAREN_ARG
945
+ {
946
+ @lexer.state = :expr_endarg
947
+ }
948
+ opt_nl tRPAREN
949
+ {
950
+ result = @builder.begin(val[0], nil, val[3])
951
+ }
952
+ | tLPAREN compstmt tRPAREN
953
+ {
954
+ result = @builder.begin(val[0], val[1], val[2])
955
+ }
956
+ | primary_value tCOLON2 tCONSTANT
957
+ {
958
+ result = @builder.const_fetch(val[0], val[1], val[2])
959
+ }
960
+ | tCOLON3 tCONSTANT
961
+ {
962
+ result = @builder.const_global(val[0], val[1])
963
+ }
964
+ | tLBRACK aref_args tRBRACK
965
+ {
966
+ result = @builder.array(val[0], val[1], val[2])
967
+ }
968
+ | tLBRACE assoc_list tRCURLY
969
+ {
970
+ result = @builder.associate(val[0], val[1], val[2])
971
+ }
972
+ | kRETURN
973
+ {
974
+ result = @builder.keyword_cmd(:return, val[0])
975
+ }
976
+ | kYIELD tLPAREN2 call_args rparen
977
+ {
978
+ result = @builder.keyword_cmd(:yield, val[0], val[1], val[2], val[3])
979
+ }
980
+ | kYIELD tLPAREN2 rparen
981
+ {
982
+ result = @builder.keyword_cmd(:yield, val[0], val[1], [], val[2])
983
+ }
984
+ | kYIELD
985
+ {
986
+ result = @builder.keyword_cmd(:yield, val[0])
987
+ }
988
+ | kDEFINED opt_nl tLPAREN2 expr rparen
989
+ {
990
+ result = @builder.keyword_cmd(:defined?, val[0],
991
+ val[2], [ val[3] ], val[4])
992
+ }
993
+ | kNOT tLPAREN2 expr rparen
994
+ {
995
+ result = @builder.not_op(val[0], val[1], val[2], val[3])
996
+ }
997
+ | kNOT tLPAREN2 rparen
998
+ {
999
+ result = @builder.not_op(val[0], val[1], nil, val[2])
1000
+ }
1001
+ | fcall brace_block
1002
+ {
1003
+ method_call = @builder.call_method(nil, nil, val[0])
1004
+
1005
+ begin_t, args, body, end_t = val[1]
1006
+ result = @builder.block(method_call,
1007
+ begin_t, args, body, end_t)
1008
+ }
1009
+ | method_call
1010
+ | method_call brace_block
1011
+ {
1012
+ begin_t, args, body, end_t = val[1]
1013
+ result = @builder.block(val[0],
1014
+ begin_t, args, body, end_t)
1015
+ }
1016
+ | tLAMBDA lambda
1017
+ {
1018
+ lambda_call = @builder.call_lambda(val[0])
1019
+
1020
+ args, (begin_t, body, end_t) = val[1]
1021
+ result = @builder.block(lambda_call,
1022
+ begin_t, args, body, end_t)
1023
+ }
1024
+ | kIF expr_value then compstmt if_tail kEND
1025
+ {
1026
+ else_t, else_ = val[4]
1027
+ result = @builder.condition(val[0], val[1], val[2],
1028
+ val[3], else_t,
1029
+ else_, val[5])
1030
+ }
1031
+ | kUNLESS expr_value then compstmt opt_else kEND
1032
+ {
1033
+ else_t, else_ = val[4]
1034
+ result = @builder.condition(val[0], val[1], val[2],
1035
+ else_, else_t,
1036
+ val[3], val[5])
1037
+ }
1038
+ | kWHILE
1039
+ {
1040
+ @lexer.cond.push(true)
1041
+ }
1042
+ expr_value do
1043
+ {
1044
+ @lexer.cond.pop
1045
+ }
1046
+ compstmt kEND
1047
+ {
1048
+ result = @builder.loop(:while, val[0], val[2], val[3],
1049
+ val[5], val[6])
1050
+ }
1051
+ | kUNTIL
1052
+ {
1053
+ @lexer.cond.push(true)
1054
+ }
1055
+ expr_value do
1056
+ {
1057
+ @lexer.cond.pop
1058
+ }
1059
+ compstmt kEND
1060
+ {
1061
+ result = @builder.loop(:until, val[0], val[2], val[3],
1062
+ val[5], val[6])
1063
+ }
1064
+ | kCASE expr_value opt_terms case_body kEND
1065
+ {
1066
+ *when_bodies, (else_t, else_body) = *val[3]
1067
+
1068
+ result = @builder.case(val[0], val[1],
1069
+ when_bodies, else_t, else_body,
1070
+ val[4])
1071
+ }
1072
+ | kCASE opt_terms case_body kEND
1073
+ {
1074
+ *when_bodies, (else_t, else_body) = *val[2]
1075
+
1076
+ result = @builder.case(val[0], nil,
1077
+ when_bodies, else_t, else_body,
1078
+ val[3])
1079
+ }
1080
+ | kFOR for_var kIN
1081
+ {
1082
+ @lexer.cond.push(true)
1083
+ }
1084
+ expr_value do
1085
+ {
1086
+ @lexer.cond.pop
1087
+ }
1088
+ compstmt kEND
1089
+ {
1090
+ result = @builder.for(val[0], val[1],
1091
+ val[2], val[4],
1092
+ val[5], val[7], val[8])
1093
+ }
1094
+ | kCLASS cpath superclass
1095
+ {
1096
+ @static_env.extend_static
1097
+ @lexer.push_cmdarg
1098
+ }
1099
+ bodystmt kEND
1100
+ {
1101
+ if in_def?
1102
+ diagnostic :error, :class_in_def, nil, val[0]
1103
+ end
1104
+
1105
+ lt_t, superclass = val[2]
1106
+ result = @builder.def_class(val[0], val[1],
1107
+ lt_t, superclass,
1108
+ val[4], val[5])
1109
+
1110
+ @lexer.pop_cmdarg
1111
+ @static_env.unextend
1112
+ }
1113
+ | kCLASS tLSHFT expr term
1114
+ {
1115
+ result = @def_level
1116
+ @def_level = 0
1117
+
1118
+ @static_env.extend_static
1119
+ @lexer.push_cmdarg
1120
+ }
1121
+ bodystmt kEND
1122
+ {
1123
+ result = @builder.def_sclass(val[0], val[1], val[2],
1124
+ val[5], val[6])
1125
+
1126
+ @lexer.pop_cmdarg
1127
+ @static_env.unextend
1128
+
1129
+ @def_level = val[4]
1130
+ }
1131
+ | kMODULE cpath
1132
+ {
1133
+ @static_env.extend_static
1134
+ @lexer.push_cmdarg
1135
+ }
1136
+ bodystmt kEND
1137
+ {
1138
+ if in_def?
1139
+ diagnostic :error, :module_in_def, nil, val[0]
1140
+ end
1141
+
1142
+ result = @builder.def_module(val[0], val[1],
1143
+ val[3], val[4])
1144
+
1145
+ @lexer.pop_cmdarg
1146
+ @static_env.unextend
1147
+ }
1148
+ | kDEF fname
1149
+ {
1150
+ @def_level += 1
1151
+ @static_env.extend_static
1152
+ @lexer.push_cmdarg
1153
+ }
1154
+ f_arglist bodystmt kEND
1155
+ {
1156
+ result = @builder.def_method(val[0], val[1],
1157
+ val[3], val[4], val[5])
1158
+
1159
+ @lexer.pop_cmdarg
1160
+ @static_env.unextend
1161
+ @def_level -= 1
1162
+ }
1163
+ | kDEF singleton dot_or_colon
1164
+ {
1165
+ @lexer.state = :expr_fname
1166
+ }
1167
+ fname
1168
+ {
1169
+ @def_level += 1
1170
+ @static_env.extend_static
1171
+ @lexer.push_cmdarg
1172
+ }
1173
+ f_arglist bodystmt kEND
1174
+ {
1175
+ result = @builder.def_singleton(val[0], val[1], val[2],
1176
+ val[4], val[6], val[7], val[8])
1177
+
1178
+ @lexer.pop_cmdarg
1179
+ @static_env.unextend
1180
+ @def_level -= 1
1181
+ }
1182
+ | kBREAK
1183
+ {
1184
+ result = @builder.keyword_cmd(:break, val[0])
1185
+ }
1186
+ | kNEXT
1187
+ {
1188
+ result = @builder.keyword_cmd(:next, val[0])
1189
+ }
1190
+ | kREDO
1191
+ {
1192
+ result = @builder.keyword_cmd(:redo, val[0])
1193
+ }
1194
+ | kRETRY
1195
+ {
1196
+ result = @builder.keyword_cmd(:retry, val[0])
1197
+ }
1198
+
1199
+ primary_value: primary
1200
+
1201
+ then: term
1202
+ | kTHEN
1203
+ | term kTHEN
1204
+ {
1205
+ result = val[1]
1206
+ }
1207
+
1208
+ do: term
1209
+ | kDO_COND
1210
+
1211
+ if_tail: opt_else
1212
+ | kELSIF expr_value then compstmt if_tail
1213
+ {
1214
+ else_t, else_ = val[4]
1215
+ result = [ val[0],
1216
+ @builder.condition(val[0], val[1], val[2],
1217
+ val[3], else_t,
1218
+ else_, nil),
1219
+ ]
1220
+ }
1221
+
1222
+ opt_else: none
1223
+ | kELSE compstmt
1224
+ {
1225
+ result = val
1226
+ }
1227
+
1228
+ for_var: lhs
1229
+ | mlhs
1230
+
1231
+ f_marg: f_norm_arg
1232
+ {
1233
+ result = @builder.arg(val[0])
1234
+ }
1235
+ | tLPAREN f_margs rparen
1236
+ {
1237
+ result = @builder.multi_lhs(val[0], val[1], val[2])
1238
+ }
1239
+
1240
+ f_marg_list: f_marg
1241
+ {
1242
+ result = [ val[0] ]
1243
+ }
1244
+ | f_marg_list tCOMMA f_marg
1245
+ {
1246
+ result = val[0] << val[2]
1247
+ }
1248
+
1249
+ f_margs: f_marg_list
1250
+ | f_marg_list tCOMMA tSTAR f_norm_arg
1251
+ {
1252
+ result = val[0].
1253
+ push(@builder.restarg(val[2], val[3]))
1254
+ }
1255
+ | f_marg_list tCOMMA tSTAR f_norm_arg tCOMMA f_marg_list
1256
+ {
1257
+ result = val[0].
1258
+ push(@builder.restarg(val[2], val[3])).
1259
+ concat(val[5])
1260
+ }
1261
+ | f_marg_list tCOMMA tSTAR
1262
+ {
1263
+ result = val[0].
1264
+ push(@builder.restarg(val[2]))
1265
+ }
1266
+ | f_marg_list tCOMMA tSTAR tCOMMA f_marg_list
1267
+ {
1268
+ result = val[0].
1269
+ push(@builder.restarg(val[2])).
1270
+ concat(val[4])
1271
+ }
1272
+ | tSTAR f_norm_arg
1273
+ {
1274
+ result = [ @builder.restarg(val[0], val[1]) ]
1275
+ }
1276
+ | tSTAR f_norm_arg tCOMMA f_marg_list
1277
+ {
1278
+ result = [ @builder.restarg(val[0], val[1]),
1279
+ *val[3] ]
1280
+ }
1281
+ | tSTAR
1282
+ {
1283
+ result = [ @builder.restarg(val[0]) ]
1284
+ }
1285
+ | tSTAR tCOMMA f_marg_list
1286
+ {
1287
+ result = [ @builder.restarg(val[0]),
1288
+ *val[2] ]
1289
+ }
1290
+
1291
+ block_args_tail: f_block_kwarg tCOMMA f_kwrest opt_f_block_arg
1292
+ {
1293
+ result = val[0].concat(val[2]).concat(val[3])
1294
+ }
1295
+ | f_block_kwarg opt_f_block_arg
1296
+ {
1297
+ result = val[0].concat(val[1])
1298
+ }
1299
+ | f_kwrest opt_f_block_arg
1300
+ {
1301
+ result = val[0].concat(val[1])
1302
+ }
1303
+ | f_block_arg
1304
+ {
1305
+ result = [ val[0] ]
1306
+ }
1307
+
1308
+ opt_block_args_tail:
1309
+ tCOMMA block_args_tail
1310
+ {
1311
+ result = val[1]
1312
+ }
1313
+ | # nothing
1314
+ {
1315
+ result = []
1316
+ }
1317
+
1318
+ block_param: f_arg tCOMMA f_block_optarg tCOMMA f_rest_arg opt_block_args_tail
1319
+ {
1320
+ result = val[0].
1321
+ concat(val[2]).
1322
+ concat(val[4]).
1323
+ concat(val[5])
1324
+ }
1325
+ | f_arg tCOMMA f_block_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1326
+ {
1327
+ result = val[0].
1328
+ concat(val[2]).
1329
+ concat(val[4]).
1330
+ concat(val[6]).
1331
+ concat(val[7])
1332
+ }
1333
+ | f_arg tCOMMA f_block_optarg opt_block_args_tail
1334
+ {
1335
+ result = val[0].
1336
+ concat(val[2]).
1337
+ concat(val[3])
1338
+ }
1339
+ | f_arg tCOMMA f_block_optarg tCOMMA f_arg opt_block_args_tail
1340
+ {
1341
+ result = val[0].
1342
+ concat(val[2]).
1343
+ concat(val[4]).
1344
+ concat(val[5])
1345
+ }
1346
+ | f_arg tCOMMA f_rest_arg opt_block_args_tail
1347
+ {
1348
+ result = val[0].
1349
+ concat(val[2]).
1350
+ concat(val[3])
1351
+ }
1352
+ | f_arg tCOMMA
1353
+ | f_arg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1354
+ {
1355
+ result = val[0].
1356
+ concat(val[2]).
1357
+ concat(val[4]).
1358
+ concat(val[5])
1359
+ }
1360
+ | f_arg opt_block_args_tail
1361
+ {
1362
+ if val[1].empty? && val[0].size == 1
1363
+ result = [@builder.procarg0(val[0][0])]
1364
+ else
1365
+ result = val[0].concat(val[1])
1366
+ end
1367
+ }
1368
+ | f_block_optarg tCOMMA f_rest_arg opt_block_args_tail
1369
+ {
1370
+ result = val[0].
1371
+ concat(val[2]).
1372
+ concat(val[3])
1373
+ }
1374
+ | f_block_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1375
+ {
1376
+ result = val[0].
1377
+ concat(val[2]).
1378
+ concat(val[4]).
1379
+ concat(val[5])
1380
+ }
1381
+ | f_block_optarg opt_block_args_tail
1382
+ {
1383
+ result = val[0].
1384
+ concat(val[1])
1385
+ }
1386
+ | f_block_optarg tCOMMA f_arg opt_block_args_tail
1387
+ {
1388
+ result = val[0].
1389
+ concat(val[2]).
1390
+ concat(val[3])
1391
+ }
1392
+ | f_rest_arg opt_block_args_tail
1393
+ {
1394
+ result = val[0].
1395
+ concat(val[1])
1396
+ }
1397
+ | f_rest_arg tCOMMA f_arg opt_block_args_tail
1398
+ {
1399
+ result = val[0].
1400
+ concat(val[2]).
1401
+ concat(val[3])
1402
+ }
1403
+ | block_args_tail
1404
+
1405
+ opt_block_param: # nothing
1406
+ {
1407
+ result = @builder.args(nil, [], nil)
1408
+ }
1409
+ | block_param_def
1410
+ {
1411
+ @lexer.state = :expr_value
1412
+ }
1413
+
1414
+ block_param_def: tPIPE opt_bv_decl tPIPE
1415
+ {
1416
+ result = @builder.args(val[0], val[1], val[2])
1417
+ }
1418
+ | tOROP
1419
+ {
1420
+ result = @builder.args(val[0], [], val[0])
1421
+ }
1422
+ | tPIPE block_param opt_bv_decl tPIPE
1423
+ {
1424
+ result = @builder.args(val[0], val[1].concat(val[2]), val[3])
1425
+ }
1426
+
1427
+ opt_bv_decl: opt_nl
1428
+ {
1429
+ result = []
1430
+ }
1431
+ | opt_nl tSEMI bv_decls opt_nl
1432
+ {
1433
+ result = val[2]
1434
+ }
1435
+
1436
+ bv_decls: bvar
1437
+ {
1438
+ result = [ val[0] ]
1439
+ }
1440
+ | bv_decls tCOMMA bvar
1441
+ {
1442
+ result = val[0] << val[2]
1443
+ }
1444
+
1445
+ bvar: tIDENTIFIER
1446
+ {
1447
+ @static_env.declare val[0][0]
1448
+ result = @builder.shadowarg(val[0])
1449
+ }
1450
+ | f_bad_arg
1451
+
1452
+ lambda: {
1453
+ @static_env.extend_dynamic
1454
+ }
1455
+ f_larglist
1456
+ {
1457
+ result = @lexer.cmdarg.dup
1458
+ @lexer.cmdarg.clear
1459
+ }
1460
+ lambda_body
1461
+ {
1462
+ @lexer.cmdarg = val[2]
1463
+ @lexer.cmdarg.lexpop
1464
+
1465
+ result = [ val[1], val[3] ]
1466
+
1467
+ @static_env.unextend
1468
+ }
1469
+
1470
+ f_larglist: tLPAREN2 f_args opt_bv_decl tRPAREN
1471
+ {
1472
+ result = @builder.args(val[0], val[1].concat(val[2]), val[3])
1473
+ }
1474
+ | f_args
1475
+ {
1476
+ result = @builder.args(nil, val[0], nil)
1477
+ }
1478
+
1479
+ lambda_body: tLAMBEG compstmt tRCURLY
1480
+ {
1481
+ result = [ val[0], val[1], val[2] ]
1482
+ }
1483
+ | kDO_LAMBDA compstmt kEND
1484
+ {
1485
+ result = [ val[0], val[1], val[2] ]
1486
+ }
1487
+
1488
+ do_block: kDO_BLOCK do_body kEND
1489
+ {
1490
+ result = [ val[0], *val[1], val[2] ]
1491
+ }
1492
+
1493
+ block_call: command do_block
1494
+ {
1495
+ begin_t, block_args, body, end_t = val[1]
1496
+ result = @builder.block(val[0],
1497
+ begin_t, block_args, body, end_t)
1498
+ }
1499
+ | block_call dot_or_colon operation2 opt_paren_args
1500
+ {
1501
+ lparen_t, args, rparen_t = val[3]
1502
+ result = @builder.call_method(val[0], val[1], val[2],
1503
+ lparen_t, args, rparen_t)
1504
+ }
1505
+ | block_call dot_or_colon operation2 opt_paren_args brace_block
1506
+ {
1507
+ lparen_t, args, rparen_t = val[3]
1508
+ method_call = @builder.call_method(val[0], val[1], val[2],
1509
+ lparen_t, args, rparen_t)
1510
+
1511
+ begin_t, args, body, end_t = val[4]
1512
+ result = @builder.block(method_call,
1513
+ begin_t, args, body, end_t)
1514
+ }
1515
+ | block_call dot_or_colon operation2 command_args do_block
1516
+ {
1517
+ method_call = @builder.call_method(val[0], val[1], val[2],
1518
+ nil, val[3], nil)
1519
+
1520
+ begin_t, args, body, end_t = val[4]
1521
+ result = @builder.block(method_call,
1522
+ begin_t, args, body, end_t)
1523
+ }
1524
+
1525
+ method_call: fcall paren_args
1526
+ {
1527
+ lparen_t, args, rparen_t = val[1]
1528
+ result = @builder.call_method(nil, nil, val[0],
1529
+ lparen_t, args, rparen_t)
1530
+ }
1531
+ | primary_value call_op operation2 opt_paren_args
1532
+ {
1533
+ lparen_t, args, rparen_t = val[3]
1534
+ result = @builder.call_method(val[0], val[1], val[2],
1535
+ lparen_t, args, rparen_t)
1536
+ }
1537
+ | primary_value tCOLON2 operation2 paren_args
1538
+ {
1539
+ lparen_t, args, rparen_t = val[3]
1540
+ result = @builder.call_method(val[0], val[1], val[2],
1541
+ lparen_t, args, rparen_t)
1542
+ }
1543
+ | primary_value tCOLON2 operation3
1544
+ {
1545
+ result = @builder.call_method(val[0], val[1], val[2])
1546
+ }
1547
+ | primary_value call_op paren_args
1548
+ {
1549
+ lparen_t, args, rparen_t = val[2]
1550
+ result = @builder.call_method(val[0], val[1], nil,
1551
+ lparen_t, args, rparen_t)
1552
+ }
1553
+ | primary_value tCOLON2 paren_args
1554
+ {
1555
+ lparen_t, args, rparen_t = val[2]
1556
+ result = @builder.call_method(val[0], val[1], nil,
1557
+ lparen_t, args, rparen_t)
1558
+ }
1559
+ | kSUPER paren_args
1560
+ {
1561
+ lparen_t, args, rparen_t = val[1]
1562
+ result = @builder.keyword_cmd(:super, val[0],
1563
+ lparen_t, args, rparen_t)
1564
+ }
1565
+ | kSUPER
1566
+ {
1567
+ result = @builder.keyword_cmd(:zsuper, val[0])
1568
+ }
1569
+ | primary_value tLBRACK2 opt_call_args rbracket
1570
+ {
1571
+ result = @builder.index(val[0], val[1], val[2], val[3])
1572
+ }
1573
+
1574
+ brace_block: tLCURLY brace_body tRCURLY
1575
+ {
1576
+ result = [ val[0], *val[1], val[2] ]
1577
+ }
1578
+ | kDO do_body kEND
1579
+ {
1580
+ result = [ val[0], *val[1], val[2] ]
1581
+ }
1582
+
1583
+ brace_body: {
1584
+ @static_env.extend_dynamic
1585
+ }
1586
+ {
1587
+ result = @lexer.cmdarg.dup
1588
+ @lexer.cmdarg.clear
1589
+ }
1590
+ opt_block_param compstmt
1591
+ {
1592
+ result = [ val[2], val[3] ]
1593
+
1594
+ @static_env.unextend
1595
+ @lexer.cmdarg = val[1]
1596
+ @lexer.cmdarg.pop
1597
+ }
1598
+
1599
+ do_body: {
1600
+ @static_env.extend_dynamic
1601
+ }
1602
+ {
1603
+ result = @lexer.cmdarg.dup
1604
+ @lexer.cmdarg.clear
1605
+ }
1606
+ opt_block_param bodystmt
1607
+ {
1608
+ result = [ val[2], val[3] ]
1609
+
1610
+ @static_env.unextend
1611
+ @lexer.cmdarg = val[1]
1612
+ @lexer.cmdarg.pop
1613
+ }
1614
+
1615
+ case_body: kWHEN args then compstmt cases
1616
+ {
1617
+ result = [ @builder.when(val[0], val[1], val[2], val[3]),
1618
+ *val[4] ]
1619
+ }
1620
+
1621
+ cases: opt_else
1622
+ {
1623
+ result = [ val[0] ]
1624
+ }
1625
+ | case_body
1626
+
1627
+ opt_rescue: kRESCUE exc_list exc_var then compstmt opt_rescue
1628
+ {
1629
+ assoc_t, exc_var = val[2]
1630
+
1631
+ if val[1]
1632
+ exc_list = @builder.array(nil, val[1], nil)
1633
+ end
1634
+
1635
+ result = [ @builder.rescue_body(val[0],
1636
+ exc_list, assoc_t, exc_var,
1637
+ val[3], val[4]),
1638
+ *val[5] ]
1639
+ }
1640
+ |
1641
+ {
1642
+ result = []
1643
+ }
1644
+
1645
+ exc_list: arg_value
1646
+ {
1647
+ result = [ val[0] ]
1648
+ }
1649
+ | mrhs
1650
+ | none
1651
+
1652
+ exc_var: tASSOC lhs
1653
+ {
1654
+ result = [ val[0], val[1] ]
1655
+ }
1656
+ | none
1657
+
1658
+ opt_ensure: kENSURE compstmt
1659
+ {
1660
+ result = [ val[0], val[1] ]
1661
+ }
1662
+ | none
1663
+
1664
+ literal: numeric
1665
+ | symbol
1666
+ | dsym
1667
+
1668
+ strings: string
1669
+ {
1670
+ result = @builder.string_compose(nil, val[0], nil)
1671
+ }
1672
+
1673
+ string: string1
1674
+ {
1675
+ result = [ val[0] ]
1676
+ }
1677
+ | string string1
1678
+ {
1679
+ result = val[0] << val[1]
1680
+ }
1681
+
1682
+ string1: tSTRING_BEG string_contents tSTRING_END
1683
+ {
1684
+ string = @builder.string_compose(val[0], val[1], val[2])
1685
+ result = @builder.dedent_string(string, @lexer.dedent_level)
1686
+ }
1687
+ | tSTRING
1688
+ {
1689
+ string = @builder.string(val[0])
1690
+ result = @builder.dedent_string(string, @lexer.dedent_level)
1691
+ }
1692
+ | tCHARACTER
1693
+ {
1694
+ result = @builder.character(val[0])
1695
+ }
1696
+
1697
+ xstring: tXSTRING_BEG xstring_contents tSTRING_END
1698
+ {
1699
+ string = @builder.xstring_compose(val[0], val[1], val[2])
1700
+ result = @builder.dedent_string(string, @lexer.dedent_level)
1701
+ }
1702
+
1703
+ regexp: tREGEXP_BEG regexp_contents tSTRING_END tREGEXP_OPT
1704
+ {
1705
+ opts = @builder.regexp_options(val[3])
1706
+ result = @builder.regexp_compose(val[0], val[1], val[2], opts)
1707
+ }
1708
+
1709
+ words: tWORDS_BEG word_list tSTRING_END
1710
+ {
1711
+ result = @builder.words_compose(val[0], val[1], val[2])
1712
+ }
1713
+
1714
+ word_list: # nothing
1715
+ {
1716
+ result = []
1717
+ }
1718
+ | word_list word tSPACE
1719
+ {
1720
+ result = val[0] << @builder.word(val[1])
1721
+ }
1722
+
1723
+ word: string_content
1724
+ {
1725
+ result = [ val[0] ]
1726
+ }
1727
+ | word string_content
1728
+ {
1729
+ result = val[0] << val[1]
1730
+ }
1731
+
1732
+ symbols: tSYMBOLS_BEG symbol_list tSTRING_END
1733
+ {
1734
+ result = @builder.symbols_compose(val[0], val[1], val[2])
1735
+ }
1736
+
1737
+ symbol_list: # nothing
1738
+ {
1739
+ result = []
1740
+ }
1741
+ | symbol_list word tSPACE
1742
+ {
1743
+ result = val[0] << @builder.word(val[1])
1744
+ }
1745
+
1746
+ qwords: tQWORDS_BEG qword_list tSTRING_END
1747
+ {
1748
+ result = @builder.words_compose(val[0], val[1], val[2])
1749
+ }
1750
+
1751
+ qsymbols: tQSYMBOLS_BEG qsym_list tSTRING_END
1752
+ {
1753
+ result = @builder.symbols_compose(val[0], val[1], val[2])
1754
+ }
1755
+
1756
+ qword_list: # nothing
1757
+ {
1758
+ result = []
1759
+ }
1760
+ | qword_list tSTRING_CONTENT tSPACE
1761
+ {
1762
+ result = val[0] << @builder.string_internal(val[1])
1763
+ }
1764
+
1765
+ qsym_list: # nothing
1766
+ {
1767
+ result = []
1768
+ }
1769
+ | qsym_list tSTRING_CONTENT tSPACE
1770
+ {
1771
+ result = val[0] << @builder.symbol_internal(val[1])
1772
+ }
1773
+
1774
+ string_contents: # nothing
1775
+ {
1776
+ result = []
1777
+ }
1778
+ | string_contents string_content
1779
+ {
1780
+ result = val[0] << val[1]
1781
+ }
1782
+
1783
+ xstring_contents: # nothing
1784
+ {
1785
+ result = []
1786
+ }
1787
+ | xstring_contents string_content
1788
+ {
1789
+ result = val[0] << val[1]
1790
+ }
1791
+
1792
+ regexp_contents: # nothing
1793
+ {
1794
+ result = []
1795
+ }
1796
+ | regexp_contents string_content
1797
+ {
1798
+ result = val[0] << val[1]
1799
+ }
1800
+
1801
+ string_content: tSTRING_CONTENT
1802
+ {
1803
+ result = @builder.string_internal(val[0])
1804
+ }
1805
+ | tSTRING_DVAR string_dvar
1806
+ {
1807
+ result = val[1]
1808
+ }
1809
+ | tSTRING_DBEG
1810
+ {
1811
+ @lexer.cond.push(false)
1812
+ @lexer.cmdarg.push(false)
1813
+ }
1814
+ compstmt tSTRING_DEND
1815
+ {
1816
+ @lexer.cond.lexpop
1817
+ @lexer.cmdarg.lexpop
1818
+
1819
+ result = @builder.begin(val[0], val[2], val[3])
1820
+ }
1821
+
1822
+ string_dvar: tGVAR
1823
+ {
1824
+ result = @builder.gvar(val[0])
1825
+ }
1826
+ | tIVAR
1827
+ {
1828
+ result = @builder.ivar(val[0])
1829
+ }
1830
+ | tCVAR
1831
+ {
1832
+ result = @builder.cvar(val[0])
1833
+ }
1834
+ | backref
1835
+
1836
+
1837
+ symbol: tSYMBOL
1838
+ {
1839
+ @lexer.state = :expr_endarg
1840
+ result = @builder.symbol(val[0])
1841
+ }
1842
+
1843
+ dsym: tSYMBEG xstring_contents tSTRING_END
1844
+ {
1845
+ @lexer.state = :expr_endarg
1846
+ result = @builder.symbol_compose(val[0], val[1], val[2])
1847
+ }
1848
+
1849
+ numeric: simple_numeric
1850
+ {
1851
+ result = val[0]
1852
+ }
1853
+ | tUNARY_NUM simple_numeric =tLOWEST
1854
+ {
1855
+ if @builder.respond_to? :negate
1856
+ # AST builder interface compatibility
1857
+ result = @builder.negate(val[0], val[1])
1858
+ else
1859
+ result = @builder.unary_num(val[0], val[1])
1860
+ end
1861
+ }
1862
+
1863
+ simple_numeric: tINTEGER
1864
+ {
1865
+ @lexer.state = :expr_endarg
1866
+ result = @builder.integer(val[0])
1867
+ }
1868
+ | tFLOAT
1869
+ {
1870
+ @lexer.state = :expr_endarg
1871
+ result = @builder.float(val[0])
1872
+ }
1873
+ | tRATIONAL
1874
+ {
1875
+ @lexer.state = :expr_endarg
1876
+ result = @builder.rational(val[0])
1877
+ }
1878
+ | tIMAGINARY
1879
+ {
1880
+ @lexer.state = :expr_endarg
1881
+ result = @builder.complex(val[0])
1882
+ }
1883
+
1884
+ user_variable: tIDENTIFIER
1885
+ {
1886
+ result = @builder.ident(val[0])
1887
+ }
1888
+ | tIVAR
1889
+ {
1890
+ result = @builder.ivar(val[0])
1891
+ }
1892
+ | tGVAR
1893
+ {
1894
+ result = @builder.gvar(val[0])
1895
+ }
1896
+ | tCONSTANT
1897
+ {
1898
+ result = @builder.const(val[0])
1899
+ }
1900
+ | tCVAR
1901
+ {
1902
+ result = @builder.cvar(val[0])
1903
+ }
1904
+
1905
+ keyword_variable: kNIL
1906
+ {
1907
+ result = @builder.nil(val[0])
1908
+ }
1909
+ | kSELF
1910
+ {
1911
+ result = @builder.self(val[0])
1912
+ }
1913
+ | kTRUE
1914
+ {
1915
+ result = @builder.true(val[0])
1916
+ }
1917
+ | kFALSE
1918
+ {
1919
+ result = @builder.false(val[0])
1920
+ }
1921
+ | k__FILE__
1922
+ {
1923
+ result = @builder.__FILE__(val[0])
1924
+ }
1925
+ | k__LINE__
1926
+ {
1927
+ result = @builder.__LINE__(val[0])
1928
+ }
1929
+ | k__ENCODING__
1930
+ {
1931
+ result = @builder.__ENCODING__(val[0])
1932
+ }
1933
+
1934
+ var_ref: user_variable
1935
+ {
1936
+ result = @builder.accessible(val[0])
1937
+ }
1938
+ | keyword_variable
1939
+ {
1940
+ result = @builder.accessible(val[0])
1941
+ }
1942
+
1943
+ var_lhs: user_variable
1944
+ {
1945
+ result = @builder.assignable(val[0])
1946
+ }
1947
+ | keyword_variable
1948
+ {
1949
+ result = @builder.assignable(val[0])
1950
+ }
1951
+
1952
+ backref: tNTH_REF
1953
+ {
1954
+ result = @builder.nth_ref(val[0])
1955
+ }
1956
+ | tBACK_REF
1957
+ {
1958
+ result = @builder.back_ref(val[0])
1959
+ }
1960
+
1961
+ superclass: tLT
1962
+ {
1963
+ @lexer.state = :expr_value
1964
+ }
1965
+ expr_value term
1966
+ {
1967
+ result = [ val[0], val[2] ]
1968
+ }
1969
+ | # nothing
1970
+ {
1971
+ result = nil
1972
+ }
1973
+
1974
+ f_arglist: tLPAREN2 f_args rparen
1975
+ {
1976
+ result = @builder.args(val[0], val[1], val[2])
1977
+
1978
+ @lexer.state = :expr_value
1979
+ }
1980
+ | {
1981
+ result = @lexer.in_kwarg
1982
+ @lexer.in_kwarg = true
1983
+ }
1984
+ f_args term
1985
+ {
1986
+ @lexer.in_kwarg = val[0]
1987
+ result = @builder.args(nil, val[1], nil)
1988
+ }
1989
+
1990
+ args_tail: f_kwarg tCOMMA f_kwrest opt_f_block_arg
1991
+ {
1992
+ result = val[0].concat(val[2]).concat(val[3])
1993
+ }
1994
+ | f_kwarg opt_f_block_arg
1995
+ {
1996
+ result = val[0].concat(val[1])
1997
+ }
1998
+ | f_kwrest opt_f_block_arg
1999
+ {
2000
+ result = val[0].concat(val[1])
2001
+ }
2002
+ | f_block_arg
2003
+ {
2004
+ result = [ val[0] ]
2005
+ }
2006
+
2007
+ opt_args_tail: tCOMMA args_tail
2008
+ {
2009
+ result = val[1]
2010
+ }
2011
+ | # nothing
2012
+ {
2013
+ result = []
2014
+ }
2015
+
2016
+ f_args: f_arg tCOMMA f_optarg tCOMMA f_rest_arg opt_args_tail
2017
+ {
2018
+ result = val[0].
2019
+ concat(val[2]).
2020
+ concat(val[4]).
2021
+ concat(val[5])
2022
+ }
2023
+ | f_arg tCOMMA f_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2024
+ {
2025
+ result = val[0].
2026
+ concat(val[2]).
2027
+ concat(val[4]).
2028
+ concat(val[6]).
2029
+ concat(val[7])
2030
+ }
2031
+ | f_arg tCOMMA f_optarg opt_args_tail
2032
+ {
2033
+ result = val[0].
2034
+ concat(val[2]).
2035
+ concat(val[3])
2036
+ }
2037
+ | f_arg tCOMMA f_optarg tCOMMA f_arg opt_args_tail
2038
+ {
2039
+ result = val[0].
2040
+ concat(val[2]).
2041
+ concat(val[4]).
2042
+ concat(val[5])
2043
+ }
2044
+ | f_arg tCOMMA f_rest_arg opt_args_tail
2045
+ {
2046
+ result = val[0].
2047
+ concat(val[2]).
2048
+ concat(val[3])
2049
+ }
2050
+ | f_arg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2051
+ {
2052
+ result = val[0].
2053
+ concat(val[2]).
2054
+ concat(val[4]).
2055
+ concat(val[5])
2056
+ }
2057
+ | f_arg opt_args_tail
2058
+ {
2059
+ result = val[0].
2060
+ concat(val[1])
2061
+ }
2062
+ | f_optarg tCOMMA f_rest_arg opt_args_tail
2063
+ {
2064
+ result = val[0].
2065
+ concat(val[2]).
2066
+ concat(val[3])
2067
+ }
2068
+ | f_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2069
+ {
2070
+ result = val[0].
2071
+ concat(val[2]).
2072
+ concat(val[4]).
2073
+ concat(val[5])
2074
+ }
2075
+ | f_optarg opt_args_tail
2076
+ {
2077
+ result = val[0].
2078
+ concat(val[1])
2079
+ }
2080
+ | f_optarg tCOMMA f_arg opt_args_tail
2081
+ {
2082
+ result = val[0].
2083
+ concat(val[2]).
2084
+ concat(val[3])
2085
+ }
2086
+ | f_rest_arg opt_args_tail
2087
+ {
2088
+ result = val[0].
2089
+ concat(val[1])
2090
+ }
2091
+ | f_rest_arg tCOMMA f_arg opt_args_tail
2092
+ {
2093
+ result = val[0].
2094
+ concat(val[2]).
2095
+ concat(val[3])
2096
+ }
2097
+ | args_tail
2098
+ {
2099
+ result = val[0]
2100
+ }
2101
+ | # nothing
2102
+ {
2103
+ result = []
2104
+ }
2105
+
2106
+ f_bad_arg: tCONSTANT
2107
+ {
2108
+ diagnostic :error, :argument_const, nil, val[0]
2109
+ }
2110
+ | tIVAR
2111
+ {
2112
+ diagnostic :error, :argument_ivar, nil, val[0]
2113
+ }
2114
+ | tGVAR
2115
+ {
2116
+ diagnostic :error, :argument_gvar, nil, val[0]
2117
+ }
2118
+ | tCVAR
2119
+ {
2120
+ diagnostic :error, :argument_cvar, nil, val[0]
2121
+ }
2122
+
2123
+ f_norm_arg: f_bad_arg
2124
+ | tIDENTIFIER
2125
+ {
2126
+ @static_env.declare val[0][0]
2127
+
2128
+ result = val[0]
2129
+ }
2130
+
2131
+ f_arg_asgn: f_norm_arg
2132
+ {
2133
+ result = val[0]
2134
+ }
2135
+
2136
+ f_arg_item: f_arg_asgn
2137
+ {
2138
+ result = @builder.arg(val[0])
2139
+ }
2140
+ | tLPAREN f_margs rparen
2141
+ {
2142
+ result = @builder.multi_lhs(val[0], val[1], val[2])
2143
+ }
2144
+
2145
+ f_arg: f_arg_item
2146
+ {
2147
+ result = [ val[0] ]
2148
+ }
2149
+ | f_arg tCOMMA f_arg_item
2150
+ {
2151
+ result = val[0] << val[2]
2152
+ }
2153
+
2154
+ f_label: tLABEL
2155
+ {
2156
+ check_kwarg_name(val[0])
2157
+
2158
+ @static_env.declare val[0][0]
2159
+
2160
+ result = val[0]
2161
+ }
2162
+
2163
+ f_kw: f_label arg_value
2164
+ {
2165
+ result = @builder.kwoptarg(val[0], val[1])
2166
+ }
2167
+ | f_label
2168
+ {
2169
+ result = @builder.kwarg(val[0])
2170
+ }
2171
+
2172
+ f_block_kw: f_label primary_value
2173
+ {
2174
+ result = @builder.kwoptarg(val[0], val[1])
2175
+ }
2176
+ | f_label
2177
+ {
2178
+ result = @builder.kwarg(val[0])
2179
+ }
2180
+
2181
+ f_block_kwarg: f_block_kw
2182
+ {
2183
+ result = [ val[0] ]
2184
+ }
2185
+ | f_block_kwarg tCOMMA f_block_kw
2186
+ {
2187
+ result = val[0] << val[2]
2188
+ }
2189
+
2190
+ f_kwarg: f_kw
2191
+ {
2192
+ result = [ val[0] ]
2193
+ }
2194
+ | f_kwarg tCOMMA f_kw
2195
+ {
2196
+ result = val[0] << val[2]
2197
+ }
2198
+
2199
+ kwrest_mark: tPOW | tDSTAR
2200
+
2201
+ f_kwrest: kwrest_mark tIDENTIFIER
2202
+ {
2203
+ @static_env.declare val[1][0]
2204
+
2205
+ result = [ @builder.kwrestarg(val[0], val[1]) ]
2206
+ }
2207
+ | kwrest_mark
2208
+ {
2209
+ result = [ @builder.kwrestarg(val[0]) ]
2210
+ }
2211
+
2212
+ f_opt: f_arg_asgn tEQL arg_value
2213
+ {
2214
+ result = @builder.optarg(val[0], val[1], val[2])
2215
+ }
2216
+
2217
+ f_block_opt: f_arg_asgn tEQL primary_value
2218
+ {
2219
+ result = @builder.optarg(val[0], val[1], val[2])
2220
+ }
2221
+
2222
+ f_block_optarg: f_block_opt
2223
+ {
2224
+ result = [ val[0] ]
2225
+ }
2226
+ | f_block_optarg tCOMMA f_block_opt
2227
+ {
2228
+ result = val[0] << val[2]
2229
+ }
2230
+
2231
+ f_optarg: f_opt
2232
+ {
2233
+ result = [ val[0] ]
2234
+ }
2235
+ | f_optarg tCOMMA f_opt
2236
+ {
2237
+ result = val[0] << val[2]
2238
+ }
2239
+
2240
+ restarg_mark: tSTAR2 | tSTAR
2241
+
2242
+ f_rest_arg: restarg_mark tIDENTIFIER
2243
+ {
2244
+ @static_env.declare val[1][0]
2245
+
2246
+ result = [ @builder.restarg(val[0], val[1]) ]
2247
+ }
2248
+ | restarg_mark
2249
+ {
2250
+ result = [ @builder.restarg(val[0]) ]
2251
+ }
2252
+
2253
+ blkarg_mark: tAMPER2 | tAMPER
2254
+
2255
+ f_block_arg: blkarg_mark tIDENTIFIER
2256
+ {
2257
+ @static_env.declare val[1][0]
2258
+
2259
+ result = @builder.blockarg(val[0], val[1])
2260
+ }
2261
+
2262
+ opt_f_block_arg: tCOMMA f_block_arg
2263
+ {
2264
+ result = [ val[1] ]
2265
+ }
2266
+ |
2267
+ {
2268
+ result = []
2269
+ }
2270
+
2271
+ singleton: var_ref
2272
+ | tLPAREN2 expr rparen
2273
+ {
2274
+ result = val[1]
2275
+ }
2276
+
2277
+ assoc_list: # nothing
2278
+ {
2279
+ result = []
2280
+ }
2281
+ | assocs trailer
2282
+
2283
+ assocs: assoc
2284
+ {
2285
+ result = [ val[0] ]
2286
+ }
2287
+ | assocs tCOMMA assoc
2288
+ {
2289
+ result = val[0] << val[2]
2290
+ }
2291
+
2292
+ assoc: arg_value tASSOC arg_value
2293
+ {
2294
+ result = @builder.pair(val[0], val[1], val[2])
2295
+ }
2296
+ | tLABEL arg_value
2297
+ {
2298
+ result = @builder.pair_keyword(val[0], val[1])
2299
+ }
2300
+ | tSTRING_BEG string_contents tLABEL_END arg_value
2301
+ {
2302
+ result = @builder.pair_quoted(val[0], val[1], val[2], val[3])
2303
+ }
2304
+ | tDSTAR arg_value
2305
+ {
2306
+ result = @builder.kwsplat(val[0], val[1])
2307
+ }
2308
+
2309
+ operation: tIDENTIFIER | tCONSTANT | tFID
2310
+ operation2: tIDENTIFIER | tCONSTANT | tFID | op
2311
+ operation3: tIDENTIFIER | tFID | op
2312
+ dot_or_colon: call_op | tCOLON2
2313
+ call_op: tDOT
2314
+ {
2315
+ result = [:dot, val[0][1]]
2316
+ }
2317
+ | tANDDOT
2318
+ {
2319
+ result = [:anddot, val[0][1]]
2320
+ }
2321
+ opt_terms: | terms
2322
+ opt_nl: | tNL
2323
+ rparen: opt_nl tRPAREN
2324
+ {
2325
+ result = val[1]
2326
+ }
2327
+ rbracket: opt_nl tRBRACK
2328
+ {
2329
+ result = val[1]
2330
+ }
2331
+ trailer: | tNL | tCOMMA
2332
+
2333
+ term: tSEMI
2334
+ {
2335
+ yyerrok
2336
+ }
2337
+ | tNL
2338
+
2339
+ terms: term
2340
+ | terms tSEMI
2341
+
2342
+ none: # nothing
2343
+ {
2344
+ result = nil
2345
+ }
2346
+ end
2347
+
2348
+ ---- header
2349
+
2350
+ require 'parser'
2351
+
2352
+ Parser.check_for_encoding_support
2353
+
2354
+ ---- inner
2355
+
2356
+ def version
2357
+ 25
2358
+ end
2359
+
2360
+ def default_encoding
2361
+ Encoding::UTF_8
2362
+ end