swift-pyrite 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (739) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +4 -0
  6. data/CODE_OF_CONDUCT.md +13 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +41 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +7 -0
  13. data/exe/pyrite +4 -0
  14. data/lib/swift/pyrite/cli.rb +18 -0
  15. data/lib/swift/pyrite/parser.rb +43 -0
  16. data/lib/swift/pyrite/transformer.rb +129 -0
  17. data/lib/swift/pyrite/version.rb +5 -0
  18. data/lib/swift/pyrite.rb +21 -0
  19. data/swift-pyrite.gemspec +30 -0
  20. data/vendor/bundle/ruby/2.0.0/bin/htmldiff +25 -0
  21. data/vendor/bundle/ruby/2.0.0/bin/ldiff +25 -0
  22. data/vendor/bundle/ruby/2.0.0/bin/rake +23 -0
  23. data/vendor/bundle/ruby/2.0.0/bin/rspec +23 -0
  24. data/vendor/bundle/ruby/2.0.0/bin/tt +23 -0
  25. data/vendor/bundle/ruby/2.0.0/cache/blankslate-3.1.3.gem +0 -0
  26. data/vendor/bundle/ruby/2.0.0/cache/diff-lcs-1.2.5.gem +0 -0
  27. data/vendor/bundle/ruby/2.0.0/cache/parslet-1.7.1.gem +0 -0
  28. data/vendor/bundle/ruby/2.0.0/cache/polyglot-0.3.5.gem +0 -0
  29. data/vendor/bundle/ruby/2.0.0/cache/rake-10.4.2.gem +0 -0
  30. data/vendor/bundle/ruby/2.0.0/cache/rspec-3.3.0.gem +0 -0
  31. data/vendor/bundle/ruby/2.0.0/cache/rspec-core-3.3.2.gem +0 -0
  32. data/vendor/bundle/ruby/2.0.0/cache/rspec-expectations-3.3.1.gem +0 -0
  33. data/vendor/bundle/ruby/2.0.0/cache/rspec-mocks-3.3.2.gem +0 -0
  34. data/vendor/bundle/ruby/2.0.0/cache/rspec-support-3.3.0.gem +0 -0
  35. data/vendor/bundle/ruby/2.0.0/cache/treetop-1.6.3.gem +0 -0
  36. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Gemfile +6 -0
  37. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Gemfile.lock +22 -0
  38. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/MIT-LICENSE +20 -0
  39. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/README +31 -0
  40. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/Rakefile +13 -0
  41. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/VERSION +1 -0
  42. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/blankslate.gemspec +22 -0
  43. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/lib/blankslate.rb +137 -0
  44. data/vendor/bundle/ruby/2.0.0/gems/blankslate-3.1.3/spec/blankslate_spec.rb +54 -0
  45. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.autotest +3 -0
  46. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.gemtest +0 -0
  47. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.hoerc +2 -0
  48. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.rspec +2 -0
  49. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/.travis.yml +22 -0
  50. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Contributing.rdoc +64 -0
  51. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Gemfile +20 -0
  52. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/History.rdoc +152 -0
  53. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/License.rdoc +39 -0
  54. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Manifest.txt +38 -0
  55. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/README.rdoc +85 -0
  56. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/Rakefile +41 -0
  57. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/autotest/discover.rb +1 -0
  58. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/bin/htmldiff +32 -0
  59. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/bin/ldiff +6 -0
  60. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/docs/COPYING.txt +339 -0
  61. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/docs/artistic.txt +127 -0
  62. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/array.rb +7 -0
  63. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/block.rb +37 -0
  64. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/callbacks.rb +322 -0
  65. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/change.rb +177 -0
  66. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/htmldiff.rb +149 -0
  67. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/hunk.rb +276 -0
  68. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/internals.rb +301 -0
  69. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/ldiff.rb +195 -0
  70. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs/string.rb +5 -0
  71. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff/lcs.rb +805 -0
  72. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/lib/diff-lcs.rb +3 -0
  73. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/change_spec.rb +65 -0
  74. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/diff_spec.rb +47 -0
  75. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/hunk_spec.rb +72 -0
  76. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/issues_spec.rb +24 -0
  77. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/lcs_spec.rb +54 -0
  78. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/patch_spec.rb +414 -0
  79. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/sdiff_spec.rb +214 -0
  80. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/spec_helper.rb +290 -0
  81. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/traverse_balanced_spec.rb +310 -0
  82. data/vendor/bundle/ruby/2.0.0/gems/diff-lcs-1.2.5/spec/traverse_sequences_spec.rb +139 -0
  83. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/HISTORY.txt +241 -0
  84. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/LICENSE +22 -0
  85. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/README +73 -0
  86. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/Rakefile +30 -0
  87. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/big.erb +73 -0
  88. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/boolean_algebra.rb +70 -0
  89. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/calc.rb +153 -0
  90. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/capture.rb +49 -0
  91. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/comments.rb +35 -0
  92. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/deepest_errors.rb +131 -0
  93. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/documentation.rb +18 -0
  94. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/email_parser.rb +54 -0
  95. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/empty.rb +13 -0
  96. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/erb.rb +47 -0
  97. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/ignore.rb +33 -0
  98. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/ip_address.rb +125 -0
  99. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/json.rb +128 -0
  100. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/local.rb +34 -0
  101. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/mathn.rb +44 -0
  102. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/minilisp.rb +94 -0
  103. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/modularity.rb +47 -0
  104. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/nested_errors.rb +132 -0
  105. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/optimized_erb.rb +42 -0
  106. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/boolean_algebra.out +4 -0
  107. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/calc.out +1 -0
  108. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/capture.out +3 -0
  109. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/comments.out +8 -0
  110. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/deepest_errors.out +54 -0
  111. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/documentation.err +4 -0
  112. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/documentation.out +1 -0
  113. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/email_parser.out +2 -0
  114. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/empty.err +1 -0
  115. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/erb.out +7 -0
  116. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ignore.out +1 -0
  117. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ignore_whitespace.out +1 -0
  118. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/ip_address.out +9 -0
  119. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/json.out +5 -0
  120. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/local.out +3 -0
  121. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/mathn.out +4 -0
  122. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/minilisp.out +5 -0
  123. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/modularity.out +0 -0
  124. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/nested_errors.out +54 -0
  125. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/optimized_erb.out +1 -0
  126. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/parens.out +8 -0
  127. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/prec_calc.out +5 -0
  128. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/readme.out +1 -0
  129. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/scopes.out +1 -0
  130. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/seasons.out +28 -0
  131. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/sentence.out +1 -0
  132. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/simple_xml.out +2 -0
  133. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/output/string_parser.out +3 -0
  134. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/parens.rb +42 -0
  135. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/prec_calc.rb +71 -0
  136. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/readme.rb +30 -0
  137. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/scopes.rb +15 -0
  138. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/seasons.rb +46 -0
  139. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/sentence.rb +36 -0
  140. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/simple.lit +3 -0
  141. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/simple_xml.rb +54 -0
  142. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/string_parser.rb +77 -0
  143. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/example/test.lit +4 -0
  144. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator/application.rb +62 -0
  145. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator/engine.rb +112 -0
  146. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/accelerator.rb +161 -0
  147. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/alternative.rb +50 -0
  148. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/base.rb +157 -0
  149. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/can_flatten.rb +137 -0
  150. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/capture.rb +38 -0
  151. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/context.rb +103 -0
  152. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/dsl.rb +109 -0
  153. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/dynamic.rb +32 -0
  154. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/entity.rb +44 -0
  155. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/infix.rb +121 -0
  156. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/lookahead.rb +50 -0
  157. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/named.rb +32 -0
  158. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/re.rb +38 -0
  159. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/repetition.rb +83 -0
  160. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/scope.rb +26 -0
  161. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/sequence.rb +45 -0
  162. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/str.rb +39 -0
  163. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms/visitor.rb +89 -0
  164. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/atoms.rb +35 -0
  165. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/cause.rb +101 -0
  166. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/context.rb +35 -0
  167. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/convenience.rb +33 -0
  168. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/contextual.rb +120 -0
  169. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/deepest.rb +100 -0
  170. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter/tree.rb +63 -0
  171. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/error_reporter.rb +8 -0
  172. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/export.rb +162 -0
  173. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/expression/treetop.rb +92 -0
  174. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/expression.rb +51 -0
  175. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/graphviz.rb +97 -0
  176. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/parser.rb +67 -0
  177. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/pattern/binding.rb +49 -0
  178. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/pattern.rb +114 -0
  179. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/position.rb +21 -0
  180. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/rig/rspec.rb +59 -0
  181. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/scope.rb +42 -0
  182. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/slice.rb +110 -0
  183. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/source/line_cache.rb +98 -0
  184. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/source.rb +96 -0
  185. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet/transform.rb +257 -0
  186. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/lib/parslet.rb +302 -0
  187. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/parslet.gemspec +18 -0
  188. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/examples_spec.rb +37 -0
  189. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/infix_parser_spec.rb +112 -0
  190. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/regression_spec.rb +314 -0
  191. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/repetition_and_maybe_spec.rb +42 -0
  192. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/acceptance/unconsumed_input_spec.rb +21 -0
  193. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atom_results_spec.rb +39 -0
  194. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/alternative_spec.rb +26 -0
  195. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/base_spec.rb +126 -0
  196. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/capture_spec.rb +21 -0
  197. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/combinations_spec.rb +5 -0
  198. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/dsl_spec.rb +25 -0
  199. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/entity_spec.rb +77 -0
  200. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/infix_spec.rb +5 -0
  201. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/lookahead_spec.rb +22 -0
  202. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/named_spec.rb +4 -0
  203. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/re_spec.rb +14 -0
  204. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/repetition_spec.rb +24 -0
  205. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/scope_spec.rb +26 -0
  206. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/sequence_spec.rb +28 -0
  207. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/str_spec.rb +15 -0
  208. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms/visitor_spec.rb +80 -0
  209. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/atoms_spec.rb +429 -0
  210. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/convenience_spec.rb +48 -0
  211. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/contextual_spec.rb +115 -0
  212. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/deepest_spec.rb +73 -0
  213. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/error_reporter/tree_spec.rb +7 -0
  214. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/export_spec.rb +67 -0
  215. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/expression/treetop_spec.rb +74 -0
  216. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/minilisp.citrus +29 -0
  217. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/minilisp.tt +29 -0
  218. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/parser_spec.rb +31 -0
  219. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/parslet_spec.rb +38 -0
  220. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/pattern_spec.rb +272 -0
  221. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/position_spec.rb +14 -0
  222. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/rig/rspec_spec.rb +54 -0
  223. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/scope_spec.rb +45 -0
  224. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/slice_spec.rb +144 -0
  225. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/source/line_cache_spec.rb +74 -0
  226. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/source_spec.rb +168 -0
  227. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/transform/context_spec.rb +35 -0
  228. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/parslet/transform_spec.rb +165 -0
  229. data/vendor/bundle/ruby/2.0.0/gems/parslet-1.7.1/spec/spec_helper.rb +38 -0
  230. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/History.txt +72 -0
  231. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/License.txt +20 -0
  232. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/README.txt +87 -0
  233. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/Rakefile +42 -0
  234. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/lib/polyglot/version.rb +9 -0
  235. data/vendor/bundle/ruby/2.0.0/gems/polyglot-0.3.5/lib/polyglot.rb +76 -0
  236. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.autotest +7 -0
  237. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.gemtest +0 -0
  238. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.rubocop.yml +27 -0
  239. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/.togglerc +7 -0
  240. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/CONTRIBUTING.rdoc +34 -0
  241. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/History.rdoc +651 -0
  242. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/MIT-LICENSE +21 -0
  243. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/Manifest.txt +166 -0
  244. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/README.rdoc +140 -0
  245. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/Rakefile +81 -0
  246. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/bin/rake +33 -0
  247. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/command_line_usage.rdoc +158 -0
  248. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/Rakefile1 +38 -0
  249. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/Rakefile2 +35 -0
  250. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/a.c +6 -0
  251. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/b.c +6 -0
  252. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/example/main.c +11 -0
  253. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/glossary.rdoc +43 -0
  254. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/jamis.rb +591 -0
  255. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/proto_rake.rdoc +127 -0
  256. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rake.1 +141 -0
  257. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rakefile.rdoc +653 -0
  258. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/rational.rdoc +151 -0
  259. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
  260. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
  261. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
  262. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
  263. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
  264. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
  265. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
  266. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
  267. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
  268. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
  269. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
  270. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
  271. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
  272. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
  273. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
  274. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
  275. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
  276. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
  277. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
  278. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  279. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
  280. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
  281. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
  282. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
  283. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
  284. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
  285. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
  286. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
  287. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
  288. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
  289. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/alt_system.rb +110 -0
  290. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/application.rb +790 -0
  291. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/backtrace.rb +23 -0
  292. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/clean.rb +76 -0
  293. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/cloneable.rb +16 -0
  294. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/.document +1 -0
  295. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/compositepublisher.rb +21 -0
  296. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/ftptools.rb +137 -0
  297. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/publisher.rb +81 -0
  298. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  299. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/sshpublisher.rb +61 -0
  300. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/contrib/sys.rb +4 -0
  301. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/cpu_counter.rb +125 -0
  302. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/default_loader.rb +14 -0
  303. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/dsl_definition.rb +201 -0
  304. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/early_time.rb +21 -0
  305. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/core.rb +25 -0
  306. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/module.rb +2 -0
  307. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/pathname.rb +25 -0
  308. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/string.rb +173 -0
  309. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ext/time.rb +16 -0
  310. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_creation_task.rb +24 -0
  311. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_list.rb +428 -0
  312. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_task.rb +46 -0
  313. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_utils.rb +128 -0
  314. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb +144 -0
  315. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/gempackagetask.rb +4 -0
  316. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/invocation_chain.rb +56 -0
  317. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/invocation_exception_mixin.rb +16 -0
  318. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/late_time.rb +17 -0
  319. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/linked_list.rb +103 -0
  320. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/loaders/makefile.rb +40 -0
  321. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/multi_task.rb +13 -0
  322. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/name_space.rb +38 -0
  323. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/packagetask.rb +199 -0
  324. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/pathmap.rb +3 -0
  325. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/phony.rb +15 -0
  326. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/private_reader.rb +20 -0
  327. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/promise.rb +99 -0
  328. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/pseudo_status.rb +29 -0
  329. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rake_module.rb +38 -0
  330. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb +22 -0
  331. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rdoctask.rb +4 -0
  332. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
  333. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  334. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/runtest.rb +27 -0
  335. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/scope.rb +42 -0
  336. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task.rb +383 -0
  337. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_argument_error.rb +7 -0
  338. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_arguments.rb +98 -0
  339. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/task_manager.rb +310 -0
  340. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/tasklib.rb +24 -0
  341. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/testtask.rb +212 -0
  342. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/thread_history_display.rb +48 -0
  343. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/thread_pool.rb +164 -0
  344. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/trace_output.rb +22 -0
  345. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/version.rb +7 -0
  346. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake/win32.rb +56 -0
  347. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/lib/rake.rb +79 -0
  348. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/rakelib/publish.rake +20 -0
  349. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/rakelib/test_times.rake +25 -0
  350. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/file_creation.rb +34 -0
  351. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/helper.rb +130 -0
  352. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/support/rakefile_definitions.rb +478 -0
  353. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/support/ruby_runner.rb +34 -0
  354. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_private_reader.rb +42 -0
  355. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake.rb +40 -0
  356. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_application.rb +643 -0
  357. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_application_options.rb +466 -0
  358. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_backtrace.rb +119 -0
  359. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_clean.rb +61 -0
  360. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_cpu_counter.rb +68 -0
  361. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_definitions.rb +84 -0
  362. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_directory_task.rb +76 -0
  363. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_dsl.rb +40 -0
  364. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_early_time.rb +31 -0
  365. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_extension.rb +59 -0
  366. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_creation_task.rb +56 -0
  367. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_list.rb +655 -0
  368. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_list_path_map.rb +8 -0
  369. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_task.rb +197 -0
  370. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_file_utils.rb +309 -0
  371. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_ftp_file.rb +74 -0
  372. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_functional.rb +482 -0
  373. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_invocation_chain.rb +64 -0
  374. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_late_time.rb +18 -0
  375. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_linked_list.rb +84 -0
  376. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_makefile_loader.rb +46 -0
  377. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_multi_task.rb +64 -0
  378. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_name_space.rb +57 -0
  379. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_package_task.rb +79 -0
  380. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map.rb +168 -0
  381. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map_explode.rb +34 -0
  382. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_path_map_partial.rb +18 -0
  383. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_pathname_extensions.rb +15 -0
  384. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_pseudo_status.rb +21 -0
  385. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_rake_test_loader.rb +20 -0
  386. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_reduce_compat.rb +26 -0
  387. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_require.rb +40 -0
  388. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_rules.rb +388 -0
  389. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_scope.rb +44 -0
  390. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task.rb +393 -0
  391. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_argument_parsing.rb +119 -0
  392. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_arguments.rb +127 -0
  393. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_lib.rb +9 -0
  394. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_manager.rb +178 -0
  395. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
  396. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_task_with_arguments.rb +172 -0
  397. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_test_task.rb +146 -0
  398. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_thread_pool.rb +145 -0
  399. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_top_level_functions.rb +71 -0
  400. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_rake_win32.rb +72 -0
  401. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_thread_history_display.rb +101 -0
  402. data/vendor/bundle/ruby/2.0.0/gems/rake-10.4.2/test/test_trace_output.rb +52 -0
  403. data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/License.txt +24 -0
  404. data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/README.md +34 -0
  405. data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/lib/rspec/version.rb +5 -0
  406. data/vendor/bundle/ruby/2.0.0/gems/rspec-3.3.0/lib/rspec.rb +3 -0
  407. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/.document +5 -0
  408. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/.yardopts +8 -0
  409. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/Changelog.md +1856 -0
  410. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/License.txt +25 -0
  411. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/README.md +369 -0
  412. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/exe/rspec +4 -0
  413. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/autorun.rb +3 -0
  414. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/backtrace_formatter.rb +64 -0
  415. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/coordinator.rb +66 -0
  416. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/example_minimizer.rb +130 -0
  417. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/runner.rb +139 -0
  418. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/server.rb +61 -0
  419. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/bisect/subset_enumerator.rb +39 -0
  420. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration.rb +1807 -0
  421. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/configuration_options.rb +191 -0
  422. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/drb.rb +111 -0
  423. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/dsl.rb +96 -0
  424. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example.rb +573 -0
  425. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example_group.rb +796 -0
  426. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/example_status_persister.rb +235 -0
  427. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/filter_manager.rb +231 -0
  428. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/flat_map.rb +20 -0
  429. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_formatter.rb +70 -0
  430. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/base_text_formatter.rb +77 -0
  431. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_formatter.rb +68 -0
  432. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/bisect_progress_formatter.rb +115 -0
  433. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/console_codes.rb +65 -0
  434. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  435. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/documentation_formatter.rb +70 -0
  436. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/exception_presenter.rb +393 -0
  437. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  438. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/helpers.rb +109 -0
  439. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_formatter.rb +151 -0
  440. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/html_printer.rb +415 -0
  441. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/json_formatter.rb +96 -0
  442. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  443. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/progress_formatter.rb +28 -0
  444. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/protocol.rb +172 -0
  445. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters/snippet_extractor.rb +116 -0
  446. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/formatters.rb +254 -0
  447. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/hooks.rb +638 -0
  448. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/memoized_helpers.rb +532 -0
  449. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/metadata.rb +490 -0
  450. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/metadata_filter.rb +235 -0
  451. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  452. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  453. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  454. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/null.rb +14 -0
  455. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  456. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  457. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/mutex.rb +63 -0
  458. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/notifications.rb +498 -0
  459. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/option_parser.rb +301 -0
  460. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/ordering.rb +158 -0
  461. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/pending.rb +165 -0
  462. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/profiler.rb +32 -0
  463. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/.rspec +2 -0
  464. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer/spec/spec_helper.rb +96 -0
  465. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/project_initializer.rb +48 -0
  466. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/rake_task.rb +158 -0
  467. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/reentrant_mutex.rb +52 -0
  468. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/reporter.rb +220 -0
  469. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/ruby_project.rb +53 -0
  470. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/runner.rb +179 -0
  471. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/sandbox.rb +37 -0
  472. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/set.rb +49 -0
  473. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shared_context.rb +55 -0
  474. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shared_example_group.rb +210 -0
  475. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/shell_escape.rb +49 -0
  476. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  477. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/version.rb +9 -0
  478. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/warnings.rb +40 -0
  479. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core/world.rb +178 -0
  480. data/vendor/bundle/ruby/2.0.0/gems/rspec-core-3.3.2/lib/rspec/core.rb +181 -0
  481. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/.document +5 -0
  482. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/.yardopts +6 -0
  483. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/Changelog.md +953 -0
  484. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/License.txt +24 -0
  485. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/README.md +289 -0
  486. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/configuration.rb +164 -0
  487. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/expectation_target.rb +113 -0
  488. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/fail_with.rb +31 -0
  489. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/failure_aggregator.rb +194 -0
  490. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/handler.rb +170 -0
  491. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/minitest_integration.rb +31 -0
  492. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/syntax.rb +132 -0
  493. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations/version.rb +8 -0
  494. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/expectations.rb +81 -0
  495. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
  496. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/all.rb +85 -0
  497. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/base_matcher.rb +181 -0
  498. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be.rb +285 -0
  499. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  500. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_instance_of.rb +22 -0
  501. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_kind_of.rb +16 -0
  502. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
  503. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/change.rb +337 -0
  504. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/compound.rb +293 -0
  505. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/contain_exactly.rb +253 -0
  506. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  507. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eq.rb +40 -0
  508. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  509. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  510. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/exist.rb +86 -0
  511. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/has.rb +103 -0
  512. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  513. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/include.rb +130 -0
  514. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/match.rb +37 -0
  515. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/operators.rb +128 -0
  516. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/output.rb +200 -0
  517. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/raise_error.rb +216 -0
  518. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/respond_to.rb +90 -0
  519. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/satisfy.rb +37 -0
  520. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  521. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  522. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in/yield.rb +418 -0
  523. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/built_in.rb +52 -0
  524. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/composable.rb +184 -0
  525. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/dsl.rb +453 -0
  526. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/english_phrasing.rb +42 -0
  527. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +73 -0
  528. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/fail_matchers.rb +42 -0
  529. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/generated_descriptions.rb +42 -0
  530. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
  531. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
  532. data/vendor/bundle/ruby/2.0.0/gems/rspec-expectations-3.3.1/lib/rspec/matchers.rb +1009 -0
  533. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/.document +5 -0
  534. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/.yardopts +6 -0
  535. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/Changelog.md +965 -0
  536. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/License.txt +24 -0
  537. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/README.md +430 -0
  538. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/chain.rb +110 -0
  539. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  540. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expect_chain_chain.rb +35 -0
  541. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/expectation_chain.rb +48 -0
  542. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  543. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  544. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/recorder.rb +264 -0
  545. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain.rb +46 -0
  546. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance/stub_chain_chain.rb +27 -0
  547. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/any_instance.rb +11 -0
  548. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  549. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/argument_matchers.rb +320 -0
  550. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/configuration.rb +188 -0
  551. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/error_generator.rb +362 -0
  552. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/example_methods.rb +421 -0
  553. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/instance_method_stasher.rb +135 -0
  554. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/marshal_extension.rb +41 -0
  555. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  556. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/have_received.rb +116 -0
  557. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive.rb +130 -0
  558. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_message_chain.rb +80 -0
  559. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/matchers/receive_messages.rb +75 -0
  560. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_chain.rb +87 -0
  561. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/message_expectation.rb +717 -0
  562. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_double.rb +287 -0
  563. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/method_reference.rb +192 -0
  564. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutate_const.rb +335 -0
  565. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/mutex.rb +73 -0
  566. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/object_reference.rb +149 -0
  567. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/order_group.rb +81 -0
  568. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/proxy.rb +439 -0
  569. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/reentrant_mutex.rb +53 -0
  570. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/space.rb +238 -0
  571. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/standalone.rb +3 -0
  572. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/syntax.rb +325 -0
  573. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/targets.rb +97 -0
  574. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/test_double.rb +170 -0
  575. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_double.rb +129 -0
  576. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_message_expecation.rb +54 -0
  577. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/verifying_proxy.rb +213 -0
  578. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks/version.rb +9 -0
  579. data/vendor/bundle/ruby/2.0.0/gems/rspec-mocks-3.3.2/lib/rspec/mocks.rb +126 -0
  580. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/Changelog.md +125 -0
  581. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/LICENSE.txt +22 -0
  582. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/README.md +26 -0
  583. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/caller_filter.rb +83 -0
  584. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/differ.rb +215 -0
  585. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/directory_maker.rb +63 -0
  586. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/encoded_string.rb +155 -0
  587. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/fuzzy_matcher.rb +48 -0
  588. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/hunk_generator.rb +47 -0
  589. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/matcher_definition.rb +42 -0
  590. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/method_signature_verifier.rb +273 -0
  591. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/object_formatter.rb +93 -0
  592. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/recursive_const_methods.rb +76 -0
  593. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/ruby_features.rb +118 -0
  594. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/deprecation_helpers.rb +64 -0
  595. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/formatting_support.rb +9 -0
  596. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/in_sub_process.rb +52 -0
  597. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/library_wide_checks.rb +145 -0
  598. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/shell_out.rb +71 -0
  599. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/stderr_splitter.rb +63 -0
  600. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/string_matcher.rb +46 -0
  601. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_directory.rb +9 -0
  602. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  603. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/spec.rb +81 -0
  604. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/version.rb +7 -0
  605. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/version_checker.rb +53 -0
  606. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support/warnings.rb +39 -0
  607. data/vendor/bundle/ruby/2.0.0/gems/rspec-support-3.3.0/lib/rspec/support.rb +111 -0
  608. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/LICENSE +19 -0
  609. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/README.md +192 -0
  610. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/Rakefile +76 -0
  611. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/bin/tt +112 -0
  612. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/contributing_and_planned_features.markdown +102 -0
  613. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/grammar_composition.markdown +65 -0
  614. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/index.markdown +88 -0
  615. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  616. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/semantic_interpretation.markdown +218 -0
  617. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/site.rb +112 -0
  618. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/sitegen.rb +65 -0
  619. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/syntactic_recognition.markdown +220 -0
  620. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/tt.1 +83 -0
  621. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/doc/using_in_ruby.markdown +105 -0
  622. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/indented_blocks/indented_blocks.tt +73 -0
  623. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/indented_blocks/indented_blocks_test.rb +24 -0
  624. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/inner_outer.rb +51 -0
  625. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/inner_outer.tt +14 -0
  626. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic.rb +551 -0
  627. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic.treetop +98 -0
  628. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic_node_classes.rb +9 -0
  629. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/arithmetic_test.rb +58 -0
  630. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus.rb +718 -0
  631. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  632. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  633. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  634. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/lambda_calculus/test_helper.rb +18 -0
  635. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/numerals.rb +210 -0
  636. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/examples/numerals.tt +21 -0
  637. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/bootstrap_gen_1_metagrammar.rb +42 -0
  638. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/grammar_compiler.rb +49 -0
  639. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/lexical_address_space.rb +17 -0
  640. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/metagrammar.rb +4113 -0
  641. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/metagrammar.treetop +503 -0
  642. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/anything_symbol.rb +26 -0
  643. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  644. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/character_class.rb +32 -0
  645. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/choice.rb +37 -0
  646. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  647. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  648. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  649. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  650. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/optional.rb +19 -0
  651. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parenthesized_expression.rb +13 -0
  652. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parsing_expression.rb +150 -0
  653. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/parsing_rule.rb +60 -0
  654. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/predicate.rb +52 -0
  655. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/predicate_block.rb +23 -0
  656. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/repetition.rb +109 -0
  657. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/sequence.rb +75 -0
  658. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/terminal.rb +45 -0
  659. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  660. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  661. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/node_classes.rb +19 -0
  662. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler/ruby_builder.rb +115 -0
  663. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/compiler.rb +7 -0
  664. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/polyglot.rb +9 -0
  665. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/ruby_extensions/string.rb +40 -0
  666. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/ruby_extensions.rb +1 -0
  667. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/compiled_parser.rb +126 -0
  668. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  669. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  670. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  671. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/interval_skip_list.rb +3 -0
  672. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/syntax_node.rb +116 -0
  673. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/terminal_parse_failure.rb +17 -0
  674. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  675. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/runtime.rb +6 -0
  676. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop/version.rb +9 -0
  677. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/lib/treetop.rb +3 -0
  678. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/and_predicate_spec.rb +36 -0
  679. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/anything_symbol_spec.rb +47 -0
  680. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/character_class_spec.rb +304 -0
  681. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/choice_spec.rb +80 -0
  682. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/circular_compilation_spec.rb +30 -0
  683. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  684. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/grammar_compiler_spec.rb +113 -0
  685. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/grammar_spec.rb +44 -0
  686. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/multibyte_chars_spec.rb +38 -0
  687. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/namespace_spec.rb +42 -0
  688. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  689. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/not_predicate_spec.rb +52 -0
  690. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/occurrence_range_spec.rb +186 -0
  691. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/one_or_more_spec.rb +35 -0
  692. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/optional_spec.rb +37 -0
  693. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/parenthesized_expression_spec.rb +22 -0
  694. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/parsing_rule_spec.rb +61 -0
  695. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/repeated_subrule_spec.rb +29 -0
  696. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/semantic_predicate_spec.rb +176 -0
  697. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/sequence_spec.rb +129 -0
  698. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/terminal_spec.rb +177 -0
  699. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/terminal_symbol_spec.rb +40 -0
  700. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar.treetop +7 -0
  701. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar.tt +7 -0
  702. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_do.treetop +7 -0
  703. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_magic_coding.treetop +8 -0
  704. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/test_grammar_magic_encoding.treetop +8 -0
  705. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/tt_compiler_spec.rb +224 -0
  706. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/compiler/zero_or_more_spec.rb +56 -0
  707. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/a.treetop +11 -0
  708. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/b.treetop +11 -0
  709. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/c.treetop +10 -0
  710. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/d.treetop +10 -0
  711. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/f.treetop +17 -0
  712. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/grammar_composition_spec.rb +40 -0
  713. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/composition/subfolder/e_includes_c.treetop +15 -0
  714. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/ruby_extensions/string_spec.rb +32 -0
  715. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/compiled_parser_spec.rb +153 -0
  716. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  717. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  718. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/insert_and_delete_node_spec.rb +385 -0
  719. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  720. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  721. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  722. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/palindromic_fixture.rb +35 -0
  723. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +163 -0
  724. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/interval_skip_list/spec_helper.rb +91 -0
  725. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/runtime/syntax_node_spec.rb +77 -0
  726. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/spec/spec_helper.rb +115 -0
  727. data/vendor/bundle/ruby/2.0.0/gems/treetop-1.6.3/treetop.gemspec +179 -0
  728. data/vendor/bundle/ruby/2.0.0/specifications/blankslate-3.1.3.gemspec +30 -0
  729. data/vendor/bundle/ruby/2.0.0/specifications/diff-lcs-1.2.5.gemspec +65 -0
  730. data/vendor/bundle/ruby/2.0.0/specifications/parslet-1.7.1.gemspec +31 -0
  731. data/vendor/bundle/ruby/2.0.0/specifications/polyglot-0.3.5.gemspec +19 -0
  732. data/vendor/bundle/ruby/2.0.0/specifications/rake-10.4.2.gemspec +40 -0
  733. data/vendor/bundle/ruby/2.0.0/specifications/rspec-3.3.0.gemspec +39 -0
  734. data/vendor/bundle/ruby/2.0.0/specifications/rspec-core-3.3.2.gemspec +65 -0
  735. data/vendor/bundle/ruby/2.0.0/specifications/rspec-expectations-3.3.1.gemspec +47 -0
  736. data/vendor/bundle/ruby/2.0.0/specifications/rspec-mocks-3.3.2.gemspec +50 -0
  737. data/vendor/bundle/ruby/2.0.0/specifications/rspec-support-3.3.0.gemspec +35 -0
  738. data/vendor/bundle/ruby/2.0.0/specifications/treetop-1.6.3.gemspec +50 -0
  739. metadata +869 -0
@@ -0,0 +1,4113 @@
1
+ # Autogenerated from a Treetop grammar. Edits may be lost.
2
+
3
+
4
+ module Treetop
5
+ module Compiler
6
+ module Metagrammar
7
+ include Treetop::Runtime
8
+
9
+ def root
10
+ @root ||= :treetop_file
11
+ end
12
+
13
+ module TreetopFile0
14
+ def require_statement
15
+ elements[1]
16
+ end
17
+ end
18
+
19
+ module TreetopFile1
20
+ def requires
21
+ elements[0]
22
+ end
23
+
24
+ def spacing
25
+ elements[1]
26
+ end
27
+
28
+ def module_or_grammar
29
+ elements[2]
30
+ end
31
+
32
+ def suffix
33
+ elements[3]
34
+ end
35
+ end
36
+
37
+ module TreetopFile2
38
+ def compile
39
+ requires.text_value + spacing.text_value + module_or_grammar.compile + suffix.text_value
40
+ end
41
+ end
42
+
43
+ def _nt_treetop_file
44
+ start_index = index
45
+ if node_cache[:treetop_file].has_key?(index)
46
+ cached = node_cache[:treetop_file][index]
47
+ if cached
48
+ node_cache[:treetop_file][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
49
+ @index = cached.interval.end
50
+ end
51
+ return cached
52
+ end
53
+
54
+ i0, s0 = index, []
55
+ s1, i1 = [], index
56
+ loop do
57
+ i2, s2 = index, []
58
+ r4 = _nt_space
59
+ if r4
60
+ r3 = r4
61
+ else
62
+ r3 = instantiate_node(SyntaxNode,input, index...index)
63
+ end
64
+ s2 << r3
65
+ if r3
66
+ r5 = _nt_require_statement
67
+ s2 << r5
68
+ end
69
+ if s2.last
70
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
71
+ r2.extend(TreetopFile0)
72
+ else
73
+ @index = i2
74
+ r2 = nil
75
+ end
76
+ if r2
77
+ s1 << r2
78
+ else
79
+ break
80
+ end
81
+ end
82
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
83
+ s0 << r1
84
+ if r1
85
+ r7 = _nt_space
86
+ if r7
87
+ r6 = r7
88
+ else
89
+ r6 = instantiate_node(SyntaxNode,input, index...index)
90
+ end
91
+ s0 << r6
92
+ if r6
93
+ r8 = _nt_module_or_grammar
94
+ s0 << r8
95
+ if r8
96
+ r10 = _nt_space
97
+ if r10
98
+ r9 = r10
99
+ else
100
+ r9 = instantiate_node(SyntaxNode,input, index...index)
101
+ end
102
+ s0 << r9
103
+ end
104
+ end
105
+ end
106
+ if s0.last
107
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
108
+ r0.extend(TreetopFile1)
109
+ r0.extend(TreetopFile2)
110
+ else
111
+ @index = i0
112
+ r0 = nil
113
+ end
114
+
115
+ node_cache[:treetop_file][start_index] = r0
116
+
117
+ r0
118
+ end
119
+
120
+ module RequireStatement0
121
+ def spacing
122
+ elements[0]
123
+ end
124
+
125
+ end
126
+
127
+ def _nt_require_statement
128
+ start_index = index
129
+ if node_cache[:require_statement].has_key?(index)
130
+ cached = node_cache[:require_statement][index]
131
+ if cached
132
+ node_cache[:require_statement][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
133
+ @index = cached.interval.end
134
+ end
135
+ return cached
136
+ end
137
+
138
+ i0, s0 = index, []
139
+ r2 = _nt_space
140
+ if r2
141
+ r1 = r2
142
+ else
143
+ r1 = instantiate_node(SyntaxNode,input, index...index)
144
+ end
145
+ s0 << r1
146
+ if r1
147
+ if (match_len = has_terminal?("require", false, index))
148
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
149
+ @index += match_len
150
+ else
151
+ terminal_parse_failure("require")
152
+ r3 = nil
153
+ end
154
+ s0 << r3
155
+ if r3
156
+ s4, i4 = [], index
157
+ loop do
158
+ if has_terminal?(@regexps[gr = '\A[ \\t]'] ||= Regexp.new(gr), :regexp, index)
159
+ r5 = true
160
+ @index += 1
161
+ else
162
+ terminal_parse_failure('[ \\t]')
163
+ r5 = nil
164
+ end
165
+ if r5
166
+ s4 << r5
167
+ else
168
+ break
169
+ end
170
+ end
171
+ if s4.empty?
172
+ @index = i4
173
+ r4 = nil
174
+ else
175
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
176
+ end
177
+ s0 << r4
178
+ if r4
179
+ s6, i6 = [], index
180
+ loop do
181
+ if has_terminal?(@regexps[gr = '\A[^\\n\\r]'] ||= Regexp.new(gr), :regexp, index)
182
+ r7 = true
183
+ @index += 1
184
+ else
185
+ terminal_parse_failure('[^\\n\\r]')
186
+ r7 = nil
187
+ end
188
+ if r7
189
+ s6 << r7
190
+ else
191
+ break
192
+ end
193
+ end
194
+ if s6.empty?
195
+ @index = i6
196
+ r6 = nil
197
+ else
198
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
199
+ end
200
+ s0 << r6
201
+ if r6
202
+ if has_terminal?(@regexps[gr = '\A[\\n\\r]'] ||= Regexp.new(gr), :regexp, index)
203
+ r8 = true
204
+ @index += 1
205
+ else
206
+ terminal_parse_failure('[\\n\\r]')
207
+ r8 = nil
208
+ end
209
+ s0 << r8
210
+ end
211
+ end
212
+ end
213
+ end
214
+ if s0.last
215
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
216
+ r0.extend(RequireStatement0)
217
+ else
218
+ @index = i0
219
+ r0 = nil
220
+ end
221
+
222
+ node_cache[:require_statement][start_index] = r0
223
+
224
+ r0
225
+ end
226
+
227
+ def _nt_module_or_grammar
228
+ start_index = index
229
+ if node_cache[:module_or_grammar].has_key?(index)
230
+ cached = node_cache[:module_or_grammar][index]
231
+ if cached
232
+ node_cache[:module_or_grammar][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
233
+ @index = cached.interval.end
234
+ end
235
+ return cached
236
+ end
237
+
238
+ i0 = index
239
+ r1 = _nt_module_declaration
240
+ if r1
241
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
242
+ r0 = r1
243
+ else
244
+ r2 = _nt_grammar
245
+ if r2
246
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
247
+ r0 = r2
248
+ else
249
+ @index = i0
250
+ r0 = nil
251
+ end
252
+ end
253
+
254
+ node_cache[:module_or_grammar][start_index] = r0
255
+
256
+ r0
257
+ end
258
+
259
+ module ModuleDeclaration0
260
+ end
261
+
262
+ module ModuleDeclaration1
263
+ end
264
+
265
+ module ModuleDeclaration2
266
+ def space1
267
+ elements[1]
268
+ end
269
+
270
+ def name
271
+ elements[2]
272
+ end
273
+
274
+ def space2
275
+ elements[3]
276
+ end
277
+ end
278
+
279
+ module ModuleDeclaration3
280
+ def space
281
+ elements[0]
282
+ end
283
+
284
+ end
285
+
286
+ module ModuleDeclaration4
287
+ def module_prefix
288
+ elements[0]
289
+ end
290
+
291
+ def module_contents
292
+ elements[1]
293
+ end
294
+
295
+ def suffix
296
+ elements[2]
297
+ end
298
+ end
299
+
300
+ module ModuleDeclaration5
301
+ def compile
302
+ module_prefix.text_value + module_contents.compile + suffix.text_value
303
+ end
304
+
305
+ def parser_name
306
+ module_prefix.name.text_value+'::'+module_contents.parser_name
307
+ end
308
+ end
309
+
310
+ def _nt_module_declaration
311
+ start_index = index
312
+ if node_cache[:module_declaration].has_key?(index)
313
+ cached = node_cache[:module_declaration][index]
314
+ if cached
315
+ node_cache[:module_declaration][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
316
+ @index = cached.interval.end
317
+ end
318
+ return cached
319
+ end
320
+
321
+ i0, s0 = index, []
322
+ i1, s1 = index, []
323
+ if (match_len = has_terminal?('module', false, index))
324
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
325
+ @index += match_len
326
+ else
327
+ terminal_parse_failure('module')
328
+ r2 = nil
329
+ end
330
+ s1 << r2
331
+ if r2
332
+ r3 = _nt_space
333
+ s1 << r3
334
+ if r3
335
+ i4, s4 = index, []
336
+ if has_terminal?(@regexps[gr = '\A[A-Z]'] ||= Regexp.new(gr), :regexp, index)
337
+ r5 = true
338
+ @index += 1
339
+ else
340
+ terminal_parse_failure('[A-Z]')
341
+ r5 = nil
342
+ end
343
+ s4 << r5
344
+ if r5
345
+ s6, i6 = [], index
346
+ loop do
347
+ r7 = _nt_alphanumeric_char
348
+ if r7
349
+ s6 << r7
350
+ else
351
+ break
352
+ end
353
+ end
354
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
355
+ s4 << r6
356
+ if r6
357
+ s8, i8 = [], index
358
+ loop do
359
+ i9, s9 = index, []
360
+ if (match_len = has_terminal?('::', false, index))
361
+ r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
362
+ @index += match_len
363
+ else
364
+ terminal_parse_failure('::')
365
+ r10 = nil
366
+ end
367
+ s9 << r10
368
+ if r10
369
+ if has_terminal?(@regexps[gr = '\A[A-Z]'] ||= Regexp.new(gr), :regexp, index)
370
+ r11 = true
371
+ @index += 1
372
+ else
373
+ terminal_parse_failure('[A-Z]')
374
+ r11 = nil
375
+ end
376
+ s9 << r11
377
+ if r11
378
+ s12, i12 = [], index
379
+ loop do
380
+ r13 = _nt_alphanumeric_char
381
+ if r13
382
+ s12 << r13
383
+ else
384
+ break
385
+ end
386
+ end
387
+ r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
388
+ s9 << r12
389
+ end
390
+ end
391
+ if s9.last
392
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
393
+ r9.extend(ModuleDeclaration0)
394
+ else
395
+ @index = i9
396
+ r9 = nil
397
+ end
398
+ if r9
399
+ s8 << r9
400
+ else
401
+ break
402
+ end
403
+ end
404
+ r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
405
+ s4 << r8
406
+ end
407
+ end
408
+ if s4.last
409
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
410
+ r4.extend(ModuleDeclaration1)
411
+ else
412
+ @index = i4
413
+ r4 = nil
414
+ end
415
+ s1 << r4
416
+ if r4
417
+ r14 = _nt_space
418
+ s1 << r14
419
+ end
420
+ end
421
+ end
422
+ if s1.last
423
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
424
+ r1.extend(ModuleDeclaration2)
425
+ else
426
+ @index = i1
427
+ r1 = nil
428
+ end
429
+ s0 << r1
430
+ if r1
431
+ i15 = index
432
+ r16 = _nt_module_declaration
433
+ if r16
434
+ r16 = SyntaxNode.new(input, (index-1)...index) if r16 == true
435
+ r15 = r16
436
+ else
437
+ r17 = _nt_grammar
438
+ if r17
439
+ r17 = SyntaxNode.new(input, (index-1)...index) if r17 == true
440
+ r15 = r17
441
+ else
442
+ @index = i15
443
+ r15 = nil
444
+ end
445
+ end
446
+ s0 << r15
447
+ if r15
448
+ i18, s18 = index, []
449
+ r19 = _nt_space
450
+ s18 << r19
451
+ if r19
452
+ if (match_len = has_terminal?('end', false, index))
453
+ r20 = instantiate_node(SyntaxNode,input, index...(index + match_len))
454
+ @index += match_len
455
+ else
456
+ terminal_parse_failure('end')
457
+ r20 = nil
458
+ end
459
+ s18 << r20
460
+ end
461
+ if s18.last
462
+ r18 = instantiate_node(SyntaxNode,input, i18...index, s18)
463
+ r18.extend(ModuleDeclaration3)
464
+ else
465
+ @index = i18
466
+ r18 = nil
467
+ end
468
+ s0 << r18
469
+ end
470
+ end
471
+ if s0.last
472
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
473
+ r0.extend(ModuleDeclaration4)
474
+ r0.extend(ModuleDeclaration5)
475
+ else
476
+ @index = i0
477
+ r0 = nil
478
+ end
479
+
480
+ node_cache[:module_declaration][start_index] = r0
481
+
482
+ r0
483
+ end
484
+
485
+ module Grammar0
486
+ def space
487
+ elements[1]
488
+ end
489
+ end
490
+
491
+ module Grammar1
492
+ def space1
493
+ elements[1]
494
+ end
495
+
496
+ def grammar_name
497
+ elements[2]
498
+ end
499
+
500
+ def space2
501
+ elements[3]
502
+ end
503
+
504
+ def declaration_sequence
505
+ elements[5]
506
+ end
507
+
508
+ end
509
+
510
+ def _nt_grammar
511
+ start_index = index
512
+ if node_cache[:grammar].has_key?(index)
513
+ cached = node_cache[:grammar][index]
514
+ if cached
515
+ node_cache[:grammar][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
516
+ @index = cached.interval.end
517
+ end
518
+ return cached
519
+ end
520
+
521
+ i0, s0 = index, []
522
+ if (match_len = has_terminal?('grammar', false, index))
523
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
524
+ @index += match_len
525
+ else
526
+ terminal_parse_failure('grammar')
527
+ r1 = nil
528
+ end
529
+ s0 << r1
530
+ if r1
531
+ r2 = _nt_space
532
+ s0 << r2
533
+ if r2
534
+ r3 = _nt_grammar_name
535
+ s0 << r3
536
+ if r3
537
+ r4 = _nt_space
538
+ s0 << r4
539
+ if r4
540
+ i6, s6 = index, []
541
+ if (match_len = has_terminal?('do', false, index))
542
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
543
+ @index += match_len
544
+ else
545
+ terminal_parse_failure('do')
546
+ r7 = nil
547
+ end
548
+ s6 << r7
549
+ if r7
550
+ r8 = _nt_space
551
+ s6 << r8
552
+ end
553
+ if s6.last
554
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
555
+ r6.extend(Grammar0)
556
+ else
557
+ @index = i6
558
+ r6 = nil
559
+ end
560
+ if r6
561
+ r5 = r6
562
+ else
563
+ r5 = instantiate_node(SyntaxNode,input, index...index)
564
+ end
565
+ s0 << r5
566
+ if r5
567
+ r9 = _nt_declaration_sequence
568
+ s0 << r9
569
+ if r9
570
+ r11 = _nt_space
571
+ if r11
572
+ r10 = r11
573
+ else
574
+ r10 = instantiate_node(SyntaxNode,input, index...index)
575
+ end
576
+ s0 << r10
577
+ if r10
578
+ if (match_len = has_terminal?('end', false, index))
579
+ r12 = instantiate_node(SyntaxNode,input, index...(index + match_len))
580
+ @index += match_len
581
+ else
582
+ terminal_parse_failure('end')
583
+ r12 = nil
584
+ end
585
+ s0 << r12
586
+ end
587
+ end
588
+ end
589
+ end
590
+ end
591
+ end
592
+ end
593
+ if s0.last
594
+ r0 = instantiate_node(Grammar,input, i0...index, s0)
595
+ r0.extend(Grammar1)
596
+ else
597
+ @index = i0
598
+ r0 = nil
599
+ end
600
+
601
+ node_cache[:grammar][start_index] = r0
602
+
603
+ r0
604
+ end
605
+
606
+ module GrammarName0
607
+ end
608
+
609
+ def _nt_grammar_name
610
+ start_index = index
611
+ if node_cache[:grammar_name].has_key?(index)
612
+ cached = node_cache[:grammar_name][index]
613
+ if cached
614
+ node_cache[:grammar_name][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
615
+ @index = cached.interval.end
616
+ end
617
+ return cached
618
+ end
619
+
620
+ i0, s0 = index, []
621
+ if has_terminal?(@regexps[gr = '\A[A-Z]'] ||= Regexp.new(gr), :regexp, index)
622
+ r1 = true
623
+ @index += 1
624
+ else
625
+ terminal_parse_failure('[A-Z]')
626
+ r1 = nil
627
+ end
628
+ s0 << r1
629
+ if r1
630
+ s2, i2 = [], index
631
+ loop do
632
+ r3 = _nt_alphanumeric_char
633
+ if r3
634
+ s2 << r3
635
+ else
636
+ break
637
+ end
638
+ end
639
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
640
+ s0 << r2
641
+ end
642
+ if s0.last
643
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
644
+ r0.extend(GrammarName0)
645
+ else
646
+ @index = i0
647
+ r0 = nil
648
+ end
649
+
650
+ node_cache[:grammar_name][start_index] = r0
651
+
652
+ r0
653
+ end
654
+
655
+ module DeclarationSequence0
656
+ def space
657
+ elements[0]
658
+ end
659
+
660
+ def declaration
661
+ elements[1]
662
+ end
663
+ end
664
+
665
+ module DeclarationSequence1
666
+ def head
667
+ elements[0]
668
+ end
669
+
670
+ def tail
671
+ elements[1]
672
+ end
673
+ end
674
+
675
+ module DeclarationSequence2
676
+ def declarations
677
+ [head] + tail
678
+ end
679
+
680
+ def tail
681
+ super.elements.map { |elt| elt.declaration }
682
+ end
683
+ end
684
+
685
+ module DeclarationSequence3
686
+ def compile(builder)
687
+ end
688
+ end
689
+
690
+ def _nt_declaration_sequence
691
+ start_index = index
692
+ if node_cache[:declaration_sequence].has_key?(index)
693
+ cached = node_cache[:declaration_sequence][index]
694
+ if cached
695
+ node_cache[:declaration_sequence][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
696
+ @index = cached.interval.end
697
+ end
698
+ return cached
699
+ end
700
+
701
+ i0 = index
702
+ i1, s1 = index, []
703
+ r2 = _nt_declaration
704
+ s1 << r2
705
+ if r2
706
+ s3, i3 = [], index
707
+ loop do
708
+ i4, s4 = index, []
709
+ r5 = _nt_space
710
+ s4 << r5
711
+ if r5
712
+ r6 = _nt_declaration
713
+ s4 << r6
714
+ end
715
+ if s4.last
716
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
717
+ r4.extend(DeclarationSequence0)
718
+ else
719
+ @index = i4
720
+ r4 = nil
721
+ end
722
+ if r4
723
+ s3 << r4
724
+ else
725
+ break
726
+ end
727
+ end
728
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
729
+ s1 << r3
730
+ end
731
+ if s1.last
732
+ r1 = instantiate_node(DeclarationSequence,input, i1...index, s1)
733
+ r1.extend(DeclarationSequence1)
734
+ r1.extend(DeclarationSequence2)
735
+ else
736
+ @index = i1
737
+ r1 = nil
738
+ end
739
+ if r1
740
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
741
+ r0 = r1
742
+ else
743
+ if (match_len = has_terminal?('', false, index))
744
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
745
+ r7.extend(DeclarationSequence3)
746
+ @index += match_len
747
+ else
748
+ terminal_parse_failure('')
749
+ r7 = nil
750
+ end
751
+ if r7
752
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
753
+ r0 = r7
754
+ else
755
+ @index = i0
756
+ r0 = nil
757
+ end
758
+ end
759
+
760
+ node_cache[:declaration_sequence][start_index] = r0
761
+
762
+ r0
763
+ end
764
+
765
+ def _nt_declaration
766
+ start_index = index
767
+ if node_cache[:declaration].has_key?(index)
768
+ cached = node_cache[:declaration][index]
769
+ if cached
770
+ node_cache[:declaration][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
771
+ @index = cached.interval.end
772
+ end
773
+ return cached
774
+ end
775
+
776
+ i0 = index
777
+ r1 = _nt_parsing_rule
778
+ if r1
779
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
780
+ r0 = r1
781
+ else
782
+ r2 = _nt_include_declaration
783
+ if r2
784
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
785
+ r0 = r2
786
+ else
787
+ @index = i0
788
+ r0 = nil
789
+ end
790
+ end
791
+
792
+ node_cache[:declaration][start_index] = r0
793
+
794
+ r0
795
+ end
796
+
797
+ module IncludeDeclaration0
798
+ def space
799
+ elements[1]
800
+ end
801
+
802
+ end
803
+
804
+ module IncludeDeclaration1
805
+ def compile(builder)
806
+ builder << text_value
807
+ end
808
+ end
809
+
810
+ def _nt_include_declaration
811
+ start_index = index
812
+ if node_cache[:include_declaration].has_key?(index)
813
+ cached = node_cache[:include_declaration][index]
814
+ if cached
815
+ node_cache[:include_declaration][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
816
+ @index = cached.interval.end
817
+ end
818
+ return cached
819
+ end
820
+
821
+ i0, s0 = index, []
822
+ if (match_len = has_terminal?('include', false, index))
823
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
824
+ @index += match_len
825
+ else
826
+ terminal_parse_failure('include')
827
+ r1 = nil
828
+ end
829
+ s0 << r1
830
+ if r1
831
+ r2 = _nt_space
832
+ s0 << r2
833
+ if r2
834
+ if has_terminal?(@regexps[gr = '\A[A-Z]'] ||= Regexp.new(gr), :regexp, index)
835
+ r3 = true
836
+ @index += 1
837
+ else
838
+ terminal_parse_failure('[A-Z]')
839
+ r3 = nil
840
+ end
841
+ s0 << r3
842
+ if r3
843
+ s4, i4 = [], index
844
+ loop do
845
+ i5 = index
846
+ r6 = _nt_alphanumeric_char
847
+ if r6
848
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
849
+ r5 = r6
850
+ else
851
+ if (match_len = has_terminal?('::', false, index))
852
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
853
+ @index += match_len
854
+ else
855
+ terminal_parse_failure('::')
856
+ r7 = nil
857
+ end
858
+ if r7
859
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
860
+ r5 = r7
861
+ else
862
+ @index = i5
863
+ r5 = nil
864
+ end
865
+ end
866
+ if r5
867
+ s4 << r5
868
+ else
869
+ break
870
+ end
871
+ end
872
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
873
+ s0 << r4
874
+ end
875
+ end
876
+ end
877
+ if s0.last
878
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
879
+ r0.extend(IncludeDeclaration0)
880
+ r0.extend(IncludeDeclaration1)
881
+ else
882
+ @index = i0
883
+ r0 = nil
884
+ end
885
+
886
+ node_cache[:include_declaration][start_index] = r0
887
+
888
+ r0
889
+ end
890
+
891
+ module ParsingRule0
892
+ def space
893
+ elements[1]
894
+ end
895
+ end
896
+
897
+ module ParsingRule1
898
+ def space1
899
+ elements[1]
900
+ end
901
+
902
+ def nonterminal
903
+ elements[2]
904
+ end
905
+
906
+ def space2
907
+ elements[3]
908
+ end
909
+
910
+ def parsing_expression
911
+ elements[5]
912
+ end
913
+
914
+ def space3
915
+ elements[6]
916
+ end
917
+
918
+ end
919
+
920
+ def _nt_parsing_rule
921
+ start_index = index
922
+ if node_cache[:parsing_rule].has_key?(index)
923
+ cached = node_cache[:parsing_rule][index]
924
+ if cached
925
+ node_cache[:parsing_rule][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
926
+ @index = cached.interval.end
927
+ end
928
+ return cached
929
+ end
930
+
931
+ i0, s0 = index, []
932
+ if (match_len = has_terminal?('rule', false, index))
933
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
934
+ @index += match_len
935
+ else
936
+ terminal_parse_failure('rule')
937
+ r1 = nil
938
+ end
939
+ s0 << r1
940
+ if r1
941
+ r2 = _nt_space
942
+ s0 << r2
943
+ if r2
944
+ r3 = _nt_nonterminal
945
+ s0 << r3
946
+ if r3
947
+ r4 = _nt_space
948
+ s0 << r4
949
+ if r4
950
+ i6, s6 = index, []
951
+ if (match_len = has_terminal?('do', false, index))
952
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
953
+ @index += match_len
954
+ else
955
+ terminal_parse_failure('do')
956
+ r7 = nil
957
+ end
958
+ s6 << r7
959
+ if r7
960
+ r8 = _nt_space
961
+ s6 << r8
962
+ end
963
+ if s6.last
964
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
965
+ r6.extend(ParsingRule0)
966
+ else
967
+ @index = i6
968
+ r6 = nil
969
+ end
970
+ if r6
971
+ r5 = r6
972
+ else
973
+ r5 = instantiate_node(SyntaxNode,input, index...index)
974
+ end
975
+ s0 << r5
976
+ if r5
977
+ r9 = _nt_parsing_expression
978
+ s0 << r9
979
+ if r9
980
+ r10 = _nt_space
981
+ s0 << r10
982
+ if r10
983
+ if (match_len = has_terminal?('end', false, index))
984
+ r11 = instantiate_node(SyntaxNode,input, index...(index + match_len))
985
+ @index += match_len
986
+ else
987
+ terminal_parse_failure('end')
988
+ r11 = nil
989
+ end
990
+ s0 << r11
991
+ end
992
+ end
993
+ end
994
+ end
995
+ end
996
+ end
997
+ end
998
+ if s0.last
999
+ r0 = instantiate_node(ParsingRule,input, i0...index, s0)
1000
+ r0.extend(ParsingRule1)
1001
+ else
1002
+ @index = i0
1003
+ r0 = nil
1004
+ end
1005
+
1006
+ node_cache[:parsing_rule][start_index] = r0
1007
+
1008
+ r0
1009
+ end
1010
+
1011
+ def _nt_parsing_expression
1012
+ start_index = index
1013
+ if node_cache[:parsing_expression].has_key?(index)
1014
+ cached = node_cache[:parsing_expression][index]
1015
+ if cached
1016
+ node_cache[:parsing_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1017
+ @index = cached.interval.end
1018
+ end
1019
+ return cached
1020
+ end
1021
+
1022
+ i0 = index
1023
+ r1 = _nt_choice
1024
+ if r1
1025
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1026
+ r0 = r1
1027
+ else
1028
+ r2 = _nt_sequence
1029
+ if r2
1030
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1031
+ r0 = r2
1032
+ else
1033
+ r3 = _nt_primary
1034
+ if r3
1035
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
1036
+ r0 = r3
1037
+ else
1038
+ @index = i0
1039
+ r0 = nil
1040
+ end
1041
+ end
1042
+ end
1043
+
1044
+ node_cache[:parsing_expression][start_index] = r0
1045
+
1046
+ r0
1047
+ end
1048
+
1049
+ module Choice0
1050
+ def alternative
1051
+ elements[3]
1052
+ end
1053
+ end
1054
+
1055
+ module Choice1
1056
+ def head
1057
+ elements[0]
1058
+ end
1059
+
1060
+ def tail
1061
+ elements[1]
1062
+ end
1063
+ end
1064
+
1065
+ module Choice2
1066
+ def alternatives
1067
+ [head] + tail
1068
+ end
1069
+
1070
+ def tail
1071
+ super.elements.map {|elt| elt.alternative}
1072
+ end
1073
+
1074
+ def inline_modules
1075
+ (alternatives.map {|alt| alt.inline_modules }).flatten
1076
+ end
1077
+ end
1078
+
1079
+ def _nt_choice
1080
+ start_index = index
1081
+ if node_cache[:choice].has_key?(index)
1082
+ cached = node_cache[:choice][index]
1083
+ if cached
1084
+ node_cache[:choice][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1085
+ @index = cached.interval.end
1086
+ end
1087
+ return cached
1088
+ end
1089
+
1090
+ i0, s0 = index, []
1091
+ r1 = _nt_alternative
1092
+ s0 << r1
1093
+ if r1
1094
+ s2, i2 = [], index
1095
+ loop do
1096
+ i3, s3 = index, []
1097
+ r5 = _nt_space
1098
+ if r5
1099
+ r4 = r5
1100
+ else
1101
+ r4 = instantiate_node(SyntaxNode,input, index...index)
1102
+ end
1103
+ s3 << r4
1104
+ if r4
1105
+ if (match_len = has_terminal?('/', false, index))
1106
+ r6 = true
1107
+ @index += match_len
1108
+ else
1109
+ terminal_parse_failure('/')
1110
+ r6 = nil
1111
+ end
1112
+ s3 << r6
1113
+ if r6
1114
+ r8 = _nt_space
1115
+ if r8
1116
+ r7 = r8
1117
+ else
1118
+ r7 = instantiate_node(SyntaxNode,input, index...index)
1119
+ end
1120
+ s3 << r7
1121
+ if r7
1122
+ r9 = _nt_alternative
1123
+ s3 << r9
1124
+ end
1125
+ end
1126
+ end
1127
+ if s3.last
1128
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1129
+ r3.extend(Choice0)
1130
+ else
1131
+ @index = i3
1132
+ r3 = nil
1133
+ end
1134
+ if r3
1135
+ s2 << r3
1136
+ else
1137
+ break
1138
+ end
1139
+ end
1140
+ if s2.empty?
1141
+ @index = i2
1142
+ r2 = nil
1143
+ else
1144
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1145
+ end
1146
+ s0 << r2
1147
+ end
1148
+ if s0.last
1149
+ r0 = instantiate_node(Choice,input, i0...index, s0)
1150
+ r0.extend(Choice1)
1151
+ r0.extend(Choice2)
1152
+ else
1153
+ @index = i0
1154
+ r0 = nil
1155
+ end
1156
+
1157
+ node_cache[:choice][start_index] = r0
1158
+
1159
+ r0
1160
+ end
1161
+
1162
+ module Sequence0
1163
+ def sequence_body
1164
+ elements[0]
1165
+ end
1166
+
1167
+ def node_class_declarations
1168
+ elements[1]
1169
+ end
1170
+ end
1171
+
1172
+ module Sequence1
1173
+ def sequence_elements
1174
+ [sequence_body.head] + tail
1175
+ end
1176
+
1177
+ def tail
1178
+ sequence_body.tail
1179
+ end
1180
+
1181
+ def inline_modules
1182
+ (sequence_elements.map {|elt| elt.inline_modules}).flatten +
1183
+ [sequence_element_accessor_module] +
1184
+ node_class_declarations.inline_modules
1185
+ end
1186
+
1187
+ def inline_module_name
1188
+ node_class_declarations.inline_module_name
1189
+ end
1190
+ end
1191
+
1192
+ def _nt_sequence
1193
+ start_index = index
1194
+ if node_cache[:sequence].has_key?(index)
1195
+ cached = node_cache[:sequence][index]
1196
+ if cached
1197
+ node_cache[:sequence][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1198
+ @index = cached.interval.end
1199
+ end
1200
+ return cached
1201
+ end
1202
+
1203
+ i0, s0 = index, []
1204
+ r1 = _nt_sequence_body
1205
+ s0 << r1
1206
+ if r1
1207
+ r2 = _nt_node_class_declarations
1208
+ s0 << r2
1209
+ end
1210
+ if s0.last
1211
+ r0 = instantiate_node(Sequence,input, i0...index, s0)
1212
+ r0.extend(Sequence0)
1213
+ r0.extend(Sequence1)
1214
+ else
1215
+ @index = i0
1216
+ r0 = nil
1217
+ end
1218
+
1219
+ node_cache[:sequence][start_index] = r0
1220
+
1221
+ r0
1222
+ end
1223
+
1224
+ def _nt_sequence_body
1225
+ start_index = index
1226
+ if node_cache[:sequence_body].has_key?(index)
1227
+ cached = node_cache[:sequence_body][index]
1228
+ if cached
1229
+ node_cache[:sequence_body][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1230
+ @index = cached.interval.end
1231
+ end
1232
+ return cached
1233
+ end
1234
+
1235
+ i0 = index
1236
+ r1 = _nt_variable_length_sequence_body
1237
+ if r1
1238
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1239
+ r0 = r1
1240
+ else
1241
+ r2 = _nt_labeled_expression_sequence_body
1242
+ if r2
1243
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1244
+ r0 = r2
1245
+ else
1246
+ @index = i0
1247
+ r0 = nil
1248
+ end
1249
+ end
1250
+
1251
+ node_cache[:sequence_body][start_index] = r0
1252
+
1253
+ r0
1254
+ end
1255
+
1256
+ module VariableLengthSequenceBody0
1257
+ def space
1258
+ elements[0]
1259
+ end
1260
+
1261
+ def optionally_labeled_sequence_primary
1262
+ elements[1]
1263
+ end
1264
+ end
1265
+
1266
+ module VariableLengthSequenceBody1
1267
+ def head
1268
+ elements[0]
1269
+ end
1270
+
1271
+ def tail
1272
+ elements[1]
1273
+ end
1274
+ end
1275
+
1276
+ module VariableLengthSequenceBody2
1277
+ def tail
1278
+ super.elements.map {|elt| elt.optionally_labeled_sequence_primary }
1279
+ end
1280
+ end
1281
+
1282
+ def _nt_variable_length_sequence_body
1283
+ start_index = index
1284
+ if node_cache[:variable_length_sequence_body].has_key?(index)
1285
+ cached = node_cache[:variable_length_sequence_body][index]
1286
+ if cached
1287
+ node_cache[:variable_length_sequence_body][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1288
+ @index = cached.interval.end
1289
+ end
1290
+ return cached
1291
+ end
1292
+
1293
+ i0, s0 = index, []
1294
+ r1 = _nt_optionally_labeled_sequence_primary
1295
+ s0 << r1
1296
+ if r1
1297
+ s2, i2 = [], index
1298
+ loop do
1299
+ i3, s3 = index, []
1300
+ r4 = _nt_space
1301
+ s3 << r4
1302
+ if r4
1303
+ r5 = _nt_optionally_labeled_sequence_primary
1304
+ s3 << r5
1305
+ end
1306
+ if s3.last
1307
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1308
+ r3.extend(VariableLengthSequenceBody0)
1309
+ else
1310
+ @index = i3
1311
+ r3 = nil
1312
+ end
1313
+ if r3
1314
+ s2 << r3
1315
+ else
1316
+ break
1317
+ end
1318
+ end
1319
+ if s2.empty?
1320
+ @index = i2
1321
+ r2 = nil
1322
+ else
1323
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1324
+ end
1325
+ s0 << r2
1326
+ end
1327
+ if s0.last
1328
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1329
+ r0.extend(VariableLengthSequenceBody1)
1330
+ r0.extend(VariableLengthSequenceBody2)
1331
+ else
1332
+ @index = i0
1333
+ r0 = nil
1334
+ end
1335
+
1336
+ node_cache[:variable_length_sequence_body][start_index] = r0
1337
+
1338
+ r0
1339
+ end
1340
+
1341
+ module LabeledExpressionSequenceBody0
1342
+ def head
1343
+ self
1344
+ end
1345
+
1346
+ def tail
1347
+ []
1348
+ end
1349
+ end
1350
+
1351
+ def _nt_labeled_expression_sequence_body
1352
+ start_index = index
1353
+ if node_cache[:labeled_expression_sequence_body].has_key?(index)
1354
+ cached = node_cache[:labeled_expression_sequence_body][index]
1355
+ if cached
1356
+ node_cache[:labeled_expression_sequence_body][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1357
+ @index = cached.interval.end
1358
+ end
1359
+ return cached
1360
+ end
1361
+
1362
+ r0 = _nt_labeled_sequence_primary
1363
+ r0.extend(LabeledExpressionSequenceBody0)
1364
+
1365
+ node_cache[:labeled_expression_sequence_body][start_index] = r0
1366
+
1367
+ r0
1368
+ end
1369
+
1370
+ def _nt_alternative
1371
+ start_index = index
1372
+ if node_cache[:alternative].has_key?(index)
1373
+ cached = node_cache[:alternative][index]
1374
+ if cached
1375
+ node_cache[:alternative][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1376
+ @index = cached.interval.end
1377
+ end
1378
+ return cached
1379
+ end
1380
+
1381
+ i0 = index
1382
+ r1 = _nt_sequence
1383
+ if r1
1384
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1385
+ r0 = r1
1386
+ else
1387
+ r2 = _nt_primary
1388
+ if r2
1389
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1390
+ r0 = r2
1391
+ else
1392
+ @index = i0
1393
+ r0 = nil
1394
+ end
1395
+ end
1396
+
1397
+ node_cache[:alternative][start_index] = r0
1398
+
1399
+ r0
1400
+ end
1401
+
1402
+ module Primary0
1403
+ def prefix
1404
+ elements[0]
1405
+ end
1406
+
1407
+ def atomic
1408
+ elements[1]
1409
+ end
1410
+ end
1411
+
1412
+ module Primary1
1413
+ def compile(address, builder, parent_expression=nil)
1414
+ prefix.compile(address, builder, self)
1415
+ end
1416
+
1417
+ def prefixed_expression
1418
+ atomic
1419
+ end
1420
+
1421
+ def inline_modules
1422
+ atomic.inline_modules
1423
+ end
1424
+
1425
+ def inline_module_name
1426
+ nil
1427
+ end
1428
+ end
1429
+
1430
+ module Primary2
1431
+ def prefix
1432
+ elements[0]
1433
+ end
1434
+
1435
+ def atomic
1436
+ elements[2]
1437
+ end
1438
+ end
1439
+
1440
+ module Primary3
1441
+ def compile(address, builder, parent_expression=nil)
1442
+ prefix.compile(address, builder, self)
1443
+ end
1444
+ def prefixed_expression
1445
+ atomic
1446
+ end
1447
+ def inline_modules
1448
+ []
1449
+ end
1450
+ end
1451
+
1452
+ module Primary4
1453
+ def atomic
1454
+ elements[0]
1455
+ end
1456
+
1457
+ def suffix
1458
+ elements[1]
1459
+ end
1460
+
1461
+ def node_class_declarations
1462
+ elements[2]
1463
+ end
1464
+ end
1465
+
1466
+ module Primary5
1467
+ def compile(address, builder, parent_expression=nil)
1468
+ suffix.compile(address, builder, self)
1469
+ end
1470
+
1471
+ def optional_expression
1472
+ atomic
1473
+ end
1474
+
1475
+ def node_class_name
1476
+ node_class_declarations.node_class_name
1477
+ end
1478
+
1479
+ def inline_modules
1480
+ atomic.inline_modules + node_class_declarations.inline_modules
1481
+ end
1482
+
1483
+ def inline_module_name
1484
+ node_class_declarations.inline_module_name
1485
+ end
1486
+ end
1487
+
1488
+ module Primary6
1489
+ def atomic
1490
+ elements[0]
1491
+ end
1492
+
1493
+ def node_class_declarations
1494
+ elements[1]
1495
+ end
1496
+ end
1497
+
1498
+ module Primary7
1499
+ def compile(address, builder, parent_expression=nil)
1500
+ atomic.compile(address, builder, self)
1501
+ end
1502
+
1503
+ def node_class_name
1504
+ node_class_declarations.node_class_name
1505
+ end
1506
+
1507
+ def inline_modules
1508
+ atomic.inline_modules + node_class_declarations.inline_modules
1509
+ end
1510
+
1511
+ def inline_module_name
1512
+ node_class_declarations.inline_module_name
1513
+ end
1514
+ end
1515
+
1516
+ def _nt_primary
1517
+ start_index = index
1518
+ if node_cache[:primary].has_key?(index)
1519
+ cached = node_cache[:primary][index]
1520
+ if cached
1521
+ node_cache[:primary][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1522
+ @index = cached.interval.end
1523
+ end
1524
+ return cached
1525
+ end
1526
+
1527
+ i0 = index
1528
+ i1, s1 = index, []
1529
+ r2 = _nt_prefix
1530
+ s1 << r2
1531
+ if r2
1532
+ r3 = _nt_atomic
1533
+ s1 << r3
1534
+ end
1535
+ if s1.last
1536
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1537
+ r1.extend(Primary0)
1538
+ r1.extend(Primary1)
1539
+ else
1540
+ @index = i1
1541
+ r1 = nil
1542
+ end
1543
+ if r1
1544
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1545
+ r0 = r1
1546
+ else
1547
+ i4, s4 = index, []
1548
+ r5 = _nt_prefix
1549
+ s4 << r5
1550
+ if r5
1551
+ r7 = _nt_space
1552
+ if r7
1553
+ r6 = r7
1554
+ else
1555
+ r6 = instantiate_node(SyntaxNode,input, index...index)
1556
+ end
1557
+ s4 << r6
1558
+ if r6
1559
+ r8 = _nt_predicate_block
1560
+ s4 << r8
1561
+ end
1562
+ end
1563
+ if s4.last
1564
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1565
+ r4.extend(Primary2)
1566
+ r4.extend(Primary3)
1567
+ else
1568
+ @index = i4
1569
+ r4 = nil
1570
+ end
1571
+ if r4
1572
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
1573
+ r0 = r4
1574
+ else
1575
+ i9, s9 = index, []
1576
+ r10 = _nt_atomic
1577
+ s9 << r10
1578
+ if r10
1579
+ r11 = _nt_suffix
1580
+ s9 << r11
1581
+ if r11
1582
+ r12 = _nt_node_class_declarations
1583
+ s9 << r12
1584
+ end
1585
+ end
1586
+ if s9.last
1587
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
1588
+ r9.extend(Primary4)
1589
+ r9.extend(Primary5)
1590
+ else
1591
+ @index = i9
1592
+ r9 = nil
1593
+ end
1594
+ if r9
1595
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
1596
+ r0 = r9
1597
+ else
1598
+ i13, s13 = index, []
1599
+ r14 = _nt_atomic
1600
+ s13 << r14
1601
+ if r14
1602
+ r15 = _nt_node_class_declarations
1603
+ s13 << r15
1604
+ end
1605
+ if s13.last
1606
+ r13 = instantiate_node(SyntaxNode,input, i13...index, s13)
1607
+ r13.extend(Primary6)
1608
+ r13.extend(Primary7)
1609
+ else
1610
+ @index = i13
1611
+ r13 = nil
1612
+ end
1613
+ if r13
1614
+ r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true
1615
+ r0 = r13
1616
+ else
1617
+ @index = i0
1618
+ r0 = nil
1619
+ end
1620
+ end
1621
+ end
1622
+ end
1623
+
1624
+ node_cache[:primary][start_index] = r0
1625
+
1626
+ r0
1627
+ end
1628
+
1629
+ def _nt_optionally_labeled_sequence_primary
1630
+ start_index = index
1631
+ if node_cache[:optionally_labeled_sequence_primary].has_key?(index)
1632
+ cached = node_cache[:optionally_labeled_sequence_primary][index]
1633
+ if cached
1634
+ node_cache[:optionally_labeled_sequence_primary][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1635
+ @index = cached.interval.end
1636
+ end
1637
+ return cached
1638
+ end
1639
+
1640
+ i0 = index
1641
+ r1 = _nt_labeled_sequence_primary
1642
+ if r1
1643
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1644
+ r0 = r1
1645
+ else
1646
+ r2 = _nt_unlabeled_sequence_primary
1647
+ if r2
1648
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1649
+ r0 = r2
1650
+ else
1651
+ @index = i0
1652
+ r0 = nil
1653
+ end
1654
+ end
1655
+
1656
+ node_cache[:optionally_labeled_sequence_primary][start_index] = r0
1657
+
1658
+ r0
1659
+ end
1660
+
1661
+ module LabeledSequencePrimary0
1662
+ def named_label
1663
+ elements[0]
1664
+ end
1665
+
1666
+ def sequence_primary
1667
+ elements[1]
1668
+ end
1669
+ end
1670
+
1671
+ module LabeledSequencePrimary1
1672
+ def compile(lexical_address, builder)
1673
+ sequence_primary.compile(lexical_address, builder)
1674
+ end
1675
+
1676
+ def inline_modules
1677
+ sequence_primary.inline_modules
1678
+ end
1679
+
1680
+ def label_name
1681
+ named_label.name
1682
+ end
1683
+ end
1684
+
1685
+ def _nt_labeled_sequence_primary
1686
+ start_index = index
1687
+ if node_cache[:labeled_sequence_primary].has_key?(index)
1688
+ cached = node_cache[:labeled_sequence_primary][index]
1689
+ if cached
1690
+ node_cache[:labeled_sequence_primary][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1691
+ @index = cached.interval.end
1692
+ end
1693
+ return cached
1694
+ end
1695
+
1696
+ i0, s0 = index, []
1697
+ r1 = _nt_named_label
1698
+ s0 << r1
1699
+ if r1
1700
+ r2 = _nt_sequence_primary
1701
+ s0 << r2
1702
+ end
1703
+ if s0.last
1704
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1705
+ r0.extend(LabeledSequencePrimary0)
1706
+ r0.extend(LabeledSequencePrimary1)
1707
+ else
1708
+ @index = i0
1709
+ r0 = nil
1710
+ end
1711
+
1712
+ node_cache[:labeled_sequence_primary][start_index] = r0
1713
+
1714
+ r0
1715
+ end
1716
+
1717
+ module UnlabeledSequencePrimary0
1718
+ def null_label
1719
+ elements[0]
1720
+ end
1721
+
1722
+ def sequence_primary
1723
+ elements[1]
1724
+ end
1725
+ end
1726
+
1727
+ module UnlabeledSequencePrimary1
1728
+ def compile(lexical_address, builder)
1729
+ sequence_primary.compile(lexical_address, builder)
1730
+ end
1731
+
1732
+ def inline_modules
1733
+ sequence_primary.inline_modules
1734
+ end
1735
+
1736
+ def label_name
1737
+ if sequence_primary.instance_of?(Nonterminal)
1738
+ sequence_primary.text_value
1739
+ else
1740
+ nil
1741
+ end
1742
+ end
1743
+ end
1744
+
1745
+ def _nt_unlabeled_sequence_primary
1746
+ start_index = index
1747
+ if node_cache[:unlabeled_sequence_primary].has_key?(index)
1748
+ cached = node_cache[:unlabeled_sequence_primary][index]
1749
+ if cached
1750
+ node_cache[:unlabeled_sequence_primary][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1751
+ @index = cached.interval.end
1752
+ end
1753
+ return cached
1754
+ end
1755
+
1756
+ i0, s0 = index, []
1757
+ r1 = _nt_null_label
1758
+ s0 << r1
1759
+ if r1
1760
+ r2 = _nt_sequence_primary
1761
+ s0 << r2
1762
+ end
1763
+ if s0.last
1764
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1765
+ r0.extend(UnlabeledSequencePrimary0)
1766
+ r0.extend(UnlabeledSequencePrimary1)
1767
+ else
1768
+ @index = i0
1769
+ r0 = nil
1770
+ end
1771
+
1772
+ node_cache[:unlabeled_sequence_primary][start_index] = r0
1773
+
1774
+ r0
1775
+ end
1776
+
1777
+ def _nt_label
1778
+ start_index = index
1779
+ if node_cache[:label].has_key?(index)
1780
+ cached = node_cache[:label][index]
1781
+ if cached
1782
+ node_cache[:label][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1783
+ @index = cached.interval.end
1784
+ end
1785
+ return cached
1786
+ end
1787
+
1788
+ i0 = index
1789
+ r1 = _nt_named_label
1790
+ if r1
1791
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
1792
+ r0 = r1
1793
+ else
1794
+ r2 = _nt_null_label
1795
+ if r2
1796
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
1797
+ r0 = r2
1798
+ else
1799
+ @index = i0
1800
+ r0 = nil
1801
+ end
1802
+ end
1803
+
1804
+ node_cache[:label][start_index] = r0
1805
+
1806
+ r0
1807
+ end
1808
+
1809
+ module NamedLabel0
1810
+ def alpha_char
1811
+ elements[0]
1812
+ end
1813
+
1814
+ end
1815
+
1816
+ module NamedLabel1
1817
+ end
1818
+
1819
+ module NamedLabel2
1820
+ def name
1821
+ elements[0].text_value
1822
+ end
1823
+ end
1824
+
1825
+ def _nt_named_label
1826
+ start_index = index
1827
+ if node_cache[:named_label].has_key?(index)
1828
+ cached = node_cache[:named_label][index]
1829
+ if cached
1830
+ node_cache[:named_label][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1831
+ @index = cached.interval.end
1832
+ end
1833
+ return cached
1834
+ end
1835
+
1836
+ i0, s0 = index, []
1837
+ i1, s1 = index, []
1838
+ r2 = _nt_alpha_char
1839
+ s1 << r2
1840
+ if r2
1841
+ s3, i3 = [], index
1842
+ loop do
1843
+ r4 = _nt_alphanumeric_char
1844
+ if r4
1845
+ s3 << r4
1846
+ else
1847
+ break
1848
+ end
1849
+ end
1850
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1851
+ s1 << r3
1852
+ end
1853
+ if s1.last
1854
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1855
+ r1.extend(NamedLabel0)
1856
+ else
1857
+ @index = i1
1858
+ r1 = nil
1859
+ end
1860
+ s0 << r1
1861
+ if r1
1862
+ if (match_len = has_terminal?(':', false, index))
1863
+ r5 = true
1864
+ @index += match_len
1865
+ else
1866
+ terminal_parse_failure(':')
1867
+ r5 = nil
1868
+ end
1869
+ s0 << r5
1870
+ end
1871
+ if s0.last
1872
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1873
+ r0.extend(NamedLabel1)
1874
+ r0.extend(NamedLabel2)
1875
+ else
1876
+ @index = i0
1877
+ r0 = nil
1878
+ end
1879
+
1880
+ node_cache[:named_label][start_index] = r0
1881
+
1882
+ r0
1883
+ end
1884
+
1885
+ module NullLabel0
1886
+ def name
1887
+ nil
1888
+ end
1889
+ end
1890
+
1891
+ def _nt_null_label
1892
+ start_index = index
1893
+ if node_cache[:null_label].has_key?(index)
1894
+ cached = node_cache[:null_label][index]
1895
+ if cached
1896
+ node_cache[:null_label][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
1897
+ @index = cached.interval.end
1898
+ end
1899
+ return cached
1900
+ end
1901
+
1902
+ if (match_len = has_terminal?('', false, index))
1903
+ r0 = instantiate_node(SyntaxNode,input, index...(index + match_len))
1904
+ r0.extend(NullLabel0)
1905
+ @index += match_len
1906
+ else
1907
+ terminal_parse_failure('')
1908
+ r0 = nil
1909
+ end
1910
+
1911
+ node_cache[:null_label][start_index] = r0
1912
+
1913
+ r0
1914
+ end
1915
+
1916
+ module SequencePrimary0
1917
+ def prefix
1918
+ elements[0]
1919
+ end
1920
+
1921
+ def atomic
1922
+ elements[1]
1923
+ end
1924
+ end
1925
+
1926
+ module SequencePrimary1
1927
+ def compile(lexical_address, builder)
1928
+ prefix.compile(lexical_address, builder, self)
1929
+ end
1930
+
1931
+ def prefixed_expression
1932
+ elements[1]
1933
+ end
1934
+
1935
+ def inline_modules
1936
+ atomic.inline_modules
1937
+ end
1938
+
1939
+ def inline_module_name
1940
+ nil
1941
+ end
1942
+ end
1943
+
1944
+ module SequencePrimary2
1945
+ def prefix
1946
+ elements[0]
1947
+ end
1948
+
1949
+ def atomic
1950
+ elements[2]
1951
+ end
1952
+ end
1953
+
1954
+ module SequencePrimary3
1955
+ def compile(address, builder, parent_expression=nil)
1956
+ prefix.compile(address, builder, self)
1957
+ end
1958
+ def prefixed_expression
1959
+ atomic
1960
+ end
1961
+ def inline_modules
1962
+ []
1963
+ end
1964
+ end
1965
+
1966
+ module SequencePrimary4
1967
+ def atomic
1968
+ elements[0]
1969
+ end
1970
+
1971
+ def suffix
1972
+ elements[1]
1973
+ end
1974
+ end
1975
+
1976
+ module SequencePrimary5
1977
+ def compile(lexical_address, builder)
1978
+ suffix.compile(lexical_address, builder, self)
1979
+ end
1980
+
1981
+ def node_class_name
1982
+ nil
1983
+ end
1984
+
1985
+ def inline_modules
1986
+ atomic.inline_modules
1987
+ end
1988
+
1989
+ def inline_module_name
1990
+ nil
1991
+ end
1992
+ end
1993
+
1994
+ def _nt_sequence_primary
1995
+ start_index = index
1996
+ if node_cache[:sequence_primary].has_key?(index)
1997
+ cached = node_cache[:sequence_primary][index]
1998
+ if cached
1999
+ node_cache[:sequence_primary][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2000
+ @index = cached.interval.end
2001
+ end
2002
+ return cached
2003
+ end
2004
+
2005
+ i0 = index
2006
+ i1, s1 = index, []
2007
+ r2 = _nt_prefix
2008
+ s1 << r2
2009
+ if r2
2010
+ r3 = _nt_atomic
2011
+ s1 << r3
2012
+ end
2013
+ if s1.last
2014
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
2015
+ r1.extend(SequencePrimary0)
2016
+ r1.extend(SequencePrimary1)
2017
+ else
2018
+ @index = i1
2019
+ r1 = nil
2020
+ end
2021
+ if r1
2022
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2023
+ r0 = r1
2024
+ else
2025
+ i4, s4 = index, []
2026
+ r5 = _nt_prefix
2027
+ s4 << r5
2028
+ if r5
2029
+ r7 = _nt_space
2030
+ if r7
2031
+ r6 = r7
2032
+ else
2033
+ r6 = instantiate_node(SyntaxNode,input, index...index)
2034
+ end
2035
+ s4 << r6
2036
+ if r6
2037
+ r8 = _nt_predicate_block
2038
+ s4 << r8
2039
+ end
2040
+ end
2041
+ if s4.last
2042
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
2043
+ r4.extend(SequencePrimary2)
2044
+ r4.extend(SequencePrimary3)
2045
+ else
2046
+ @index = i4
2047
+ r4 = nil
2048
+ end
2049
+ if r4
2050
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
2051
+ r0 = r4
2052
+ else
2053
+ i9, s9 = index, []
2054
+ r10 = _nt_atomic
2055
+ s9 << r10
2056
+ if r10
2057
+ r11 = _nt_suffix
2058
+ s9 << r11
2059
+ end
2060
+ if s9.last
2061
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
2062
+ r9.extend(SequencePrimary4)
2063
+ r9.extend(SequencePrimary5)
2064
+ else
2065
+ @index = i9
2066
+ r9 = nil
2067
+ end
2068
+ if r9
2069
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2070
+ r0 = r9
2071
+ else
2072
+ r12 = _nt_atomic
2073
+ if r12
2074
+ r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
2075
+ r0 = r12
2076
+ else
2077
+ @index = i0
2078
+ r0 = nil
2079
+ end
2080
+ end
2081
+ end
2082
+ end
2083
+
2084
+ node_cache[:sequence_primary][start_index] = r0
2085
+
2086
+ r0
2087
+ end
2088
+
2089
+ def _nt_suffix
2090
+ start_index = index
2091
+ if node_cache[:suffix].has_key?(index)
2092
+ cached = node_cache[:suffix][index]
2093
+ if cached
2094
+ node_cache[:suffix][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2095
+ @index = cached.interval.end
2096
+ end
2097
+ return cached
2098
+ end
2099
+
2100
+ i0 = index
2101
+ r1 = _nt_repetition_suffix
2102
+ if r1
2103
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2104
+ r0 = r1
2105
+ else
2106
+ r2 = _nt_optional_suffix
2107
+ if r2
2108
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2109
+ r0 = r2
2110
+ else
2111
+ @index = i0
2112
+ r0 = nil
2113
+ end
2114
+ end
2115
+
2116
+ node_cache[:suffix][start_index] = r0
2117
+
2118
+ r0
2119
+ end
2120
+
2121
+ def _nt_optional_suffix
2122
+ start_index = index
2123
+ if node_cache[:optional_suffix].has_key?(index)
2124
+ cached = node_cache[:optional_suffix][index]
2125
+ if cached
2126
+ node_cache[:optional_suffix][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2127
+ @index = cached.interval.end
2128
+ end
2129
+ return cached
2130
+ end
2131
+
2132
+ if (match_len = has_terminal?('?', false, index))
2133
+ r0 = instantiate_node(Optional,input, index...(index + match_len))
2134
+ @index += match_len
2135
+ else
2136
+ terminal_parse_failure('?')
2137
+ r0 = nil
2138
+ end
2139
+
2140
+ node_cache[:optional_suffix][start_index] = r0
2141
+
2142
+ r0
2143
+ end
2144
+
2145
+ module NodeClassDeclarations0
2146
+ def node_class_expression
2147
+ elements[0]
2148
+ end
2149
+
2150
+ def trailing_inline_module
2151
+ elements[1]
2152
+ end
2153
+ end
2154
+
2155
+ module NodeClassDeclarations1
2156
+ def node_class_name
2157
+ node_class_expression.node_class_name
2158
+ end
2159
+
2160
+ def inline_modules
2161
+ trailing_inline_module.inline_modules
2162
+ end
2163
+
2164
+ def inline_module
2165
+ trailing_inline_module.inline_module
2166
+ end
2167
+
2168
+ def inline_module_name
2169
+ inline_module.module_name if inline_module
2170
+ end
2171
+ end
2172
+
2173
+ def _nt_node_class_declarations
2174
+ start_index = index
2175
+ if node_cache[:node_class_declarations].has_key?(index)
2176
+ cached = node_cache[:node_class_declarations][index]
2177
+ if cached
2178
+ node_cache[:node_class_declarations][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2179
+ @index = cached.interval.end
2180
+ end
2181
+ return cached
2182
+ end
2183
+
2184
+ i0, s0 = index, []
2185
+ r1 = _nt_node_class_expression
2186
+ s0 << r1
2187
+ if r1
2188
+ r2 = _nt_trailing_inline_module
2189
+ s0 << r2
2190
+ end
2191
+ if s0.last
2192
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2193
+ r0.extend(NodeClassDeclarations0)
2194
+ r0.extend(NodeClassDeclarations1)
2195
+ else
2196
+ @index = i0
2197
+ r0 = nil
2198
+ end
2199
+
2200
+ node_cache[:node_class_declarations][start_index] = r0
2201
+
2202
+ r0
2203
+ end
2204
+
2205
+ def _nt_repetition_suffix
2206
+ start_index = index
2207
+ if node_cache[:repetition_suffix].has_key?(index)
2208
+ cached = node_cache[:repetition_suffix][index]
2209
+ if cached
2210
+ node_cache[:repetition_suffix][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2211
+ @index = cached.interval.end
2212
+ end
2213
+ return cached
2214
+ end
2215
+
2216
+ i0 = index
2217
+ if (match_len = has_terminal?('+', false, index))
2218
+ r1 = instantiate_node(OneOrMore,input, index...(index + match_len))
2219
+ @index += match_len
2220
+ else
2221
+ terminal_parse_failure('+')
2222
+ r1 = nil
2223
+ end
2224
+ if r1
2225
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2226
+ r0 = r1
2227
+ else
2228
+ if (match_len = has_terminal?('*', false, index))
2229
+ r2 = instantiate_node(ZeroOrMore,input, index...(index + match_len))
2230
+ @index += match_len
2231
+ else
2232
+ terminal_parse_failure('*')
2233
+ r2 = nil
2234
+ end
2235
+ if r2
2236
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2237
+ r0 = r2
2238
+ else
2239
+ r3 = _nt_occurrence_range
2240
+ if r3
2241
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2242
+ r0 = r3
2243
+ else
2244
+ @index = i0
2245
+ r0 = nil
2246
+ end
2247
+ end
2248
+ end
2249
+
2250
+ node_cache[:repetition_suffix][start_index] = r0
2251
+
2252
+ r0
2253
+ end
2254
+
2255
+ module OccurrenceRange0
2256
+ def min
2257
+ elements[1]
2258
+ end
2259
+
2260
+ def max
2261
+ elements[3]
2262
+ end
2263
+ end
2264
+
2265
+ def _nt_occurrence_range
2266
+ start_index = index
2267
+ if node_cache[:occurrence_range].has_key?(index)
2268
+ cached = node_cache[:occurrence_range][index]
2269
+ if cached
2270
+ node_cache[:occurrence_range][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2271
+ @index = cached.interval.end
2272
+ end
2273
+ return cached
2274
+ end
2275
+
2276
+ i0, s0 = index, []
2277
+ r2 = _nt_space
2278
+ if r2
2279
+ r1 = r2
2280
+ else
2281
+ r1 = instantiate_node(SyntaxNode,input, index...index)
2282
+ end
2283
+ s0 << r1
2284
+ if r1
2285
+ s3, i3 = [], index
2286
+ loop do
2287
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
2288
+ r4 = true
2289
+ @index += 1
2290
+ else
2291
+ terminal_parse_failure('[0-9]')
2292
+ r4 = nil
2293
+ end
2294
+ if r4
2295
+ s3 << r4
2296
+ else
2297
+ break
2298
+ end
2299
+ end
2300
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2301
+ s0 << r3
2302
+ if r3
2303
+ if (match_len = has_terminal?('..', false, index))
2304
+ r5 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2305
+ @index += match_len
2306
+ else
2307
+ terminal_parse_failure('..')
2308
+ r5 = nil
2309
+ end
2310
+ s0 << r5
2311
+ if r5
2312
+ s6, i6 = [], index
2313
+ loop do
2314
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
2315
+ r7 = true
2316
+ @index += 1
2317
+ else
2318
+ terminal_parse_failure('[0-9]')
2319
+ r7 = nil
2320
+ end
2321
+ if r7
2322
+ s6 << r7
2323
+ else
2324
+ break
2325
+ end
2326
+ end
2327
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
2328
+ s0 << r6
2329
+ end
2330
+ end
2331
+ end
2332
+ if s0.last
2333
+ r0 = instantiate_node(OccurrenceRange,input, i0...index, s0)
2334
+ r0.extend(OccurrenceRange0)
2335
+ else
2336
+ @index = i0
2337
+ r0 = nil
2338
+ end
2339
+
2340
+ node_cache[:occurrence_range][start_index] = r0
2341
+
2342
+ r0
2343
+ end
2344
+
2345
+ def _nt_prefix
2346
+ start_index = index
2347
+ if node_cache[:prefix].has_key?(index)
2348
+ cached = node_cache[:prefix][index]
2349
+ if cached
2350
+ node_cache[:prefix][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2351
+ @index = cached.interval.end
2352
+ end
2353
+ return cached
2354
+ end
2355
+
2356
+ i0 = index
2357
+ if (match_len = has_terminal?('&', false, index))
2358
+ r1 = instantiate_node(AndPredicate,input, index...(index + match_len))
2359
+ @index += match_len
2360
+ else
2361
+ terminal_parse_failure('&')
2362
+ r1 = nil
2363
+ end
2364
+ if r1
2365
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2366
+ r0 = r1
2367
+ else
2368
+ if (match_len = has_terminal?('!', false, index))
2369
+ r2 = instantiate_node(NotPredicate,input, index...(index + match_len))
2370
+ @index += match_len
2371
+ else
2372
+ terminal_parse_failure('!')
2373
+ r2 = nil
2374
+ end
2375
+ if r2
2376
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2377
+ r0 = r2
2378
+ else
2379
+ if (match_len = has_terminal?('~', false, index))
2380
+ r3 = instantiate_node(TransientPrefix,input, index...(index + match_len))
2381
+ @index += match_len
2382
+ else
2383
+ terminal_parse_failure('~')
2384
+ r3 = nil
2385
+ end
2386
+ if r3
2387
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2388
+ r0 = r3
2389
+ else
2390
+ @index = i0
2391
+ r0 = nil
2392
+ end
2393
+ end
2394
+ end
2395
+
2396
+ node_cache[:prefix][start_index] = r0
2397
+
2398
+ r0
2399
+ end
2400
+
2401
+ def _nt_atomic
2402
+ start_index = index
2403
+ if node_cache[:atomic].has_key?(index)
2404
+ cached = node_cache[:atomic][index]
2405
+ if cached
2406
+ node_cache[:atomic][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2407
+ @index = cached.interval.end
2408
+ end
2409
+ return cached
2410
+ end
2411
+
2412
+ i0 = index
2413
+ r1 = _nt_terminal
2414
+ if r1
2415
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2416
+ r0 = r1
2417
+ else
2418
+ r2 = _nt_nonterminal
2419
+ if r2
2420
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2421
+ r0 = r2
2422
+ else
2423
+ r3 = _nt_parenthesized_expression
2424
+ if r3
2425
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2426
+ r0 = r3
2427
+ else
2428
+ @index = i0
2429
+ r0 = nil
2430
+ end
2431
+ end
2432
+ end
2433
+
2434
+ node_cache[:atomic][start_index] = r0
2435
+
2436
+ r0
2437
+ end
2438
+
2439
+ module ParenthesizedExpression0
2440
+ def parsing_expression
2441
+ elements[2]
2442
+ end
2443
+
2444
+ end
2445
+
2446
+ module ParenthesizedExpression1
2447
+ def inline_modules
2448
+ parsing_expression.inline_modules
2449
+ end
2450
+ end
2451
+
2452
+ def _nt_parenthesized_expression
2453
+ start_index = index
2454
+ if node_cache[:parenthesized_expression].has_key?(index)
2455
+ cached = node_cache[:parenthesized_expression][index]
2456
+ if cached
2457
+ node_cache[:parenthesized_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2458
+ @index = cached.interval.end
2459
+ end
2460
+ return cached
2461
+ end
2462
+
2463
+ i0, s0 = index, []
2464
+ if (match_len = has_terminal?('(', false, index))
2465
+ r1 = true
2466
+ @index += match_len
2467
+ else
2468
+ terminal_parse_failure('(')
2469
+ r1 = nil
2470
+ end
2471
+ s0 << r1
2472
+ if r1
2473
+ r3 = _nt_space
2474
+ if r3
2475
+ r2 = r3
2476
+ else
2477
+ r2 = instantiate_node(SyntaxNode,input, index...index)
2478
+ end
2479
+ s0 << r2
2480
+ if r2
2481
+ r4 = _nt_parsing_expression
2482
+ s0 << r4
2483
+ if r4
2484
+ r6 = _nt_space
2485
+ if r6
2486
+ r5 = r6
2487
+ else
2488
+ r5 = instantiate_node(SyntaxNode,input, index...index)
2489
+ end
2490
+ s0 << r5
2491
+ if r5
2492
+ if (match_len = has_terminal?(')', false, index))
2493
+ r7 = true
2494
+ @index += match_len
2495
+ else
2496
+ terminal_parse_failure(')')
2497
+ r7 = nil
2498
+ end
2499
+ s0 << r7
2500
+ end
2501
+ end
2502
+ end
2503
+ end
2504
+ if s0.last
2505
+ r0 = instantiate_node(ParenthesizedExpression,input, i0...index, s0)
2506
+ r0.extend(ParenthesizedExpression0)
2507
+ r0.extend(ParenthesizedExpression1)
2508
+ else
2509
+ @index = i0
2510
+ r0 = nil
2511
+ end
2512
+
2513
+ node_cache[:parenthesized_expression][start_index] = r0
2514
+
2515
+ r0
2516
+ end
2517
+
2518
+ module Nonterminal0
2519
+ def alpha_char
2520
+ elements[0]
2521
+ end
2522
+
2523
+ end
2524
+
2525
+ module Nonterminal1
2526
+ end
2527
+
2528
+ def _nt_nonterminal
2529
+ start_index = index
2530
+ if node_cache[:nonterminal].has_key?(index)
2531
+ cached = node_cache[:nonterminal][index]
2532
+ if cached
2533
+ node_cache[:nonterminal][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2534
+ @index = cached.interval.end
2535
+ end
2536
+ return cached
2537
+ end
2538
+
2539
+ i0, s0 = index, []
2540
+ i1 = index
2541
+ r2 = _nt_keyword_inside_grammar
2542
+ if r2
2543
+ r1 = nil
2544
+ else
2545
+ @index = i1
2546
+ r1 = instantiate_node(SyntaxNode,input, index...index)
2547
+ end
2548
+ s0 << r1
2549
+ if r1
2550
+ i3, s3 = index, []
2551
+ r4 = _nt_alpha_char
2552
+ s3 << r4
2553
+ if r4
2554
+ s5, i5 = [], index
2555
+ loop do
2556
+ r6 = _nt_alphanumeric_char
2557
+ if r6
2558
+ s5 << r6
2559
+ else
2560
+ break
2561
+ end
2562
+ end
2563
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2564
+ s3 << r5
2565
+ end
2566
+ if s3.last
2567
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2568
+ r3.extend(Nonterminal0)
2569
+ else
2570
+ @index = i3
2571
+ r3 = nil
2572
+ end
2573
+ s0 << r3
2574
+ end
2575
+ if s0.last
2576
+ r0 = instantiate_node(Nonterminal,input, i0...index, s0)
2577
+ r0.extend(Nonterminal1)
2578
+ else
2579
+ @index = i0
2580
+ r0 = nil
2581
+ end
2582
+
2583
+ node_cache[:nonterminal][start_index] = r0
2584
+
2585
+ r0
2586
+ end
2587
+
2588
+ def _nt_terminal
2589
+ start_index = index
2590
+ if node_cache[:terminal].has_key?(index)
2591
+ cached = node_cache[:terminal][index]
2592
+ if cached
2593
+ node_cache[:terminal][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2594
+ @index = cached.interval.end
2595
+ end
2596
+ return cached
2597
+ end
2598
+
2599
+ i0 = index
2600
+ r1 = _nt_quoted_string
2601
+ if r1
2602
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
2603
+ r0 = r1
2604
+ else
2605
+ r2 = _nt_character_class
2606
+ if r2
2607
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2608
+ r0 = r2
2609
+ else
2610
+ r3 = _nt_anything_symbol
2611
+ if r3
2612
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2613
+ r0 = r3
2614
+ else
2615
+ @index = i0
2616
+ r0 = nil
2617
+ end
2618
+ end
2619
+ end
2620
+
2621
+ node_cache[:terminal][start_index] = r0
2622
+
2623
+ r0
2624
+ end
2625
+
2626
+ module QuotedString0
2627
+ def qs
2628
+ elements[0]
2629
+ end
2630
+
2631
+ def modifiers
2632
+ elements[1]
2633
+ end
2634
+ end
2635
+
2636
+ module QuotedString1
2637
+ def string
2638
+ qs.text_value
2639
+ end
2640
+ end
2641
+
2642
+ def _nt_quoted_string
2643
+ start_index = index
2644
+ if node_cache[:quoted_string].has_key?(index)
2645
+ cached = node_cache[:quoted_string][index]
2646
+ if cached
2647
+ node_cache[:quoted_string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2648
+ @index = cached.interval.end
2649
+ end
2650
+ return cached
2651
+ end
2652
+
2653
+ i0, s0 = index, []
2654
+ i1 = index
2655
+ r2 = _nt_single_quoted_string
2656
+ if r2
2657
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
2658
+ r1 = r2
2659
+ else
2660
+ r3 = _nt_double_quoted_string
2661
+ if r3
2662
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
2663
+ r1 = r3
2664
+ else
2665
+ @index = i1
2666
+ r1 = nil
2667
+ end
2668
+ end
2669
+ s0 << r1
2670
+ if r1
2671
+ s4, i4 = [], index
2672
+ loop do
2673
+ if has_terminal?(@regexps[gr = '\A[ir]'] ||= Regexp.new(gr), :regexp, index)
2674
+ r5 = true
2675
+ @index += 1
2676
+ else
2677
+ terminal_parse_failure('[ir]')
2678
+ r5 = nil
2679
+ end
2680
+ if r5
2681
+ s4 << r5
2682
+ else
2683
+ break
2684
+ end
2685
+ end
2686
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
2687
+ s0 << r4
2688
+ end
2689
+ if s0.last
2690
+ r0 = instantiate_node(Terminal,input, i0...index, s0)
2691
+ r0.extend(QuotedString0)
2692
+ r0.extend(QuotedString1)
2693
+ else
2694
+ @index = i0
2695
+ r0 = nil
2696
+ end
2697
+
2698
+ node_cache[:quoted_string][start_index] = r0
2699
+
2700
+ r0
2701
+ end
2702
+
2703
+ module DoubleQuotedString0
2704
+ end
2705
+
2706
+ module DoubleQuotedString1
2707
+ def string
2708
+ elements[1]
2709
+ end
2710
+
2711
+ end
2712
+
2713
+ def _nt_double_quoted_string
2714
+ start_index = index
2715
+ if node_cache[:double_quoted_string].has_key?(index)
2716
+ cached = node_cache[:double_quoted_string][index]
2717
+ if cached
2718
+ node_cache[:double_quoted_string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2719
+ @index = cached.interval.end
2720
+ end
2721
+ return cached
2722
+ end
2723
+
2724
+ i0, s0 = index, []
2725
+ if (match_len = has_terminal?('"', false, index))
2726
+ r1 = true
2727
+ @index += match_len
2728
+ else
2729
+ terminal_parse_failure('"')
2730
+ r1 = nil
2731
+ end
2732
+ s0 << r1
2733
+ if r1
2734
+ s2, i2 = [], index
2735
+ loop do
2736
+ i3, s3 = index, []
2737
+ i4 = index
2738
+ if (match_len = has_terminal?('"', false, index))
2739
+ r5 = true
2740
+ @index += match_len
2741
+ else
2742
+ terminal_parse_failure('"')
2743
+ r5 = nil
2744
+ end
2745
+ if r5
2746
+ r4 = nil
2747
+ else
2748
+ @index = i4
2749
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2750
+ end
2751
+ s3 << r4
2752
+ if r4
2753
+ i6 = index
2754
+ if (match_len = has_terminal?("\\\\", false, index))
2755
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2756
+ @index += match_len
2757
+ else
2758
+ terminal_parse_failure("\\\\")
2759
+ r7 = nil
2760
+ end
2761
+ if r7
2762
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2763
+ r6 = r7
2764
+ else
2765
+ if (match_len = has_terminal?('\"', false, index))
2766
+ r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2767
+ @index += match_len
2768
+ else
2769
+ terminal_parse_failure('\"')
2770
+ r8 = nil
2771
+ end
2772
+ if r8
2773
+ r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
2774
+ r6 = r8
2775
+ else
2776
+ if index < input_length
2777
+ r9 = true
2778
+ @index += 1
2779
+ else
2780
+ terminal_parse_failure("any character")
2781
+ r9 = nil
2782
+ end
2783
+ if r9
2784
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2785
+ r6 = r9
2786
+ else
2787
+ @index = i6
2788
+ r6 = nil
2789
+ end
2790
+ end
2791
+ end
2792
+ s3 << r6
2793
+ end
2794
+ if s3.last
2795
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2796
+ r3.extend(DoubleQuotedString0)
2797
+ else
2798
+ @index = i3
2799
+ r3 = nil
2800
+ end
2801
+ if r3
2802
+ s2 << r3
2803
+ else
2804
+ break
2805
+ end
2806
+ end
2807
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2808
+ s0 << r2
2809
+ if r2
2810
+ if (match_len = has_terminal?('"', false, index))
2811
+ r10 = true
2812
+ @index += match_len
2813
+ else
2814
+ terminal_parse_failure('"')
2815
+ r10 = nil
2816
+ end
2817
+ s0 << r10
2818
+ end
2819
+ end
2820
+ if s0.last
2821
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2822
+ r0.extend(DoubleQuotedString1)
2823
+ else
2824
+ @index = i0
2825
+ r0 = nil
2826
+ end
2827
+
2828
+ node_cache[:double_quoted_string][start_index] = r0
2829
+
2830
+ r0
2831
+ end
2832
+
2833
+ module SingleQuotedString0
2834
+ end
2835
+
2836
+ module SingleQuotedString1
2837
+ def string
2838
+ elements[1]
2839
+ end
2840
+
2841
+ end
2842
+
2843
+ def _nt_single_quoted_string
2844
+ start_index = index
2845
+ if node_cache[:single_quoted_string].has_key?(index)
2846
+ cached = node_cache[:single_quoted_string][index]
2847
+ if cached
2848
+ node_cache[:single_quoted_string][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2849
+ @index = cached.interval.end
2850
+ end
2851
+ return cached
2852
+ end
2853
+
2854
+ i0, s0 = index, []
2855
+ if (match_len = has_terminal?("'", false, index))
2856
+ r1 = true
2857
+ @index += match_len
2858
+ else
2859
+ terminal_parse_failure("'")
2860
+ r1 = nil
2861
+ end
2862
+ s0 << r1
2863
+ if r1
2864
+ s2, i2 = [], index
2865
+ loop do
2866
+ i3, s3 = index, []
2867
+ i4 = index
2868
+ if (match_len = has_terminal?("'", false, index))
2869
+ r5 = true
2870
+ @index += match_len
2871
+ else
2872
+ terminal_parse_failure("'")
2873
+ r5 = nil
2874
+ end
2875
+ if r5
2876
+ r4 = nil
2877
+ else
2878
+ @index = i4
2879
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2880
+ end
2881
+ s3 << r4
2882
+ if r4
2883
+ i6 = index
2884
+ if (match_len = has_terminal?("\\\\", false, index))
2885
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2886
+ @index += match_len
2887
+ else
2888
+ terminal_parse_failure("\\\\")
2889
+ r7 = nil
2890
+ end
2891
+ if r7
2892
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
2893
+ r6 = r7
2894
+ else
2895
+ if (match_len = has_terminal?("\\'", false, index))
2896
+ r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
2897
+ @index += match_len
2898
+ else
2899
+ terminal_parse_failure("\\'")
2900
+ r8 = nil
2901
+ end
2902
+ if r8
2903
+ r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
2904
+ r6 = r8
2905
+ else
2906
+ if index < input_length
2907
+ r9 = true
2908
+ @index += 1
2909
+ else
2910
+ terminal_parse_failure("any character")
2911
+ r9 = nil
2912
+ end
2913
+ if r9
2914
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
2915
+ r6 = r9
2916
+ else
2917
+ @index = i6
2918
+ r6 = nil
2919
+ end
2920
+ end
2921
+ end
2922
+ s3 << r6
2923
+ end
2924
+ if s3.last
2925
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2926
+ r3.extend(SingleQuotedString0)
2927
+ else
2928
+ @index = i3
2929
+ r3 = nil
2930
+ end
2931
+ if r3
2932
+ s2 << r3
2933
+ else
2934
+ break
2935
+ end
2936
+ end
2937
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2938
+ s0 << r2
2939
+ if r2
2940
+ if (match_len = has_terminal?("'", false, index))
2941
+ r10 = true
2942
+ @index += match_len
2943
+ else
2944
+ terminal_parse_failure("'")
2945
+ r10 = nil
2946
+ end
2947
+ s0 << r10
2948
+ end
2949
+ end
2950
+ if s0.last
2951
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2952
+ r0.extend(SingleQuotedString1)
2953
+ else
2954
+ @index = i0
2955
+ r0 = nil
2956
+ end
2957
+
2958
+ node_cache[:single_quoted_string][start_index] = r0
2959
+
2960
+ r0
2961
+ end
2962
+
2963
+ module CharacterClass0
2964
+ end
2965
+
2966
+ module CharacterClass1
2967
+ end
2968
+
2969
+ module CharacterClass2
2970
+ end
2971
+
2972
+ module CharacterClass3
2973
+ def characters
2974
+ elements[1]
2975
+ end
2976
+
2977
+ end
2978
+
2979
+ module CharacterClass4
2980
+ def characters
2981
+ super.text_value
2982
+ end
2983
+ end
2984
+
2985
+ def _nt_character_class
2986
+ start_index = index
2987
+ if node_cache[:character_class].has_key?(index)
2988
+ cached = node_cache[:character_class][index]
2989
+ if cached
2990
+ node_cache[:character_class][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
2991
+ @index = cached.interval.end
2992
+ end
2993
+ return cached
2994
+ end
2995
+
2996
+ i0, s0 = index, []
2997
+ if (match_len = has_terminal?('[', false, index))
2998
+ r1 = true
2999
+ @index += match_len
3000
+ else
3001
+ terminal_parse_failure('[')
3002
+ r1 = nil
3003
+ end
3004
+ s0 << r1
3005
+ if r1
3006
+ s2, i2 = [], index
3007
+ loop do
3008
+ i3, s3 = index, []
3009
+ i4 = index
3010
+ if (match_len = has_terminal?(']', false, index))
3011
+ r5 = true
3012
+ @index += match_len
3013
+ else
3014
+ terminal_parse_failure(']')
3015
+ r5 = nil
3016
+ end
3017
+ if r5
3018
+ r4 = nil
3019
+ else
3020
+ @index = i4
3021
+ r4 = instantiate_node(SyntaxNode,input, index...index)
3022
+ end
3023
+ s3 << r4
3024
+ if r4
3025
+ i6 = index
3026
+ i7, s7 = index, []
3027
+ if (match_len = has_terminal?('\\', false, index))
3028
+ r8 = true
3029
+ @index += match_len
3030
+ else
3031
+ terminal_parse_failure('\\')
3032
+ r8 = nil
3033
+ end
3034
+ s7 << r8
3035
+ if r8
3036
+ if index < input_length
3037
+ r9 = true
3038
+ @index += 1
3039
+ else
3040
+ terminal_parse_failure("any character")
3041
+ r9 = nil
3042
+ end
3043
+ s7 << r9
3044
+ end
3045
+ if s7.last
3046
+ r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
3047
+ r7.extend(CharacterClass0)
3048
+ else
3049
+ @index = i7
3050
+ r7 = nil
3051
+ end
3052
+ if r7
3053
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
3054
+ r6 = r7
3055
+ else
3056
+ r10 = _nt_bracket_expression
3057
+ if r10
3058
+ r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
3059
+ r6 = r10
3060
+ else
3061
+ i11, s11 = index, []
3062
+ i12 = index
3063
+ if (match_len = has_terminal?('\\', false, index))
3064
+ r13 = true
3065
+ @index += match_len
3066
+ else
3067
+ terminal_parse_failure('\\')
3068
+ r13 = nil
3069
+ end
3070
+ if r13
3071
+ r12 = nil
3072
+ else
3073
+ @index = i12
3074
+ r12 = instantiate_node(SyntaxNode,input, index...index)
3075
+ end
3076
+ s11 << r12
3077
+ if r12
3078
+ if index < input_length
3079
+ r14 = true
3080
+ @index += 1
3081
+ else
3082
+ terminal_parse_failure("any character")
3083
+ r14 = nil
3084
+ end
3085
+ s11 << r14
3086
+ end
3087
+ if s11.last
3088
+ r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
3089
+ r11.extend(CharacterClass1)
3090
+ else
3091
+ @index = i11
3092
+ r11 = nil
3093
+ end
3094
+ if r11
3095
+ r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
3096
+ r6 = r11
3097
+ else
3098
+ @index = i6
3099
+ r6 = nil
3100
+ end
3101
+ end
3102
+ end
3103
+ s3 << r6
3104
+ end
3105
+ if s3.last
3106
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
3107
+ r3.extend(CharacterClass2)
3108
+ else
3109
+ @index = i3
3110
+ r3 = nil
3111
+ end
3112
+ if r3
3113
+ s2 << r3
3114
+ else
3115
+ break
3116
+ end
3117
+ end
3118
+ if s2.empty?
3119
+ @index = i2
3120
+ r2 = nil
3121
+ else
3122
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3123
+ end
3124
+ s0 << r2
3125
+ if r2
3126
+ if (match_len = has_terminal?(']', false, index))
3127
+ r15 = true
3128
+ @index += match_len
3129
+ else
3130
+ terminal_parse_failure(']')
3131
+ r15 = nil
3132
+ end
3133
+ s0 << r15
3134
+ end
3135
+ end
3136
+ if s0.last
3137
+ r0 = instantiate_node(CharacterClass,input, i0...index, s0)
3138
+ r0.extend(CharacterClass3)
3139
+ r0.extend(CharacterClass4)
3140
+ else
3141
+ @index = i0
3142
+ r0 = nil
3143
+ end
3144
+
3145
+ node_cache[:character_class][start_index] = r0
3146
+
3147
+ r0
3148
+ end
3149
+
3150
+ module BracketExpression0
3151
+ end
3152
+
3153
+ def _nt_bracket_expression
3154
+ start_index = index
3155
+ if node_cache[:bracket_expression].has_key?(index)
3156
+ cached = node_cache[:bracket_expression][index]
3157
+ if cached
3158
+ node_cache[:bracket_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3159
+ @index = cached.interval.end
3160
+ end
3161
+ return cached
3162
+ end
3163
+
3164
+ i0, s0 = index, []
3165
+ if (match_len = has_terminal?('[:', false, index))
3166
+ r1 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3167
+ @index += match_len
3168
+ else
3169
+ terminal_parse_failure('[:')
3170
+ r1 = nil
3171
+ end
3172
+ s0 << r1
3173
+ if r1
3174
+ if (match_len = has_terminal?('^', false, index))
3175
+ r3 = true
3176
+ @index += match_len
3177
+ else
3178
+ terminal_parse_failure('^')
3179
+ r3 = nil
3180
+ end
3181
+ if r3
3182
+ r2 = r3
3183
+ else
3184
+ r2 = instantiate_node(SyntaxNode,input, index...index)
3185
+ end
3186
+ s0 << r2
3187
+ if r2
3188
+ i4 = index
3189
+ if (match_len = has_terminal?('alnum', false, index))
3190
+ r5 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3191
+ @index += match_len
3192
+ else
3193
+ terminal_parse_failure('alnum')
3194
+ r5 = nil
3195
+ end
3196
+ if r5
3197
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
3198
+ r4 = r5
3199
+ else
3200
+ if (match_len = has_terminal?('alpha', false, index))
3201
+ r6 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3202
+ @index += match_len
3203
+ else
3204
+ terminal_parse_failure('alpha')
3205
+ r6 = nil
3206
+ end
3207
+ if r6
3208
+ r6 = SyntaxNode.new(input, (index-1)...index) if r6 == true
3209
+ r4 = r6
3210
+ else
3211
+ if (match_len = has_terminal?('blank', false, index))
3212
+ r7 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3213
+ @index += match_len
3214
+ else
3215
+ terminal_parse_failure('blank')
3216
+ r7 = nil
3217
+ end
3218
+ if r7
3219
+ r7 = SyntaxNode.new(input, (index-1)...index) if r7 == true
3220
+ r4 = r7
3221
+ else
3222
+ if (match_len = has_terminal?('cntrl', false, index))
3223
+ r8 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3224
+ @index += match_len
3225
+ else
3226
+ terminal_parse_failure('cntrl')
3227
+ r8 = nil
3228
+ end
3229
+ if r8
3230
+ r8 = SyntaxNode.new(input, (index-1)...index) if r8 == true
3231
+ r4 = r8
3232
+ else
3233
+ if (match_len = has_terminal?('digit', false, index))
3234
+ r9 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3235
+ @index += match_len
3236
+ else
3237
+ terminal_parse_failure('digit')
3238
+ r9 = nil
3239
+ end
3240
+ if r9
3241
+ r9 = SyntaxNode.new(input, (index-1)...index) if r9 == true
3242
+ r4 = r9
3243
+ else
3244
+ if (match_len = has_terminal?('graph', false, index))
3245
+ r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3246
+ @index += match_len
3247
+ else
3248
+ terminal_parse_failure('graph')
3249
+ r10 = nil
3250
+ end
3251
+ if r10
3252
+ r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
3253
+ r4 = r10
3254
+ else
3255
+ if (match_len = has_terminal?('lower', false, index))
3256
+ r11 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3257
+ @index += match_len
3258
+ else
3259
+ terminal_parse_failure('lower')
3260
+ r11 = nil
3261
+ end
3262
+ if r11
3263
+ r11 = SyntaxNode.new(input, (index-1)...index) if r11 == true
3264
+ r4 = r11
3265
+ else
3266
+ if (match_len = has_terminal?('print', false, index))
3267
+ r12 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3268
+ @index += match_len
3269
+ else
3270
+ terminal_parse_failure('print')
3271
+ r12 = nil
3272
+ end
3273
+ if r12
3274
+ r12 = SyntaxNode.new(input, (index-1)...index) if r12 == true
3275
+ r4 = r12
3276
+ else
3277
+ if (match_len = has_terminal?('punct', false, index))
3278
+ r13 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3279
+ @index += match_len
3280
+ else
3281
+ terminal_parse_failure('punct')
3282
+ r13 = nil
3283
+ end
3284
+ if r13
3285
+ r13 = SyntaxNode.new(input, (index-1)...index) if r13 == true
3286
+ r4 = r13
3287
+ else
3288
+ if (match_len = has_terminal?('space', false, index))
3289
+ r14 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3290
+ @index += match_len
3291
+ else
3292
+ terminal_parse_failure('space')
3293
+ r14 = nil
3294
+ end
3295
+ if r14
3296
+ r14 = SyntaxNode.new(input, (index-1)...index) if r14 == true
3297
+ r4 = r14
3298
+ else
3299
+ if (match_len = has_terminal?('upper', false, index))
3300
+ r15 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3301
+ @index += match_len
3302
+ else
3303
+ terminal_parse_failure('upper')
3304
+ r15 = nil
3305
+ end
3306
+ if r15
3307
+ r15 = SyntaxNode.new(input, (index-1)...index) if r15 == true
3308
+ r4 = r15
3309
+ else
3310
+ if (match_len = has_terminal?('xdigit', false, index))
3311
+ r16 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3312
+ @index += match_len
3313
+ else
3314
+ terminal_parse_failure('xdigit')
3315
+ r16 = nil
3316
+ end
3317
+ if r16
3318
+ r16 = SyntaxNode.new(input, (index-1)...index) if r16 == true
3319
+ r4 = r16
3320
+ else
3321
+ if (match_len = has_terminal?('word', false, index))
3322
+ r17 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3323
+ @index += match_len
3324
+ else
3325
+ terminal_parse_failure('word')
3326
+ r17 = nil
3327
+ end
3328
+ if r17
3329
+ r17 = SyntaxNode.new(input, (index-1)...index) if r17 == true
3330
+ r4 = r17
3331
+ else
3332
+ @index = i4
3333
+ r4 = nil
3334
+ end
3335
+ end
3336
+ end
3337
+ end
3338
+ end
3339
+ end
3340
+ end
3341
+ end
3342
+ end
3343
+ end
3344
+ end
3345
+ end
3346
+ end
3347
+ s0 << r4
3348
+ if r4
3349
+ if (match_len = has_terminal?(':]', false, index))
3350
+ r18 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3351
+ @index += match_len
3352
+ else
3353
+ terminal_parse_failure(':]')
3354
+ r18 = nil
3355
+ end
3356
+ s0 << r18
3357
+ end
3358
+ end
3359
+ end
3360
+ if s0.last
3361
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3362
+ r0.extend(BracketExpression0)
3363
+ else
3364
+ @index = i0
3365
+ r0 = nil
3366
+ end
3367
+
3368
+ node_cache[:bracket_expression][start_index] = r0
3369
+
3370
+ r0
3371
+ end
3372
+
3373
+ def _nt_anything_symbol
3374
+ start_index = index
3375
+ if node_cache[:anything_symbol].has_key?(index)
3376
+ cached = node_cache[:anything_symbol][index]
3377
+ if cached
3378
+ node_cache[:anything_symbol][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3379
+ @index = cached.interval.end
3380
+ end
3381
+ return cached
3382
+ end
3383
+
3384
+ if (match_len = has_terminal?('.', false, index))
3385
+ r0 = instantiate_node(AnythingSymbol,input, index...(index + match_len))
3386
+ @index += match_len
3387
+ else
3388
+ terminal_parse_failure('.')
3389
+ r0 = nil
3390
+ end
3391
+
3392
+ node_cache[:anything_symbol][start_index] = r0
3393
+
3394
+ r0
3395
+ end
3396
+
3397
+ module NodeClassExpression0
3398
+ end
3399
+
3400
+ module NodeClassExpression1
3401
+ def space
3402
+ elements[0]
3403
+ end
3404
+
3405
+ end
3406
+
3407
+ module NodeClassExpression2
3408
+ def node_class_name
3409
+ elements[2].text_value
3410
+ end
3411
+ end
3412
+
3413
+ module NodeClassExpression3
3414
+ def node_class_name
3415
+ nil
3416
+ end
3417
+ end
3418
+
3419
+ def _nt_node_class_expression
3420
+ start_index = index
3421
+ if node_cache[:node_class_expression].has_key?(index)
3422
+ cached = node_cache[:node_class_expression][index]
3423
+ if cached
3424
+ node_cache[:node_class_expression][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3425
+ @index = cached.interval.end
3426
+ end
3427
+ return cached
3428
+ end
3429
+
3430
+ i0 = index
3431
+ i1, s1 = index, []
3432
+ r2 = _nt_space
3433
+ s1 << r2
3434
+ if r2
3435
+ if (match_len = has_terminal?('<', false, index))
3436
+ r3 = true
3437
+ @index += match_len
3438
+ else
3439
+ terminal_parse_failure('<')
3440
+ r3 = nil
3441
+ end
3442
+ s1 << r3
3443
+ if r3
3444
+ s4, i4 = [], index
3445
+ loop do
3446
+ i5, s5 = index, []
3447
+ i6 = index
3448
+ if (match_len = has_terminal?('>', false, index))
3449
+ r7 = true
3450
+ @index += match_len
3451
+ else
3452
+ terminal_parse_failure('>')
3453
+ r7 = nil
3454
+ end
3455
+ if r7
3456
+ r6 = nil
3457
+ else
3458
+ @index = i6
3459
+ r6 = instantiate_node(SyntaxNode,input, index...index)
3460
+ end
3461
+ s5 << r6
3462
+ if r6
3463
+ if index < input_length
3464
+ r8 = true
3465
+ @index += 1
3466
+ else
3467
+ terminal_parse_failure("any character")
3468
+ r8 = nil
3469
+ end
3470
+ s5 << r8
3471
+ end
3472
+ if s5.last
3473
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
3474
+ r5.extend(NodeClassExpression0)
3475
+ else
3476
+ @index = i5
3477
+ r5 = nil
3478
+ end
3479
+ if r5
3480
+ s4 << r5
3481
+ else
3482
+ break
3483
+ end
3484
+ end
3485
+ if s4.empty?
3486
+ @index = i4
3487
+ r4 = nil
3488
+ else
3489
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
3490
+ end
3491
+ s1 << r4
3492
+ if r4
3493
+ if (match_len = has_terminal?('>', false, index))
3494
+ r9 = true
3495
+ @index += match_len
3496
+ else
3497
+ terminal_parse_failure('>')
3498
+ r9 = nil
3499
+ end
3500
+ s1 << r9
3501
+ end
3502
+ end
3503
+ end
3504
+ if s1.last
3505
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
3506
+ r1.extend(NodeClassExpression1)
3507
+ r1.extend(NodeClassExpression2)
3508
+ else
3509
+ @index = i1
3510
+ r1 = nil
3511
+ end
3512
+ if r1
3513
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3514
+ r0 = r1
3515
+ else
3516
+ if (match_len = has_terminal?('', false, index))
3517
+ r10 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3518
+ r10.extend(NodeClassExpression3)
3519
+ @index += match_len
3520
+ else
3521
+ terminal_parse_failure('')
3522
+ r10 = nil
3523
+ end
3524
+ if r10
3525
+ r10 = SyntaxNode.new(input, (index-1)...index) if r10 == true
3526
+ r0 = r10
3527
+ else
3528
+ @index = i0
3529
+ r0 = nil
3530
+ end
3531
+ end
3532
+
3533
+ node_cache[:node_class_expression][start_index] = r0
3534
+
3535
+ r0
3536
+ end
3537
+
3538
+ module TrailingInlineModule0
3539
+ def space
3540
+ elements[0]
3541
+ end
3542
+
3543
+ def inline_module
3544
+ elements[1]
3545
+ end
3546
+ end
3547
+
3548
+ module TrailingInlineModule1
3549
+ def inline_modules
3550
+ [inline_module]
3551
+ end
3552
+
3553
+ def inline_module_name
3554
+ inline_module.module_name
3555
+ end
3556
+ end
3557
+
3558
+ module TrailingInlineModule2
3559
+ def inline_modules
3560
+ []
3561
+ end
3562
+
3563
+ def inline_module
3564
+ nil
3565
+ end
3566
+
3567
+ def inline_module_name
3568
+ nil
3569
+ end
3570
+ end
3571
+
3572
+ def _nt_trailing_inline_module
3573
+ start_index = index
3574
+ if node_cache[:trailing_inline_module].has_key?(index)
3575
+ cached = node_cache[:trailing_inline_module][index]
3576
+ if cached
3577
+ node_cache[:trailing_inline_module][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3578
+ @index = cached.interval.end
3579
+ end
3580
+ return cached
3581
+ end
3582
+
3583
+ i0 = index
3584
+ i1, s1 = index, []
3585
+ r2 = _nt_space
3586
+ s1 << r2
3587
+ if r2
3588
+ r3 = _nt_inline_module
3589
+ s1 << r3
3590
+ end
3591
+ if s1.last
3592
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
3593
+ r1.extend(TrailingInlineModule0)
3594
+ r1.extend(TrailingInlineModule1)
3595
+ else
3596
+ @index = i1
3597
+ r1 = nil
3598
+ end
3599
+ if r1
3600
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3601
+ r0 = r1
3602
+ else
3603
+ if (match_len = has_terminal?('', false, index))
3604
+ r4 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3605
+ r4.extend(TrailingInlineModule2)
3606
+ @index += match_len
3607
+ else
3608
+ terminal_parse_failure('')
3609
+ r4 = nil
3610
+ end
3611
+ if r4
3612
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
3613
+ r0 = r4
3614
+ else
3615
+ @index = i0
3616
+ r0 = nil
3617
+ end
3618
+ end
3619
+
3620
+ node_cache[:trailing_inline_module][start_index] = r0
3621
+
3622
+ r0
3623
+ end
3624
+
3625
+ module PredicateBlock0
3626
+ def inline_module
3627
+ elements[1]
3628
+ end
3629
+ end
3630
+
3631
+ def _nt_predicate_block
3632
+ start_index = index
3633
+ if node_cache[:predicate_block].has_key?(index)
3634
+ cached = node_cache[:predicate_block][index]
3635
+ if cached
3636
+ node_cache[:predicate_block][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3637
+ @index = cached.interval.end
3638
+ end
3639
+ return cached
3640
+ end
3641
+
3642
+ i0, s0 = index, []
3643
+ if (match_len = has_terminal?('', false, index))
3644
+ r1 = true
3645
+ @index += match_len
3646
+ else
3647
+ terminal_parse_failure('')
3648
+ r1 = nil
3649
+ end
3650
+ s0 << r1
3651
+ if r1
3652
+ r2 = _nt_inline_module
3653
+ s0 << r2
3654
+ end
3655
+ if s0.last
3656
+ r0 = instantiate_node(PredicateBlock,input, i0...index, s0)
3657
+ r0.extend(PredicateBlock0)
3658
+ else
3659
+ @index = i0
3660
+ r0 = nil
3661
+ end
3662
+
3663
+ node_cache[:predicate_block][start_index] = r0
3664
+
3665
+ r0
3666
+ end
3667
+
3668
+ module InlineModule0
3669
+ end
3670
+
3671
+ module InlineModule1
3672
+ end
3673
+
3674
+ def _nt_inline_module
3675
+ start_index = index
3676
+ if node_cache[:inline_module].has_key?(index)
3677
+ cached = node_cache[:inline_module][index]
3678
+ if cached
3679
+ node_cache[:inline_module][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3680
+ @index = cached.interval.end
3681
+ end
3682
+ return cached
3683
+ end
3684
+
3685
+ i0, s0 = index, []
3686
+ if (match_len = has_terminal?('{', false, index))
3687
+ r1 = true
3688
+ @index += match_len
3689
+ else
3690
+ terminal_parse_failure('{')
3691
+ r1 = nil
3692
+ end
3693
+ s0 << r1
3694
+ if r1
3695
+ s2, i2 = [], index
3696
+ loop do
3697
+ i3 = index
3698
+ r4 = _nt_inline_module
3699
+ if r4
3700
+ r4 = SyntaxNode.new(input, (index-1)...index) if r4 == true
3701
+ r3 = r4
3702
+ else
3703
+ i5, s5 = index, []
3704
+ i6 = index
3705
+ if has_terminal?(@regexps[gr = '\A[{}]'] ||= Regexp.new(gr), :regexp, index)
3706
+ r7 = true
3707
+ @index += 1
3708
+ else
3709
+ terminal_parse_failure('[{}]')
3710
+ r7 = nil
3711
+ end
3712
+ if r7
3713
+ r6 = nil
3714
+ else
3715
+ @index = i6
3716
+ r6 = instantiate_node(SyntaxNode,input, index...index)
3717
+ end
3718
+ s5 << r6
3719
+ if r6
3720
+ if index < input_length
3721
+ r8 = true
3722
+ @index += 1
3723
+ else
3724
+ terminal_parse_failure("any character")
3725
+ r8 = nil
3726
+ end
3727
+ s5 << r8
3728
+ end
3729
+ if s5.last
3730
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
3731
+ r5.extend(InlineModule0)
3732
+ else
3733
+ @index = i5
3734
+ r5 = nil
3735
+ end
3736
+ if r5
3737
+ r5 = SyntaxNode.new(input, (index-1)...index) if r5 == true
3738
+ r3 = r5
3739
+ else
3740
+ @index = i3
3741
+ r3 = nil
3742
+ end
3743
+ end
3744
+ if r3
3745
+ s2 << r3
3746
+ else
3747
+ break
3748
+ end
3749
+ end
3750
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3751
+ s0 << r2
3752
+ if r2
3753
+ if (match_len = has_terminal?('}', false, index))
3754
+ r9 = true
3755
+ @index += match_len
3756
+ else
3757
+ terminal_parse_failure('}')
3758
+ r9 = nil
3759
+ end
3760
+ s0 << r9
3761
+ end
3762
+ end
3763
+ if s0.last
3764
+ r0 = instantiate_node(InlineModule,input, i0...index, s0)
3765
+ r0.extend(InlineModule1)
3766
+ else
3767
+ @index = i0
3768
+ r0 = nil
3769
+ end
3770
+
3771
+ node_cache[:inline_module][start_index] = r0
3772
+
3773
+ r0
3774
+ end
3775
+
3776
+ module KeywordInsideGrammar0
3777
+ end
3778
+
3779
+ def _nt_keyword_inside_grammar
3780
+ start_index = index
3781
+ if node_cache[:keyword_inside_grammar].has_key?(index)
3782
+ cached = node_cache[:keyword_inside_grammar][index]
3783
+ if cached
3784
+ node_cache[:keyword_inside_grammar][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3785
+ @index = cached.interval.end
3786
+ end
3787
+ return cached
3788
+ end
3789
+
3790
+ i0, s0 = index, []
3791
+ i1 = index
3792
+ if (match_len = has_terminal?('rule', false, index))
3793
+ r2 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3794
+ @index += match_len
3795
+ else
3796
+ terminal_parse_failure('rule')
3797
+ r2 = nil
3798
+ end
3799
+ if r2
3800
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3801
+ r1 = r2
3802
+ else
3803
+ if (match_len = has_terminal?('end', false, index))
3804
+ r3 = instantiate_node(SyntaxNode,input, index...(index + match_len))
3805
+ @index += match_len
3806
+ else
3807
+ terminal_parse_failure('end')
3808
+ r3 = nil
3809
+ end
3810
+ if r3
3811
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
3812
+ r1 = r3
3813
+ else
3814
+ @index = i1
3815
+ r1 = nil
3816
+ end
3817
+ end
3818
+ s0 << r1
3819
+ if r1
3820
+ i4 = index
3821
+ r5 = _nt_non_space_char
3822
+ if r5
3823
+ r4 = nil
3824
+ else
3825
+ @index = i4
3826
+ r4 = instantiate_node(SyntaxNode,input, index...index)
3827
+ end
3828
+ s0 << r4
3829
+ end
3830
+ if s0.last
3831
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3832
+ r0.extend(KeywordInsideGrammar0)
3833
+ else
3834
+ @index = i0
3835
+ r0 = nil
3836
+ end
3837
+
3838
+ node_cache[:keyword_inside_grammar][start_index] = r0
3839
+
3840
+ r0
3841
+ end
3842
+
3843
+ module NonSpaceChar0
3844
+ end
3845
+
3846
+ def _nt_non_space_char
3847
+ start_index = index
3848
+ if node_cache[:non_space_char].has_key?(index)
3849
+ cached = node_cache[:non_space_char][index]
3850
+ if cached
3851
+ node_cache[:non_space_char][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3852
+ @index = cached.interval.end
3853
+ end
3854
+ return cached
3855
+ end
3856
+
3857
+ i0, s0 = index, []
3858
+ i1 = index
3859
+ r2 = _nt_space
3860
+ if r2
3861
+ r1 = nil
3862
+ else
3863
+ @index = i1
3864
+ r1 = instantiate_node(SyntaxNode,input, index...index)
3865
+ end
3866
+ s0 << r1
3867
+ if r1
3868
+ if index < input_length
3869
+ r3 = true
3870
+ @index += 1
3871
+ else
3872
+ terminal_parse_failure("any character")
3873
+ r3 = nil
3874
+ end
3875
+ s0 << r3
3876
+ end
3877
+ if s0.last
3878
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3879
+ r0.extend(NonSpaceChar0)
3880
+ else
3881
+ @index = i0
3882
+ r0 = nil
3883
+ end
3884
+
3885
+ node_cache[:non_space_char][start_index] = r0
3886
+
3887
+ r0
3888
+ end
3889
+
3890
+ def _nt_alpha_char
3891
+ start_index = index
3892
+ if node_cache[:alpha_char].has_key?(index)
3893
+ cached = node_cache[:alpha_char][index]
3894
+ if cached
3895
+ node_cache[:alpha_char][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3896
+ @index = cached.interval.end
3897
+ end
3898
+ return cached
3899
+ end
3900
+
3901
+ if has_terminal?(@regexps[gr = '\A[A-Za-z_]'] ||= Regexp.new(gr), :regexp, index)
3902
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
3903
+ @index += 1
3904
+ else
3905
+ terminal_parse_failure('[A-Za-z_]')
3906
+ r0 = nil
3907
+ end
3908
+
3909
+ node_cache[:alpha_char][start_index] = r0
3910
+
3911
+ r0
3912
+ end
3913
+
3914
+ def _nt_alphanumeric_char
3915
+ start_index = index
3916
+ if node_cache[:alphanumeric_char].has_key?(index)
3917
+ cached = node_cache[:alphanumeric_char][index]
3918
+ if cached
3919
+ node_cache[:alphanumeric_char][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3920
+ @index = cached.interval.end
3921
+ end
3922
+ return cached
3923
+ end
3924
+
3925
+ i0 = index
3926
+ r1 = _nt_alpha_char
3927
+ if r1
3928
+ r1 = SyntaxNode.new(input, (index-1)...index) if r1 == true
3929
+ r0 = r1
3930
+ else
3931
+ if has_terminal?(@regexps[gr = '\A[0-9]'] ||= Regexp.new(gr), :regexp, index)
3932
+ r2 = true
3933
+ @index += 1
3934
+ else
3935
+ terminal_parse_failure('[0-9]')
3936
+ r2 = nil
3937
+ end
3938
+ if r2
3939
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3940
+ r0 = r2
3941
+ else
3942
+ @index = i0
3943
+ r0 = nil
3944
+ end
3945
+ end
3946
+
3947
+ node_cache[:alphanumeric_char][start_index] = r0
3948
+
3949
+ r0
3950
+ end
3951
+
3952
+ def _nt_space
3953
+ start_index = index
3954
+ if node_cache[:space].has_key?(index)
3955
+ cached = node_cache[:space][index]
3956
+ if cached
3957
+ node_cache[:space][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
3958
+ @index = cached.interval.end
3959
+ end
3960
+ return cached
3961
+ end
3962
+
3963
+ s0, i0 = [], index
3964
+ loop do
3965
+ i1 = index
3966
+ r2 = _nt_white
3967
+ if r2
3968
+ r2 = SyntaxNode.new(input, (index-1)...index) if r2 == true
3969
+ r1 = r2
3970
+ else
3971
+ r3 = _nt_comment_to_eol
3972
+ if r3
3973
+ r3 = SyntaxNode.new(input, (index-1)...index) if r3 == true
3974
+ r1 = r3
3975
+ else
3976
+ @index = i1
3977
+ r1 = nil
3978
+ end
3979
+ end
3980
+ if r1
3981
+ s0 << r1
3982
+ else
3983
+ break
3984
+ end
3985
+ end
3986
+ if s0.empty?
3987
+ @index = i0
3988
+ r0 = nil
3989
+ else
3990
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3991
+ end
3992
+
3993
+ node_cache[:space][start_index] = r0
3994
+
3995
+ r0
3996
+ end
3997
+
3998
+ module CommentToEol0
3999
+ end
4000
+
4001
+ module CommentToEol1
4002
+ end
4003
+
4004
+ def _nt_comment_to_eol
4005
+ start_index = index
4006
+ if node_cache[:comment_to_eol].has_key?(index)
4007
+ cached = node_cache[:comment_to_eol][index]
4008
+ if cached
4009
+ node_cache[:comment_to_eol][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
4010
+ @index = cached.interval.end
4011
+ end
4012
+ return cached
4013
+ end
4014
+
4015
+ i0, s0 = index, []
4016
+ if (match_len = has_terminal?('#', false, index))
4017
+ r1 = true
4018
+ @index += match_len
4019
+ else
4020
+ terminal_parse_failure('#')
4021
+ r1 = nil
4022
+ end
4023
+ s0 << r1
4024
+ if r1
4025
+ s2, i2 = [], index
4026
+ loop do
4027
+ i3, s3 = index, []
4028
+ i4 = index
4029
+ if (match_len = has_terminal?("\n", false, index))
4030
+ r5 = true
4031
+ @index += match_len
4032
+ else
4033
+ terminal_parse_failure("\n")
4034
+ r5 = nil
4035
+ end
4036
+ if r5
4037
+ r4 = nil
4038
+ else
4039
+ @index = i4
4040
+ r4 = instantiate_node(SyntaxNode,input, index...index)
4041
+ end
4042
+ s3 << r4
4043
+ if r4
4044
+ if index < input_length
4045
+ r6 = true
4046
+ @index += 1
4047
+ else
4048
+ terminal_parse_failure("any character")
4049
+ r6 = nil
4050
+ end
4051
+ s3 << r6
4052
+ end
4053
+ if s3.last
4054
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
4055
+ r3.extend(CommentToEol0)
4056
+ else
4057
+ @index = i3
4058
+ r3 = nil
4059
+ end
4060
+ if r3
4061
+ s2 << r3
4062
+ else
4063
+ break
4064
+ end
4065
+ end
4066
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
4067
+ s0 << r2
4068
+ end
4069
+ if s0.last
4070
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
4071
+ r0.extend(CommentToEol1)
4072
+ else
4073
+ @index = i0
4074
+ r0 = nil
4075
+ end
4076
+
4077
+ node_cache[:comment_to_eol][start_index] = r0
4078
+
4079
+ r0
4080
+ end
4081
+
4082
+ def _nt_white
4083
+ start_index = index
4084
+ if node_cache[:white].has_key?(index)
4085
+ cached = node_cache[:white][index]
4086
+ if cached
4087
+ node_cache[:white][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true
4088
+ @index = cached.interval.end
4089
+ end
4090
+ return cached
4091
+ end
4092
+
4093
+ if has_terminal?(@regexps[gr = '\A[ \\t\\n\\r]'] ||= Regexp.new(gr), :regexp, index)
4094
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
4095
+ @index += 1
4096
+ else
4097
+ terminal_parse_failure('[ \\t\\n\\r]')
4098
+ r0 = nil
4099
+ end
4100
+
4101
+ node_cache[:white][start_index] = r0
4102
+
4103
+ r0
4104
+ end
4105
+
4106
+ end
4107
+
4108
+ class MetagrammarParser < Treetop::Runtime::CompiledParser
4109
+ include Metagrammar
4110
+ end
4111
+
4112
+ end
4113
+ end