rackjour 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1497) hide show
  1. data/Gemfile +7 -0
  2. data/Rakefile +21 -0
  3. data/bin/rackjour +20 -0
  4. data/lib/rackjour.rb +16 -0
  5. data/lib/rackjour/master.rb +109 -0
  6. data/lib/rackjour/server.rb +46 -0
  7. data/lib/rackjour/worker.rb +71 -0
  8. data/rackjour.gemspec +29 -0
  9. data/spec/rackjour_worker_spec.rb +34 -0
  10. data/spec/spec_helper.rb +4 -0
  11. data/vendor/gems/cache/builder-2.1.2.gem +0 -0
  12. data/vendor/gems/cache/columnize-0.3.1.gem +0 -0
  13. data/vendor/gems/cache/cucumber-0.4.4.gem +0 -0
  14. data/vendor/gems/cache/diff-lcs-1.1.2.gem +0 -0
  15. data/vendor/gems/cache/dnssd-1.3.1.gem +0 -0
  16. data/vendor/gems/cache/gemcutter-0.1.6.gem +0 -0
  17. data/vendor/gems/cache/geokit-1.5.0.gem +0 -0
  18. data/vendor/gems/cache/json_pure-1.1.9.gem +0 -0
  19. data/vendor/gems/cache/linecache-0.43.gem +0 -0
  20. data/vendor/gems/cache/memcached-0.17.4.gem +0 -0
  21. data/vendor/gems/cache/net-scp-1.0.2.gem +0 -0
  22. data/vendor/gems/cache/net-ssh-2.0.15.gem +0 -0
  23. data/vendor/gems/cache/polyglot-0.2.9.gem +0 -0
  24. data/vendor/gems/cache/rack-1.0.1.gem +0 -0
  25. data/vendor/gems/cache/rackjour-0.0.1.gem +0 -0
  26. data/vendor/gems/cache/rackjour-0.0.10.gem +0 -0
  27. data/vendor/gems/cache/rackjour-0.0.2.gem +0 -0
  28. data/vendor/gems/cache/rackjour-0.0.3.gem +0 -0
  29. data/vendor/gems/cache/rackjour-0.0.4.gem +0 -0
  30. data/vendor/gems/cache/rackjour-0.0.5.gem +0 -0
  31. data/vendor/gems/cache/rackjour-0.0.6.gem +0 -0
  32. data/vendor/gems/cache/rackjour-0.0.7.gem +0 -0
  33. data/vendor/gems/cache/rackjour-0.0.8.gem +0 -0
  34. data/vendor/gems/cache/rackjour-0.0.9.gem +0 -0
  35. data/vendor/gems/cache/rackjour-0.1.1.gem +0 -0
  36. data/vendor/gems/cache/rackjour-0.1.2.gem +0 -0
  37. data/vendor/gems/cache/rackjour-0.1.3.gem +0 -0
  38. data/vendor/gems/cache/rackjour-0.1.4.gem +0 -0
  39. data/vendor/gems/cache/rackjour-0.1.5.gem +0 -0
  40. data/vendor/gems/cache/rspec-1.2.9.gem +0 -0
  41. data/vendor/gems/cache/ruby-debug-0.10.3.gem +0 -0
  42. data/vendor/gems/cache/ruby-debug-base-0.10.3.gem +0 -0
  43. data/vendor/gems/cache/sinatra-0.9.4.gem +0 -0
  44. data/vendor/gems/cache/term-ansicolor-1.0.4.gem +0 -0
  45. data/vendor/gems/cache/treetop-1.4.2.gem +0 -0
  46. data/vendor/gems/environment.rb +139 -0
  47. data/vendor/gems/gems/builder-2.1.2/CHANGES +85 -0
  48. data/vendor/gems/gems/builder-2.1.2/README +210 -0
  49. data/vendor/gems/gems/builder-2.1.2/Rakefile +263 -0
  50. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-1.2.4.rdoc +31 -0
  51. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.0.0.rdoc +46 -0
  52. data/vendor/gems/gems/builder-2.1.2/doc/releases/builder-2.1.1.rdoc +58 -0
  53. data/vendor/gems/gems/builder-2.1.2/lib/blankslate.rb +113 -0
  54. data/vendor/gems/gems/builder-2.1.2/lib/builder.rb +13 -0
  55. data/vendor/gems/gems/builder-2.1.2/lib/builder/blankslate.rb +20 -0
  56. data/vendor/gems/gems/builder-2.1.2/lib/builder/xchar.rb +115 -0
  57. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlbase.rb +139 -0
  58. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlevents.rb +63 -0
  59. data/vendor/gems/gems/builder-2.1.2/lib/builder/xmlmarkup.rb +328 -0
  60. data/vendor/gems/gems/builder-2.1.2/scripts/publish.rb +17 -0
  61. data/vendor/gems/gems/builder-2.1.2/test/performance.rb +30 -0
  62. data/vendor/gems/gems/builder-2.1.2/test/preload.rb +29 -0
  63. data/vendor/gems/gems/builder-2.1.2/test/test_xchar.rb +37 -0
  64. data/vendor/gems/gems/builder-2.1.2/test/testblankslate.rb +183 -0
  65. data/vendor/gems/gems/builder-2.1.2/test/testeventbuilder.rb +133 -0
  66. data/vendor/gems/gems/builder-2.1.2/test/testmarkupbuilder.rb +449 -0
  67. data/vendor/gems/gems/columnize-0.3.1/AUTHORS +1 -0
  68. data/vendor/gems/gems/columnize-0.3.1/COPYING +340 -0
  69. data/vendor/gems/gems/columnize-0.3.1/ChangeLog +97 -0
  70. data/vendor/gems/gems/columnize-0.3.1/NEWS +24 -0
  71. data/vendor/gems/gems/columnize-0.3.1/README +41 -0
  72. data/vendor/gems/gems/columnize-0.3.1/Rakefile +117 -0
  73. data/vendor/gems/gems/columnize-0.3.1/VERSION +1 -0
  74. data/vendor/gems/gems/columnize-0.3.1/lib/columnize.rb +245 -0
  75. data/vendor/gems/gems/columnize-0.3.1/test/test-columnize.rb +81 -0
  76. data/vendor/gems/gems/cucumber-0.4.4/History.txt +1269 -0
  77. data/vendor/gems/gems/cucumber-0.4.4/LICENSE +22 -0
  78. data/vendor/gems/gems/cucumber-0.4.4/Manifest.txt +0 -0
  79. data/vendor/gems/gems/cucumber-0.4.4/README.rdoc +26 -0
  80. data/vendor/gems/gems/cucumber-0.4.4/Rakefile +63 -0
  81. data/vendor/gems/gems/cucumber-0.4.4/VERSION.yml +5 -0
  82. data/vendor/gems/gems/cucumber-0.4.4/bin/cucumber +16 -0
  83. data/vendor/gems/gems/cucumber-0.4.4/cucumber.gemspec +750 -0
  84. data/vendor/gems/gems/cucumber-0.4.4/cucumber.yml +4 -0
  85. data/vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/Rakefile +6 -0
  86. data/vendor/gems/gems/cucumber-0.4.4/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
  87. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/README.textile +18 -0
  88. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/Rakefile +32 -0
  89. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/Rakefile +6 -0
  90. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/addition.feature +17 -0
  91. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
  92. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ar/lib/calculator.rb +11 -0
  93. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/Rakefile +6 -0
  94. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/addition.feature +12 -0
  95. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/consecutive_calculations.feature +19 -0
  96. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/division.feature +17 -0
  97. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
  98. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/env.rb +6 -0
  99. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/features/support/world.rb +8 -0
  100. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/bg/lib/calculator.rb +24 -0
  101. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/Rakefile +6 -0
  102. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
  103. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/features/suma.feature +17 -0
  104. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/cat/lib/calculadora.rb +16 -0
  105. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/Rakefile +6 -0
  106. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/sammenlaegning.feature +18 -0
  107. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +24 -0
  108. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/da/lib/lommeregner.rb +11 -0
  109. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/Rakefile +6 -0
  110. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/addition.feature +17 -0
  111. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/division.feature +10 -0
  112. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
  113. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/de/lib/calculator.rb +14 -0
  114. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/Rakefile +6 -0
  115. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
  116. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/stuffing.feature +8 -0
  117. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/features/support/env.rb +8 -0
  118. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/basket.rb +12 -0
  119. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en-lol/lib/belly.rb +11 -0
  120. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/Rakefile +6 -0
  121. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/addition.feature +17 -0
  122. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/division.feature +10 -0
  123. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
  124. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/en/lib/calculator.rb +14 -0
  125. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/Rakefile +6 -0
  126. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/adicion.feature +17 -0
  127. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
  128. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/es/lib/calculador.rb +14 -0
  129. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/Rakefile +6 -0
  130. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/jagamine.feature +10 -0
  131. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/liitmine.feature +17 -0
  132. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
  133. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/et/lib/kalkulaator.rb +14 -0
  134. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/Rakefile +6 -0
  135. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/jakolasku.feature +10 -0
  136. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
  137. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/features/yhteenlasku.feature +17 -0
  138. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fi/lib/laskin.rb +14 -0
  139. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/Rakefile +6 -0
  140. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/addition.feature +18 -0
  141. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
  142. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/fr/lib/calculatrice.rb +10 -0
  143. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/Rakefile +6 -0
  144. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/addition.feature +17 -0
  145. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/division.feature +10 -0
  146. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/features/step_definitons/calculator_steps.rb +24 -0
  147. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/he/lib/calculator.rb +14 -0
  148. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/Rakefile +6 -0
  149. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/addition.feature +17 -0
  150. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/division.feature +10 -0
  151. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
  152. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/hu/lib/calculator.rb +14 -0
  153. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/Rakefile +6 -0
  154. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/addition.feature +17 -0
  155. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/division.feature +10 -0
  156. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
  157. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/id/lib/calculator.rb +14 -0
  158. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/Rakefile +6 -0
  159. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/somma.feature +11 -0
  160. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
  161. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/it/lib/calcolatrice.rb +11 -0
  162. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/Rakefile +6 -0
  163. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/addition.feature +17 -0
  164. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/division.feature +10 -0
  165. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
  166. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ja/lib/calculator.rb +14 -0
  167. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/Rakefile +6 -0
  168. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/addition.feature +17 -0
  169. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/division.feature +11 -0
  170. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
  171. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ko/lib/calculator.rb +14 -0
  172. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/Rakefile +6 -0
  173. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/addition.feature +17 -0
  174. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/division.feature +10 -0
  175. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
  176. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lt/lib/calculator.rb +14 -0
  177. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/Rakefile +6 -0
  178. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/addition.feature +17 -0
  179. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/division.feature +10 -0
  180. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
  181. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/lv/lib/calculator.rb +14 -0
  182. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/Rakefile +6 -0
  183. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
  184. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/summering.feature +19 -0
  185. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/features/support/env.rb +6 -0
  186. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/no/lib/kalkulator.rb +11 -0
  187. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/Rakefile +6 -0
  188. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/addition.feature +17 -0
  189. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/division.feature +10 -0
  190. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
  191. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/features/support/env.rb +6 -0
  192. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pl/lib/calculator.rb +14 -0
  193. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/Rakefile +6 -0
  194. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/adicao.feature +11 -0
  195. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +20 -0
  196. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/features/support/env.rb +6 -0
  197. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/pt/lib/calculadora.rb +10 -0
  198. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/Rakefile +6 -0
  199. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
  200. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/features/suma.feature +11 -0
  201. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ro/lib/calculator.rb +11 -0
  202. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/Rakefile +6 -0
  203. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/addition.feature +11 -0
  204. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/consecutive_calculations.feature +17 -0
  205. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/division.feature +16 -0
  206. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
  207. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/env.rb +6 -0
  208. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/features/support/world.rb +8 -0
  209. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/ru/lib/calculator.rb +24 -0
  210. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/Rakefile +6 -0
  211. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
  212. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/features/summering.feature +18 -0
  213. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/se/lib/kalkulator.rb +11 -0
  214. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/Rakefile +6 -0
  215. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/addition.feature +17 -0
  216. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/division.feature +10 -0
  217. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
  218. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sk/lib/calculator.rb +14 -0
  219. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/Rakefile +6 -0
  220. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/sabiranje.feature +18 -0
  221. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +24 -0
  222. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr-latn/lib/calculator.rb +12 -0
  223. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/Rakefile +6 -0
  224. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/sabiranje.feature +18 -0
  225. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/features/step_definitons/calculator_steps.rb +24 -0
  226. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/sr/lib/calculator.rb +12 -0
  227. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/Rakefile +6 -0
  228. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/bolme.feature +10 -0
  229. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +24 -0
  230. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/features/toplama.feature +18 -0
  231. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/tr/lib/hesap_makinesi.rb +15 -0
  232. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/Rakefile +6 -0
  233. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/addition.feature +10 -0
  234. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/consecutive_calculations.feature +17 -0
  235. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/division.feature +17 -0
  236. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/step_definitons/calculator_steps.rb +19 -0
  237. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/env.rb +6 -0
  238. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/features/support/world.rb +8 -0
  239. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/uz/lib/calculator.rb +24 -0
  240. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/Rakefile +6 -0
  241. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/addition.feature +18 -0
  242. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
  243. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-CN/lib/calculator.rb +10 -0
  244. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/Rakefile +6 -0
  245. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/addition.feature +17 -0
  246. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/division.feature +11 -0
  247. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
  248. data/vendor/gems/gems/cucumber-0.4.4/examples/i18n/zh-TW/lib/calculator.rb +14 -0
  249. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/one_passing_one_failing.feature +8 -0
  250. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/pending.feature +5 -0
  251. data/vendor/gems/gems/cucumber-0.4.4/examples/junit/features/step_definitions/steps.rb +11 -0
  252. data/vendor/gems/gems/cucumber-0.4.4/examples/python/features/fibonacci.feature +19 -0
  253. data/vendor/gems/gems/cucumber-0.4.4/examples/python/features/step_definitions/fib_steps.py +11 -0
  254. data/vendor/gems/gems/cucumber-0.4.4/examples/python/lib/fib.py +7 -0
  255. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/README.textile +7 -0
  256. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/Rakefile +6 -0
  257. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/app.rb +21 -0
  258. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/add.feature +11 -0
  259. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/step_definitions/add_steps.rb +15 -0
  260. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/features/support/env.rb +32 -0
  261. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/layout/default.html.erb +8 -0
  262. data/vendor/gems/gems/cucumber-0.4.4/examples/ramaze/view/index.html.erb +5 -0
  263. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/fibonacci.feature +19 -0
  264. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/step_definitions/fib_steps.rb +7 -0
  265. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/features/support/env.rb +21 -0
  266. data/vendor/gems/gems/cucumber-0.4.4/examples/ruby2python/lib/fib.py +7 -0
  267. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/Rakefile +6 -0
  268. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/search.feature +9 -0
  269. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/step_definitons/search_steps.rb +13 -0
  270. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium/features/support/env.rb +19 -0
  271. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/Rakefile +6 -0
  272. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/config.ru +0 -0
  273. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/search.feature +9 -0
  274. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
  275. data/vendor/gems/gems/cucumber-0.4.4/examples/selenium_webrat/features/support/env.rb +45 -0
  276. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/README.textile +6 -0
  277. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/Rakefile +6 -0
  278. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
  279. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/background_with_name.feature +7 -0
  280. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background.feature +12 -0
  281. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/failing_background_after_success.feature +11 -0
  282. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/multiline_args_background.feature +32 -0
  283. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/passing_background.feature +10 -0
  284. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/pending_background.feature +10 -0
  285. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
  286. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
  287. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
  288. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/failing_expectation.feature +4 -0
  289. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/lots_of_undefined.feature +8 -0
  290. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/multiline_name.feature +27 -0
  291. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/outline_sample.feature +15 -0
  292. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/sample.feature +21 -0
  293. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/search_sample.feature +32 -0
  294. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/step_definitions/sample_steps.rb +81 -0
  295. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/support/env.rb +18 -0
  296. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tags_sample.feature +17 -0
  297. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/tons_of_cukes.feature +52 -0
  298. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/features/undefined_multiline_args.feature +12 -0
  299. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/list-of-features.txt +1 -0
  300. data/vendor/gems/gems/cucumber-0.4.4/examples/self_test/tmp/features/step_definitions/steps.rb +10 -0
  301. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/README.textile +13 -0
  302. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/Rakefile +6 -0
  303. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/app.rb +14 -0
  304. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/add.feature +11 -0
  305. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
  306. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/features/support/env.rb +30 -0
  307. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/add.erb +5 -0
  308. data/vendor/gems/gems/cucumber-0.4.4/examples/sinatra/views/layout.erb +8 -0
  309. data/vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib1.rb +8 -0
  310. data/vendor/gems/gems/cucumber-0.4.4/examples/steps_library/features/step_definitions/steps_lib2.rb +8 -0
  311. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/Rakefile +6 -0
  312. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
  313. data/vendor/gems/gems/cucumber-0.4.4/examples/test_unit/features/test_unit.feature +9 -0
  314. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/Rakefile +20 -0
  315. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features.html +138 -0
  316. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/172.feature +28 -0
  317. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/1.feature +29 -0
  318. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/2.feature +21 -0
  319. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/177/3.feature +18 -0
  320. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/180.feature +7 -0
  321. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.feature +8 -0
  322. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/229/tagged_hooks.rb +14 -0
  323. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/236.feature +13 -0
  324. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/241.feature +13 -0
  325. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/246.feature +4 -0
  326. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/248.feature +11 -0
  327. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.feature +14 -0
  328. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/270/back.steps.rb +14 -0
  329. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks.feature +26 -0
  330. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/272/hooks_steps.rb +53 -0
  331. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.feature +25 -0
  332. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
  333. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/279/wrong.feature_ +11 -0
  334. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
  335. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
  336. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/306/only_background.feature +4 -0
  337. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/eatting_machine.rb +18 -0
  338. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/lib/pantry.rb +20 -0
  339. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/scenario_outline.feature +95 -0
  340. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/246_steps.rb +3 -0
  341. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/248_steps.rb +15 -0
  342. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
  343. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/step_definitons/tickets_steps.rb +81 -0
  344. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/table_diffing.feature +13 -0
  345. data/vendor/gems/gems/cucumber-0.4.4/examples/tickets/features/tickets.feature +28 -0
  346. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/README.textile +16 -0
  347. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/Rakefile +10 -0
  348. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/search.feature +12 -0
  349. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/step_definitions/search_steps.rb +26 -0
  350. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/env.rb +32 -0
  351. data/vendor/gems/gems/cucumber-0.4.4/examples/watir/features/support/screenshots.rb +44 -0
  352. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/search.feature +12 -0
  353. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/step_definitions/kvasir_steps.rb +14 -0
  354. data/vendor/gems/gems/cucumber-0.4.4/examples/webrat/features/support/env.rb +17 -0
  355. data/vendor/gems/gems/cucumber-0.4.4/features/announce.feature +122 -0
  356. data/vendor/gems/gems/cucumber-0.4.4/features/background.feature +308 -0
  357. data/vendor/gems/gems/cucumber-0.4.4/features/bug_371.feature +32 -0
  358. data/vendor/gems/gems/cucumber-0.4.4/features/bug_464.feature +16 -0
  359. data/vendor/gems/gems/cucumber-0.4.4/features/bug_475.feature +43 -0
  360. data/vendor/gems/gems/cucumber-0.4.4/features/call_many_steps.feature +124 -0
  361. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli.feature +652 -0
  362. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_diff_disabled.feature +52 -0
  363. data/vendor/gems/gems/cucumber-0.4.4/features/cucumber_cli_outlines.feature +105 -0
  364. data/vendor/gems/gems/cucumber-0.4.4/features/custom_formatter.feature +46 -0
  365. data/vendor/gems/gems/cucumber-0.4.4/features/default_snippets.feature +42 -0
  366. data/vendor/gems/gems/cucumber-0.4.4/features/drb_server_integration.feature +174 -0
  367. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_block.feature +100 -0
  368. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_after_step_block.feature +102 -0
  369. data/vendor/gems/gems/cucumber-0.4.4/features/exception_in_before_block.feature +78 -0
  370. data/vendor/gems/gems/cucumber-0.4.4/features/exclude_files.feature +20 -0
  371. data/vendor/gems/gems/cucumber-0.4.4/features/expand.feature +60 -0
  372. data/vendor/gems/gems/cucumber-0.4.4/features/html_formatter.feature +7 -0
  373. data/vendor/gems/gems/cucumber-0.4.4/features/html_formatter/a.html +183 -0
  374. data/vendor/gems/gems/cucumber-0.4.4/features/junit_formatter.feature +88 -0
  375. data/vendor/gems/gems/cucumber-0.4.4/features/language_from_header.feature +30 -0
  376. data/vendor/gems/gems/cucumber-0.4.4/features/language_help.feature +70 -0
  377. data/vendor/gems/gems/cucumber-0.4.4/features/listener_debugger_formatter.feature +41 -0
  378. data/vendor/gems/gems/cucumber-0.4.4/features/multiline_names.feature +43 -0
  379. data/vendor/gems/gems/cucumber-0.4.4/features/negative_tagged_hooks.feature +61 -0
  380. data/vendor/gems/gems/cucumber-0.4.4/features/post_configuration_hook.feature +37 -0
  381. data/vendor/gems/gems/cucumber-0.4.4/features/profiles.feature +112 -0
  382. data/vendor/gems/gems/cucumber-0.4.4/features/rake_task.feature +152 -0
  383. data/vendor/gems/gems/cucumber-0.4.4/features/report_called_undefined_steps.feature +34 -0
  384. data/vendor/gems/gems/cucumber-0.4.4/features/simplest.feature +11 -0
  385. data/vendor/gems/gems/cucumber-0.4.4/features/snippet.feature +22 -0
  386. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/cucumber_steps.rb +154 -0
  387. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/extra_steps.rb +2 -0
  388. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/simplest_steps.rb +3 -0
  389. data/vendor/gems/gems/cucumber-0.4.4/features/step_definitions/wire_steps.rb +14 -0
  390. data/vendor/gems/gems/cucumber-0.4.4/features/support/env.rb +141 -0
  391. data/vendor/gems/gems/cucumber-0.4.4/features/support/env.rb.simplest +7 -0
  392. data/vendor/gems/gems/cucumber-0.4.4/features/support/fake_wire_server.rb +63 -0
  393. data/vendor/gems/gems/cucumber-0.4.4/features/table_diffing.feature +45 -0
  394. data/vendor/gems/gems/cucumber-0.4.4/features/table_mapping.feature +35 -0
  395. data/vendor/gems/gems/cucumber-0.4.4/features/tag_logic.feature +258 -0
  396. data/vendor/gems/gems/cucumber-0.4.4/features/transform.feature +231 -0
  397. data/vendor/gems/gems/cucumber-0.4.4/features/unicode_table.feature +35 -0
  398. data/vendor/gems/gems/cucumber-0.4.4/features/usage_and_stepdefs_formatter.feature +169 -0
  399. data/vendor/gems/gems/cucumber-0.4.4/features/wire_protocol.feature +177 -0
  400. data/vendor/gems/gems/cucumber-0.4.4/features/work_in_progress.feature +156 -0
  401. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/contributors.rake +13 -0
  402. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/environment.rake +7 -0
  403. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/features.rake +16 -0
  404. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/fix_cr_lf.rake +10 -0
  405. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/flog.rake +4 -0
  406. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/rspec.rake +15 -0
  407. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/sass.rake +4 -0
  408. data/vendor/gems/gems/cucumber-0.4.4/gem_tasks/sdoc.rake +12 -0
  409. data/vendor/gems/gems/cucumber-0.4.4/lib/README.rdoc +12 -0
  410. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber.rb +6 -0
  411. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_mixin.rb +131 -0
  412. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails.rb +6 -0
  413. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rails_rspec.rb +6 -0
  414. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/cucumber_rspec.rb +6 -0
  415. data/vendor/gems/gems/cucumber-0.4.4/lib/autotest/discover.rb +9 -0
  416. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber.rb +15 -0
  417. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast.rb +30 -0
  418. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/background.rb +75 -0
  419. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/comment.rb +31 -0
  420. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/examples.rb +36 -0
  421. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature.rb +85 -0
  422. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/feature_element.rb +68 -0
  423. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/features.rb +40 -0
  424. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/outline_table.rb +166 -0
  425. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/py_string.rb +59 -0
  426. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario.rb +111 -0
  427. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/scenario_outline.rb +100 -0
  428. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step.rb +121 -0
  429. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_collection.rb +76 -0
  430. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/step_invocation.rb +190 -0
  431. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/table.rb +655 -0
  432. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tags.rb +122 -0
  433. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/tree_walker.rb +201 -0
  434. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/ast/visitor.rb +11 -0
  435. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/broadcaster.rb +13 -0
  436. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/configuration.rb +195 -0
  437. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/drb_client.rb +32 -0
  438. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/language_help_formatter.rb +72 -0
  439. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/main.rb +121 -0
  440. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/options.rb +403 -0
  441. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/cli/profile_loader.rb +82 -0
  442. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/constantize.rb +34 -0
  443. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/instance_exec.rb +98 -0
  444. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/proc.rb +30 -0
  445. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/core_ext/string.rb +16 -0
  446. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/feature_file.rb +54 -0
  447. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/filter.rb +41 -0
  448. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ansicolor.rb +157 -0
  449. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/color_io.rb +23 -0
  450. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/console.rb +205 -0
  451. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.css +132 -0
  452. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/cucumber.sass +139 -0
  453. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/debug.rb +33 -0
  454. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/duration.rb +13 -0
  455. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/html.rb +369 -0
  456. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/junit.rb +140 -0
  457. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/ordered_xml_markup.rb +24 -0
  458. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pdf.rb +234 -0
  459. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/pretty.rb +239 -0
  460. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/progress.rb +73 -0
  461. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/rerun.rb +48 -0
  462. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/stepdefs.rb +14 -0
  463. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/steps.rb +49 -0
  464. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/summary.rb +35 -0
  465. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/tag_cloud.rb +30 -0
  466. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/unicode.rb +35 -0
  467. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/formatter/usage.rb +127 -0
  468. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support.rb +30 -0
  469. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/language_support/language_methods.rb +110 -0
  470. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/languages.yml +611 -0
  471. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser.rb +8 -0
  472. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.rb +170 -0
  473. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/common.tt +21 -0
  474. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.rb +1517 -0
  475. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/feature.tt +281 -0
  476. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/i18n.tt +44 -0
  477. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/natural_language.rb +81 -0
  478. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.rb +276 -0
  479. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/py_string.tt +45 -0
  480. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.rb +305 -0
  481. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/table.tt +60 -0
  482. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/parser/treetop_ext.rb +53 -0
  483. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/platform.rb +31 -0
  484. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_dsl.py +10 -0
  485. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.py +10 -0
  486. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/py_support/py_language.rb +81 -0
  487. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/action_controller.rb +38 -0
  488. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/active_record.rb +30 -0
  489. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/rspec.rb +10 -0
  490. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/test_unit.rb +9 -0
  491. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rails/world.rb +30 -0
  492. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rake/task.rb +166 -0
  493. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_dsl.rb +102 -0
  494. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_hook.rb +19 -0
  495. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_language.rb +179 -0
  496. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_step_definition.rb +75 -0
  497. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_transform.rb +37 -0
  498. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/rb_world.rb +81 -0
  499. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rb_support/regexp_argument_matcher.rb +21 -0
  500. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/rspec_neuter.rb +23 -0
  501. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_argument.rb +9 -0
  502. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_definition_light.rb +20 -0
  503. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_match.rb +107 -0
  504. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/step_mother.rb +351 -0
  505. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/element_locator.rb +89 -0
  506. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/webrat/table_locator.rb +1 -0
  507. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/connection.rb +42 -0
  508. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/request_handler.rb +19 -0
  509. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_exception.rb +10 -0
  510. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_language.rb +52 -0
  511. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_packet.rb +34 -0
  512. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_protocol.rb +64 -0
  513. data/vendor/gems/gems/cucumber-0.4.4/lib/cucumber/wire_support/wire_step_definition.rb +21 -0
  514. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/USAGE +11 -0
  515. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/cucumber_generator.rb +117 -0
  516. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber +17 -0
  517. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber.rake +46 -0
  518. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/cucumber_environment.rb +30 -0
  519. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/env.rb +49 -0
  520. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/paths.rb +27 -0
  521. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/spork_env.rb +57 -0
  522. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/version_check.rb +31 -0
  523. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/cucumber/templates/webrat_steps.rb +241 -0
  524. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/USAGE +12 -0
  525. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/feature_generator.rb +40 -0
  526. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/feature.erb +31 -0
  527. data/vendor/gems/gems/cucumber-0.4.4/rails_generators/feature/templates/steps.erb +14 -0
  528. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/background_spec.rb +54 -0
  529. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_element_spec.rb +41 -0
  530. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_factory.rb +62 -0
  531. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/feature_spec.rb +44 -0
  532. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/outline_table_spec.rb +21 -0
  533. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/py_string_spec.rb +51 -0
  534. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_outline_spec.rb +73 -0
  535. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/scenario_spec.rb +45 -0
  536. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_collection_spec.rb +17 -0
  537. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/step_spec.rb +66 -0
  538. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/table_spec.rb +422 -0
  539. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tags_spec.rb +29 -0
  540. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/ast/tree_walker_spec.rb +11 -0
  541. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/broadcaster_spec.rb +15 -0
  542. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/configuration_spec.rb +396 -0
  543. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/drb_client_spec.rb +77 -0
  544. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/main_spec.rb +172 -0
  545. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/options_spec.rb +338 -0
  546. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/cli/profile_loader_spec.rb +10 -0
  547. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/core_ext/proc_spec.rb +68 -0
  548. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/ansicolor_spec.rb +31 -0
  549. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/color_io_spec.rb +27 -0
  550. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/console_spec.rb +20 -0
  551. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/duration_spec.rb +22 -0
  552. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/html_spec.rb +200 -0
  553. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/junit_spec.rb +107 -0
  554. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/progress_spec.rb +38 -0
  555. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/formatter/spec_helper.rb +50 -0
  556. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/feature_parser_spec.rb +400 -0
  557. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/parser/table_parser_spec.rb +52 -0
  558. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/rb_step_definition_spec.rb +132 -0
  559. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +18 -0
  560. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/sell_cucumbers.feature +19 -0
  561. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_match_spec.rb +56 -0
  562. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/step_mother_spec.rb +270 -0
  563. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
  564. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
  565. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
  566. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
  567. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
  568. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
  569. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
  570. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
  571. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
  572. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/spaces.feature +12 -0
  573. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/test_dos.feature +25 -0
  574. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_comments.feature +23 -0
  575. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/treetop_parser/with_tags.feature +18 -0
  576. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_language_spec.rb +47 -0
  577. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/wire_support/wire_packet_spec.rb +26 -0
  578. data/vendor/gems/gems/cucumber-0.4.4/spec/cucumber/world/pending_spec.rb +46 -0
  579. data/vendor/gems/gems/cucumber-0.4.4/spec/spec.opts +4 -0
  580. data/vendor/gems/gems/cucumber-0.4.4/spec/spec_helper.rb +18 -0
  581. data/vendor/gems/gems/diff-lcs-1.1.2/ChangeLog +46 -0
  582. data/vendor/gems/gems/diff-lcs-1.1.2/Install +6 -0
  583. data/vendor/gems/gems/diff-lcs-1.1.2/README +76 -0
  584. data/vendor/gems/gems/diff-lcs-1.1.2/Rakefile +116 -0
  585. data/vendor/gems/gems/diff-lcs-1.1.2/bin/htmldiff +112 -0
  586. data/vendor/gems/gems/diff-lcs-1.1.2/bin/ldiff +45 -0
  587. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs.rb +1105 -0
  588. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/array.rb +21 -0
  589. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb +51 -0
  590. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/callbacks.rb +322 -0
  591. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/change.rb +169 -0
  592. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/hunk.rb +257 -0
  593. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/ldiff.rb +226 -0
  594. data/vendor/gems/gems/diff-lcs-1.1.2/lib/diff/lcs/string.rb +19 -0
  595. data/vendor/gems/gems/diff-lcs-1.1.2/tests/00test.rb +626 -0
  596. data/vendor/gems/gems/dnssd-1.3.1/History.txt +66 -0
  597. data/vendor/gems/gems/dnssd-1.3.1/Manifest.txt +43 -0
  598. data/vendor/gems/gems/dnssd-1.3.1/README.txt +74 -0
  599. data/vendor/gems/gems/dnssd-1.3.1/Rakefile +38 -0
  600. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/Makefile +157 -0
  601. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/dnssd.bundle +0 -0
  602. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/dnssd.c +102 -0
  603. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/dnssd.h +30 -0
  604. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/dnssd.o +0 -0
  605. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/errors.c +133 -0
  606. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/errors.o +0 -0
  607. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/extconf.rb +66 -0
  608. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/flags.c +240 -0
  609. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/flags.o +0 -0
  610. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/mkmf.log +325 -0
  611. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/record.c +218 -0
  612. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/record.o +0 -0
  613. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/service.c +709 -0
  614. data/vendor/gems/gems/dnssd-1.3.1/ext/dnssd/service.o +0 -0
  615. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd.bundle +0 -0
  616. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd.rb +217 -0
  617. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/flags.rb +116 -0
  618. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/record.rb +97 -0
  619. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply.rb +103 -0
  620. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/addr_info.rb +47 -0
  621. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/browse.rb +52 -0
  622. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/domain.rb +22 -0
  623. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/query_record.rb +183 -0
  624. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/register.rb +37 -0
  625. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/reply/resolve.rb +105 -0
  626. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/service.rb +265 -0
  627. data/vendor/gems/gems/dnssd-1.3.1/lib/dnssd/text_record.rb +78 -0
  628. data/vendor/gems/gems/dnssd-1.3.1/sample/browse.rb +29 -0
  629. data/vendor/gems/gems/dnssd-1.3.1/sample/enumerate_domains.rb +19 -0
  630. data/vendor/gems/gems/dnssd-1.3.1/sample/getaddrinfo.rb +28 -0
  631. data/vendor/gems/gems/dnssd-1.3.1/sample/growl.rb +16 -0
  632. data/vendor/gems/gems/dnssd-1.3.1/sample/query_record.rb +15 -0
  633. data/vendor/gems/gems/dnssd-1.3.1/sample/register.rb +29 -0
  634. data/vendor/gems/gems/dnssd-1.3.1/sample/resolve.rb +37 -0
  635. data/vendor/gems/gems/dnssd-1.3.1/sample/resolve_ichat.rb +35 -0
  636. data/vendor/gems/gems/dnssd-1.3.1/sample/server.rb +21 -0
  637. data/vendor/gems/gems/dnssd-1.3.1/sample/socket.rb +22 -0
  638. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd.rb +77 -0
  639. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_flags.rb +143 -0
  640. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_record.rb +92 -0
  641. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_reply.rb +68 -0
  642. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_reply_browse.rb +28 -0
  643. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_reply_query_record.rb +92 -0
  644. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_reply_resolve.rb +47 -0
  645. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_service.rb +12 -0
  646. data/vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_text_record.rb +83 -0
  647. data/vendor/gems/gems/linecache-0.43/AUTHORS +1 -0
  648. data/vendor/gems/gems/linecache-0.43/COPYING +340 -0
  649. data/vendor/gems/gems/linecache-0.43/ChangeLog +317 -0
  650. data/vendor/gems/gems/linecache-0.43/NEWS +29 -0
  651. data/vendor/gems/gems/linecache-0.43/README +38 -0
  652. data/vendor/gems/gems/linecache-0.43/Rakefile +166 -0
  653. data/vendor/gems/gems/linecache-0.43/VERSION +1 -0
  654. data/vendor/gems/gems/linecache-0.43/ext/Makefile +157 -0
  655. data/vendor/gems/gems/linecache-0.43/ext/extconf.rb +16 -0
  656. data/vendor/gems/gems/linecache-0.43/ext/trace_nums.bundle +0 -0
  657. data/vendor/gems/gems/linecache-0.43/ext/trace_nums.c +716 -0
  658. data/vendor/gems/gems/linecache-0.43/ext/trace_nums.h +111 -0
  659. data/vendor/gems/gems/linecache-0.43/ext/trace_nums.o +0 -0
  660. data/vendor/gems/gems/linecache-0.43/lib/linecache.rb +399 -0
  661. data/vendor/gems/gems/linecache-0.43/lib/trace_nums.bundle +0 -0
  662. data/vendor/gems/gems/linecache-0.43/lib/tracelines.rb +47 -0
  663. data/vendor/gems/gems/linecache-0.43/test/data/begin1.rb +3 -0
  664. data/vendor/gems/gems/linecache-0.43/test/data/begin2.rb +3 -0
  665. data/vendor/gems/gems/linecache-0.43/test/data/begin3.rb +6 -0
  666. data/vendor/gems/gems/linecache-0.43/test/data/block1.rb +7 -0
  667. data/vendor/gems/gems/linecache-0.43/test/data/block2.rb +4 -0
  668. data/vendor/gems/gems/linecache-0.43/test/data/case1.rb +6 -0
  669. data/vendor/gems/gems/linecache-0.43/test/data/case2.rb +5 -0
  670. data/vendor/gems/gems/linecache-0.43/test/data/case3.rb +5 -0
  671. data/vendor/gems/gems/linecache-0.43/test/data/case4.rb +4 -0
  672. data/vendor/gems/gems/linecache-0.43/test/data/case5.rb +10 -0
  673. data/vendor/gems/gems/linecache-0.43/test/data/class1.rb +5 -0
  674. data/vendor/gems/gems/linecache-0.43/test/data/comments1.rb +6 -0
  675. data/vendor/gems/gems/linecache-0.43/test/data/def1.rb +9 -0
  676. data/vendor/gems/gems/linecache-0.43/test/data/each1.rb +3 -0
  677. data/vendor/gems/gems/linecache-0.43/test/data/end.rb +3 -0
  678. data/vendor/gems/gems/linecache-0.43/test/data/for1.rb +4 -0
  679. data/vendor/gems/gems/linecache-0.43/test/data/if1.rb +4 -0
  680. data/vendor/gems/gems/linecache-0.43/test/data/if2.rb +4 -0
  681. data/vendor/gems/gems/linecache-0.43/test/data/if3.rb +9 -0
  682. data/vendor/gems/gems/linecache-0.43/test/data/if4.rb +14 -0
  683. data/vendor/gems/gems/linecache-0.43/test/data/if5.rb +7 -0
  684. data/vendor/gems/gems/linecache-0.43/test/data/if6.rb +4 -0
  685. data/vendor/gems/gems/linecache-0.43/test/data/if7.rb +8 -0
  686. data/vendor/gems/gems/linecache-0.43/test/data/match.rb +3 -0
  687. data/vendor/gems/gems/linecache-0.43/test/data/match3.rb +5 -0
  688. data/vendor/gems/gems/linecache-0.43/test/data/match3a.rb +6 -0
  689. data/vendor/gems/gems/linecache-0.43/test/data/not-lit.rb +6 -0
  690. data/vendor/gems/gems/linecache-0.43/test/lnum-diag.rb +130 -0
  691. data/vendor/gems/gems/linecache-0.43/test/parse-show.rb +14 -0
  692. data/vendor/gems/gems/linecache-0.43/test/rcov-bug.rb +10 -0
  693. data/vendor/gems/gems/linecache-0.43/test/short-file +2 -0
  694. data/vendor/gems/gems/linecache-0.43/test/test-linecache.rb +151 -0
  695. data/vendor/gems/gems/linecache-0.43/test/test-lnum.rb +36 -0
  696. data/vendor/gems/gems/linecache-0.43/test/test-tracelines.rb +41 -0
  697. data/vendor/gems/gems/polyglot-0.2.9/History.txt +57 -0
  698. data/vendor/gems/gems/polyglot-0.2.9/License.txt +20 -0
  699. data/vendor/gems/gems/polyglot-0.2.9/Manifest.txt +7 -0
  700. data/vendor/gems/gems/polyglot-0.2.9/README.txt +87 -0
  701. data/vendor/gems/gems/polyglot-0.2.9/Rakefile +4 -0
  702. data/vendor/gems/gems/polyglot-0.2.9/lib/polyglot.rb +81 -0
  703. data/vendor/gems/gems/polyglot-0.2.9/lib/polyglot/version.rb +9 -0
  704. data/vendor/gems/gems/polyglot-0.2.9/test/test_helper.rb +2 -0
  705. data/vendor/gems/gems/polyglot-0.2.9/test/test_polyglot.rb +44 -0
  706. data/vendor/gems/gems/rack-1.0.1/COPYING +18 -0
  707. data/vendor/gems/gems/rack-1.0.1/KNOWN-ISSUES +18 -0
  708. data/vendor/gems/gems/rack-1.0.1/RDOX +428 -0
  709. data/vendor/gems/gems/rack-1.0.1/README +364 -0
  710. data/vendor/gems/gems/rack-1.0.1/Rakefile +164 -0
  711. data/vendor/gems/gems/rack-1.0.1/SPEC +164 -0
  712. data/vendor/gems/gems/rack-1.0.1/bin/rackup +176 -0
  713. data/vendor/gems/gems/rack-1.0.1/contrib/rack_logo.svg +111 -0
  714. data/vendor/gems/gems/rack-1.0.1/example/lobster.ru +4 -0
  715. data/vendor/gems/gems/rack-1.0.1/example/protectedlobster.rb +14 -0
  716. data/vendor/gems/gems/rack-1.0.1/example/protectedlobster.ru +8 -0
  717. data/vendor/gems/gems/rack-1.0.1/lib/rack.rb +90 -0
  718. data/vendor/gems/gems/rack-1.0.1/lib/rack/adapter/camping.rb +22 -0
  719. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/handler.rb +37 -0
  720. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/abstract/request.rb +37 -0
  721. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/basic.rb +58 -0
  722. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/md5.rb +124 -0
  723. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/nonce.rb +51 -0
  724. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/params.rb +55 -0
  725. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/digest/request.rb +40 -0
  726. data/vendor/gems/gems/rack-1.0.1/lib/rack/auth/openid.rb +480 -0
  727. data/vendor/gems/gems/rack-1.0.1/lib/rack/builder.rb +63 -0
  728. data/vendor/gems/gems/rack-1.0.1/lib/rack/cascade.rb +36 -0
  729. data/vendor/gems/gems/rack-1.0.1/lib/rack/chunked.rb +49 -0
  730. data/vendor/gems/gems/rack-1.0.1/lib/rack/commonlogger.rb +61 -0
  731. data/vendor/gems/gems/rack-1.0.1/lib/rack/conditionalget.rb +47 -0
  732. data/vendor/gems/gems/rack-1.0.1/lib/rack/content_length.rb +29 -0
  733. data/vendor/gems/gems/rack-1.0.1/lib/rack/content_type.rb +23 -0
  734. data/vendor/gems/gems/rack-1.0.1/lib/rack/deflater.rb +96 -0
  735. data/vendor/gems/gems/rack-1.0.1/lib/rack/directory.rb +153 -0
  736. data/vendor/gems/gems/rack-1.0.1/lib/rack/file.rb +88 -0
  737. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler.rb +69 -0
  738. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/cgi.rb +61 -0
  739. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/evented_mongrel.rb +8 -0
  740. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/fastcgi.rb +90 -0
  741. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/lsws.rb +60 -0
  742. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/mongrel.rb +87 -0
  743. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/scgi.rb +62 -0
  744. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  745. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/thin.rb +18 -0
  746. data/vendor/gems/gems/rack-1.0.1/lib/rack/handler/webrick.rb +71 -0
  747. data/vendor/gems/gems/rack-1.0.1/lib/rack/head.rb +19 -0
  748. data/vendor/gems/gems/rack-1.0.1/lib/rack/lint.rb +546 -0
  749. data/vendor/gems/gems/rack-1.0.1/lib/rack/lobster.rb +65 -0
  750. data/vendor/gems/gems/rack-1.0.1/lib/rack/lock.rb +16 -0
  751. data/vendor/gems/gems/rack-1.0.1/lib/rack/methodoverride.rb +27 -0
  752. data/vendor/gems/gems/rack-1.0.1/lib/rack/mime.rb +204 -0
  753. data/vendor/gems/gems/rack-1.0.1/lib/rack/mock.rb +163 -0
  754. data/vendor/gems/gems/rack-1.0.1/lib/rack/recursive.rb +57 -0
  755. data/vendor/gems/gems/rack-1.0.1/lib/rack/reloader.rb +106 -0
  756. data/vendor/gems/gems/rack-1.0.1/lib/rack/request.rb +246 -0
  757. data/vendor/gems/gems/rack-1.0.1/lib/rack/response.rb +183 -0
  758. data/vendor/gems/gems/rack-1.0.1/lib/rack/rewindable_input.rb +100 -0
  759. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/abstract/id.rb +142 -0
  760. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/cookie.rb +91 -0
  761. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/memcache.rb +109 -0
  762. data/vendor/gems/gems/rack-1.0.1/lib/rack/session/pool.rb +100 -0
  763. data/vendor/gems/gems/rack-1.0.1/lib/rack/showexceptions.rb +349 -0
  764. data/vendor/gems/gems/rack-1.0.1/lib/rack/showstatus.rb +106 -0
  765. data/vendor/gems/gems/rack-1.0.1/lib/rack/static.rb +38 -0
  766. data/vendor/gems/gems/rack-1.0.1/lib/rack/urlmap.rb +55 -0
  767. data/vendor/gems/gems/rack-1.0.1/lib/rack/utils.rb +401 -0
  768. data/vendor/gems/gems/rack-1.0.1/rack.gemspec +54 -0
  769. data/vendor/gems/gems/rack-1.0.1/test/cgi/lighttpd.conf +20 -0
  770. data/vendor/gems/gems/rack-1.0.1/test/cgi/test +9 -0
  771. data/vendor/gems/gems/rack-1.0.1/test/cgi/test.fcgi +8 -0
  772. data/vendor/gems/gems/rack-1.0.1/test/cgi/test.ru +7 -0
  773. data/vendor/gems/gems/rack-1.0.1/test/multipart/binary +0 -0
  774. data/vendor/gems/gems/rack-1.0.1/test/multipart/empty +10 -0
  775. data/vendor/gems/gems/rack-1.0.1/test/multipart/ie +6 -0
  776. data/vendor/gems/gems/rack-1.0.1/test/multipart/nested +10 -0
  777. data/vendor/gems/gems/rack-1.0.1/test/multipart/none +9 -0
  778. data/vendor/gems/gems/rack-1.0.1/test/multipart/semicolon +6 -0
  779. data/vendor/gems/gems/rack-1.0.1/test/multipart/text +10 -0
  780. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_basic.rb +73 -0
  781. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_digest.rb +226 -0
  782. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_auth_openid.rb +84 -0
  783. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_builder.rb +84 -0
  784. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_camping.rb +51 -0
  785. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_cascade.rb +50 -0
  786. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_cgi.rb +89 -0
  787. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_chunked.rb +62 -0
  788. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_commonlogger.rb +32 -0
  789. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_conditionalget.rb +41 -0
  790. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_content_length.rb +43 -0
  791. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_content_type.rb +30 -0
  792. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_deflater.rb +127 -0
  793. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_directory.rb +61 -0
  794. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_fastcgi.rb +89 -0
  795. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_file.rb +75 -0
  796. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_handler.rb +43 -0
  797. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_head.rb +30 -0
  798. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lint.rb +521 -0
  799. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lobster.rb +45 -0
  800. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_lock.rb +38 -0
  801. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_methodoverride.rb +60 -0
  802. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_mock.rb +157 -0
  803. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_mongrel.rb +189 -0
  804. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_recursive.rb +77 -0
  805. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_request.rb +504 -0
  806. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_response.rb +218 -0
  807. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_rewindable_input.rb +118 -0
  808. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_cookie.rb +82 -0
  809. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_memcache.rb +240 -0
  810. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_session_pool.rb +172 -0
  811. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_showexceptions.rb +21 -0
  812. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_showstatus.rb +72 -0
  813. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_static.rb +37 -0
  814. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_thin.rb +91 -0
  815. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_urlmap.rb +185 -0
  816. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_utils.rb +387 -0
  817. data/vendor/gems/gems/rack-1.0.1/test/spec_rack_webrick.rb +130 -0
  818. data/vendor/gems/gems/rack-1.0.1/test/testrequest.rb +57 -0
  819. data/vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  820. data/vendor/gems/gems/rack-1.0.1/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  821. data/vendor/gems/gems/rackjour-0.1.5/Gemfile +7 -0
  822. data/vendor/gems/gems/rackjour-0.1.5/Rakefile +21 -0
  823. data/vendor/gems/gems/rackjour-0.1.5/bin/worker +20 -0
  824. data/vendor/gems/gems/rackjour-0.1.5/lib/rackjour.rb +16 -0
  825. data/vendor/gems/gems/rackjour-0.1.5/lib/rackjour/master.rb +109 -0
  826. data/vendor/gems/gems/rackjour-0.1.5/lib/rackjour/server.rb +46 -0
  827. data/vendor/gems/gems/rackjour-0.1.5/lib/rackjour/worker.rb +71 -0
  828. data/vendor/gems/gems/rackjour-0.1.5/rackjour.gemspec +28 -0
  829. data/vendor/gems/gems/rackjour-0.1.5/spec/rackjour_worker_spec.rb +34 -0
  830. data/vendor/gems/gems/rackjour-0.1.5/spec/spec_helper.rb +4 -0
  831. data/vendor/gems/gems/rspec-1.2.9/History.rdoc +1496 -0
  832. data/vendor/gems/gems/rspec-1.2.9/License.txt +22 -0
  833. data/vendor/gems/gems/rspec-1.2.9/Manifest.txt +377 -0
  834. data/vendor/gems/gems/rspec-1.2.9/README.rdoc +55 -0
  835. data/vendor/gems/gems/rspec-1.2.9/Rakefile +145 -0
  836. data/vendor/gems/gems/rspec-1.2.9/Ruby1.9.rdoc +31 -0
  837. data/vendor/gems/gems/rspec-1.2.9/TODO.txt +17 -0
  838. data/vendor/gems/gems/rspec-1.2.9/Upgrade.rdoc +199 -0
  839. data/vendor/gems/gems/rspec-1.2.9/bin/autospec +4 -0
  840. data/vendor/gems/gems/rspec-1.2.9/bin/spec +5 -0
  841. data/vendor/gems/gems/rspec-1.2.9/cucumber.yml +5 -0
  842. data/vendor/gems/gems/rspec-1.2.9/examples/failing/README.txt +11 -0
  843. data/vendor/gems/gems/rspec-1.2.9/examples/failing/diffing_spec.rb +36 -0
  844. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failing_implicit_docstrings_example.rb +17 -0
  845. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_after.rb +10 -0
  846. data/vendor/gems/gems/rspec-1.2.9/examples/failing/failure_in_before.rb +10 -0
  847. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_example.rb +38 -0
  848. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_flexmock.rb +26 -0
  849. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_mocha.rb +25 -0
  850. data/vendor/gems/gems/rspec-1.2.9/examples/failing/mocking_with_rr.rb +27 -0
  851. data/vendor/gems/gems/rspec-1.2.9/examples/failing/partial_mock_example.rb +18 -0
  852. data/vendor/gems/gems/rspec-1.2.9/examples/failing/pending_example.rb +7 -0
  853. data/vendor/gems/gems/rspec-1.2.9/examples/failing/predicate_example.rb +32 -0
  854. data/vendor/gems/gems/rspec-1.2.9/examples/failing/raising_example.rb +47 -0
  855. data/vendor/gems/gems/rspec-1.2.9/examples/failing/syntax_error_example.rb +7 -0
  856. data/vendor/gems/gems/rspec-1.2.9/examples/failing/team_spec.rb +41 -0
  857. data/vendor/gems/gems/rspec-1.2.9/examples/failing/timeout_behaviour.rb +5 -0
  858. data/vendor/gems/gems/rspec-1.2.9/examples/passing/custom_formatter.rb +11 -0
  859. data/vendor/gems/gems/rspec-1.2.9/examples/passing/custom_matchers.rb +54 -0
  860. data/vendor/gems/gems/rspec-1.2.9/examples/passing/dynamic_spec.rb +7 -0
  861. data/vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor.rb +18 -0
  862. data/vendor/gems/gems/rspec-1.2.9/examples/passing/file_accessor_spec.rb +37 -0
  863. data/vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter.rb +17 -0
  864. data/vendor/gems/gems/rspec-1.2.9/examples/passing/filtered_formatter_example.rb +31 -0
  865. data/vendor/gems/gems/rspec-1.2.9/examples/passing/greeter_spec.rb +30 -0
  866. data/vendor/gems/gems/rspec-1.2.9/examples/passing/helper_method_example.rb +12 -0
  867. data/vendor/gems/gems/rspec-1.2.9/examples/passing/implicit_docstrings_example.rb +16 -0
  868. data/vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor.rb +8 -0
  869. data/vendor/gems/gems/rspec-1.2.9/examples/passing/io_processor_spec.rb +20 -0
  870. data/vendor/gems/gems/rspec-1.2.9/examples/passing/mocking_example.rb +25 -0
  871. data/vendor/gems/gems/rspec-1.2.9/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  872. data/vendor/gems/gems/rspec-1.2.9/examples/passing/nested_classes_example.rb +35 -0
  873. data/vendor/gems/gems/rspec-1.2.9/examples/passing/options_example.rb +29 -0
  874. data/vendor/gems/gems/rspec-1.2.9/examples/passing/options_formatter.rb +20 -0
  875. data/vendor/gems/gems/rspec-1.2.9/examples/passing/partial_mock_example.rb +27 -0
  876. data/vendor/gems/gems/rspec-1.2.9/examples/passing/pending_example.rb +18 -0
  877. data/vendor/gems/gems/rspec-1.2.9/examples/passing/predicate_example.rb +25 -0
  878. data/vendor/gems/gems/rspec-1.2.9/examples/passing/shared_example_group_example.rb +79 -0
  879. data/vendor/gems/gems/rspec-1.2.9/examples/passing/shared_stack_examples.rb +36 -0
  880. data/vendor/gems/gems/rspec-1.2.9/examples/passing/simple_matcher_example.rb +29 -0
  881. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack.rb +36 -0
  882. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec.rb +63 -0
  883. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stack_spec_with_nested_example_groups.rb +66 -0
  884. data/vendor/gems/gems/rspec-1.2.9/examples/passing/stubbing_example.rb +67 -0
  885. data/vendor/gems/gems/rspec-1.2.9/examples/passing/yielding_example.rb +31 -0
  886. data/vendor/gems/gems/rspec-1.2.9/examples/ruby1.9.compatibility/access_to_constants_spec.rb +85 -0
  887. data/vendor/gems/gems/rspec-1.2.9/features/before_and_after_blocks/before_and_after_blocks.feature +167 -0
  888. data/vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option.feature +56 -0
  889. data/vendor/gems/gems/rspec-1.2.9/features/command_line/line_number_option_with_example_with_no_name.feature +22 -0
  890. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/define_example_attribute.feature +41 -0
  891. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/example_group_with_should_methods.feature +29 -0
  892. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/implicit_docstrings.feature +59 -0
  893. data/vendor/gems/gems/rspec-1.2.9/features/example_groups/nested_groups.feature +32 -0
  894. data/vendor/gems/gems/rspec-1.2.9/features/expectations/customized_message.feature +54 -0
  895. data/vendor/gems/gems/rspec-1.2.9/features/expectations/expect_change.feature +65 -0
  896. data/vendor/gems/gems/rspec-1.2.9/features/expectations/expect_error.feature +44 -0
  897. data/vendor/gems/gems/rspec-1.2.9/features/extensions/custom_example_group.feature +19 -0
  898. data/vendor/gems/gems/rspec-1.2.9/features/formatters/custom_formatter.feature +30 -0
  899. data/vendor/gems/gems/rspec-1.2.9/features/interop/examples_and_tests_together.feature +84 -0
  900. data/vendor/gems/gems/rspec-1.2.9/features/interop/rspec_output.feature +25 -0
  901. data/vendor/gems/gems/rspec-1.2.9/features/interop/test_but_not_test_unit.feature +26 -0
  902. data/vendor/gems/gems/rspec-1.2.9/features/interop/test_case_with_should_methods.feature +46 -0
  903. data/vendor/gems/gems/rspec-1.2.9/features/load_paths/add_lib_to_load_path.feature +20 -0
  904. data/vendor/gems/gems/rspec-1.2.9/features/load_paths/add_spec_to_load_path.feature +20 -0
  905. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_diffable_matcher.feature +26 -0
  906. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher.feature +179 -0
  907. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_outside_rspec.feature +38 -0
  908. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_matcher_with_fluent_interface.feature +27 -0
  909. data/vendor/gems/gems/rspec-1.2.9/features/matchers/define_wrapped_matcher.feature +29 -0
  910. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_flexmock.feature +27 -0
  911. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_mocha.feature +27 -0
  912. data/vendor/gems/gems/rspec-1.2.9/features/mock_framework_integration/use_rr.feature +27 -0
  913. data/vendor/gems/gems/rspec-1.2.9/features/mocks/mix_stubs_and_mocks.feature +22 -0
  914. data/vendor/gems/gems/rspec-1.2.9/features/mocks/stub_implementation.feature +26 -0
  915. data/vendor/gems/gems/rspec-1.2.9/features/pending/pending_examples.feature +81 -0
  916. data/vendor/gems/gems/rspec-1.2.9/features/runner/specify_line_number.feature +32 -0
  917. data/vendor/gems/gems/rspec-1.2.9/features/spec_helper/spec_helper.feature +25 -0
  918. data/vendor/gems/gems/rspec-1.2.9/features/step_definitions/running_rspec_steps.rb +43 -0
  919. data/vendor/gems/gems/rspec-1.2.9/features/subject/explicit_subject.feature +31 -0
  920. data/vendor/gems/gems/rspec-1.2.9/features/subject/implicit_subject.feature +43 -0
  921. data/vendor/gems/gems/rspec-1.2.9/features/support/env.rb +82 -0
  922. data/vendor/gems/gems/rspec-1.2.9/features/support/matchers/smart_match.rb +12 -0
  923. data/vendor/gems/gems/rspec-1.2.9/init.rb +9 -0
  924. data/vendor/gems/gems/rspec-1.2.9/lib/autotest/discover.rb +3 -0
  925. data/vendor/gems/gems/rspec-1.2.9/lib/autotest/rspec.rb +47 -0
  926. data/vendor/gems/gems/rspec-1.2.9/lib/spec.rb +8 -0
  927. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/flexmock.rb +24 -0
  928. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/mocha.rb +25 -0
  929. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rr.rb +22 -0
  930. data/vendor/gems/gems/rspec-1.2.9/lib/spec/adapters/mock_frameworks/rspec.rb +21 -0
  931. data/vendor/gems/gems/rspec-1.2.9/lib/spec/autorun.rb +3 -0
  932. data/vendor/gems/gems/rspec-1.2.9/lib/spec/deprecation.rb +40 -0
  933. data/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl.rb +1 -0
  934. data/vendor/gems/gems/rspec-1.2.9/lib/spec/dsl/main.rb +92 -0
  935. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example.rb +164 -0
  936. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/args_and_options.rb +27 -0
  937. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/before_and_after_hooks.rb +93 -0
  938. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/errors.rb +25 -0
  939. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group.rb +10 -0
  940. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_factory.rb +82 -0
  941. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_hierarchy.rb +53 -0
  942. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_methods.rb +282 -0
  943. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_group_proxy.rb +61 -0
  944. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_matcher.rb +43 -0
  945. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_methods.rb +148 -0
  946. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/example_proxy.rb +41 -0
  947. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/module_reopening_fix.rb +43 -0
  948. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/pending.rb +18 -0
  949. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/predicate_matchers.rb +46 -0
  950. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/shared_example_group.rb +59 -0
  951. data/vendor/gems/gems/rspec-1.2.9/lib/spec/example/subject.rb +108 -0
  952. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations.rb +35 -0
  953. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/errors.rb +12 -0
  954. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions.rb +1 -0
  955. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/extensions/kernel.rb +52 -0
  956. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/fail_with.rb +45 -0
  957. data/vendor/gems/gems/rspec-1.2.9/lib/spec/expectations/handler.rb +50 -0
  958. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test.rb +44 -0
  959. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/autorunner.rb +6 -0
  960. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testcase.rb +56 -0
  961. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testresult.rb +6 -0
  962. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  963. data/vendor/gems/gems/rspec-1.2.9/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  964. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers.rb +195 -0
  965. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be.rb +210 -0
  966. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_close.rb +32 -0
  967. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_instance_of.rb +26 -0
  968. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/be_kind_of.rb +26 -0
  969. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/change.rb +151 -0
  970. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/compatibility.rb +14 -0
  971. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/dsl.rb +20 -0
  972. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/eql.rb +42 -0
  973. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/equal.rb +53 -0
  974. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/errors.rb +5 -0
  975. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/exist.rb +16 -0
  976. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/extensions/instance_exec.rb +31 -0
  977. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/generated_descriptions.rb +36 -0
  978. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/has.rb +35 -0
  979. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/have.rb +151 -0
  980. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/include.rb +44 -0
  981. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match.rb +21 -0
  982. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/match_array.rb +71 -0
  983. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb +87 -0
  984. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/method_missing.rb +9 -0
  985. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/operator_matcher.rb +78 -0
  986. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/pretty.rb +37 -0
  987. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/raise_error.rb +129 -0
  988. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/respond_to.rb +71 -0
  989. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/satisfy.rb +47 -0
  990. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/simple_matcher.rb +133 -0
  991. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/throw_symbol.rb +104 -0
  992. data/vendor/gems/gems/rspec-1.2.9/lib/spec/matchers/wrap_expectation.rb +55 -0
  993. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks.rb +200 -0
  994. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_expectation.rb +51 -0
  995. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/argument_matchers.rb +237 -0
  996. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/error_generator.rb +92 -0
  997. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/errors.rb +10 -0
  998. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/example_methods.rb +69 -0
  999. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions.rb +1 -0
  1000. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/extensions/object.rb +3 -0
  1001. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/framework.rb +15 -0
  1002. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/message_expectation.rb +329 -0
  1003. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/methods.rb +89 -0
  1004. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/mock.rb +71 -0
  1005. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/order_group.rb +29 -0
  1006. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/proxy.rb +245 -0
  1007. data/vendor/gems/gems/rspec-1.2.9/lib/spec/mocks/space.rb +28 -0
  1008. data/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/spectask.rb +230 -0
  1009. data/vendor/gems/gems/rspec-1.2.9/lib/spec/rake/verify_rcov.rb +52 -0
  1010. data/vendor/gems/gems/rspec-1.2.9/lib/spec/ruby.rb +9 -0
  1011. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner.rb +66 -0
  1012. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/backtrace_tweaker.rb +77 -0
  1013. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  1014. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/command_line.rb +15 -0
  1015. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/configuration.rb +194 -0
  1016. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/default.rb +93 -0
  1017. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/differs/load-diff-lcs.rb +12 -0
  1018. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/drb_command_line.rb +26 -0
  1019. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/example_group_runner.rb +59 -0
  1020. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/extensions/kernel.rb +9 -0
  1021. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_formatter.rb +139 -0
  1022. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/base_text_formatter.rb +142 -0
  1023. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_example_groups_formatter.rb +25 -0
  1024. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  1025. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/html_formatter.rb +338 -0
  1026. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/nested_text_formatter.rb +47 -0
  1027. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/no_op_method_missing.rb +21 -0
  1028. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/profile_formatter.rb +47 -0
  1029. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/progress_bar_formatter.rb +33 -0
  1030. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/silent_formatter.rb +10 -0
  1031. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  1032. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/specdoc_formatter.rb +33 -0
  1033. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  1034. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner.rb +72 -0
  1035. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  1036. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/line_number_query.rb +78 -0
  1037. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/option_parser.rb +223 -0
  1038. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/options.rb +400 -0
  1039. data/vendor/gems/gems/rspec-1.2.9/lib/spec/runner/reporter.rb +171 -0
  1040. data/vendor/gems/gems/rspec-1.2.9/lib/spec/stubs/cucumber.rb +5 -0
  1041. data/vendor/gems/gems/rspec-1.2.9/lib/spec/test/unit.rb +10 -0
  1042. data/vendor/gems/gems/rspec-1.2.9/lib/spec/version.rb +14 -0
  1043. data/vendor/gems/gems/rspec-1.2.9/resources/helpers/cmdline.rb +8 -0
  1044. data/vendor/gems/gems/rspec-1.2.9/resources/rake/examples.rake +7 -0
  1045. data/vendor/gems/gems/rspec-1.2.9/resources/rake/examples_with_rcov.rake +9 -0
  1046. data/vendor/gems/gems/rspec-1.2.9/resources/rake/failing_examples_with_html.rake +9 -0
  1047. data/vendor/gems/gems/rspec-1.2.9/resources/rake/verify_rcov.rake +7 -0
  1048. data/vendor/gems/gems/rspec-1.2.9/spec/README.jruby +15 -0
  1049. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_helper.rb +8 -0
  1050. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/autotest_matchers.rb +38 -0
  1051. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/discover_spec.rb +8 -0
  1052. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/failed_results_re_spec.rb +31 -0
  1053. data/vendor/gems/gems/rspec-1.2.9/spec/autotest/rspec_spec.rb +111 -0
  1054. data/vendor/gems/gems/rspec-1.2.9/spec/ruby_forker.rb +13 -0
  1055. data/vendor/gems/gems/rspec-1.2.9/spec/spec.opts +6 -0
  1056. data/vendor/gems/gems/rspec-1.2.9/spec/spec/dsl/main_spec.rb +95 -0
  1057. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_class_definition_spec.rb +51 -0
  1058. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_factory_spec.rb +180 -0
  1059. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_methods_spec.rb +758 -0
  1060. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_proxy_spec.rb +107 -0
  1061. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_group_spec.rb +643 -0
  1062. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_matcher_spec.rb +86 -0
  1063. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_methods_spec.rb +162 -0
  1064. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/example_proxy_spec.rb +57 -0
  1065. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/helper_method_spec.rb +24 -0
  1066. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/nested_example_group_spec.rb +71 -0
  1067. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/pending_module_spec.rb +58 -0
  1068. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/predicate_matcher_spec.rb +41 -0
  1069. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/shared_example_group_spec.rb +257 -0
  1070. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  1071. data/vendor/gems/gems/rspec-1.2.9/spec/spec/example/subject_spec.rb +103 -0
  1072. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/differs/default_spec.rb +194 -0
  1073. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/extensions/kernel_spec.rb +45 -0
  1074. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/fail_with_spec.rb +96 -0
  1075. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/handler_spec.rb +206 -0
  1076. data/vendor/gems/gems/rspec-1.2.9/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  1077. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  1078. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  1079. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  1080. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  1081. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  1082. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  1083. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  1084. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  1085. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  1086. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  1087. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  1088. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testcase_spec.rb +50 -0
  1089. data/vendor/gems/gems/rspec-1.2.9/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  1090. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_close_spec.rb +50 -0
  1091. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_instance_of_spec.rb +36 -0
  1092. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_kind_of_spec.rb +33 -0
  1093. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/be_spec.rb +311 -0
  1094. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/change_spec.rb +349 -0
  1095. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/compatibility_spec.rb +28 -0
  1096. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/description_generation_spec.rb +160 -0
  1097. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/dsl_spec.rb +34 -0
  1098. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/eql_spec.rb +33 -0
  1099. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/equal_spec.rb +57 -0
  1100. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/exist_spec.rb +65 -0
  1101. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/has_spec.rb +81 -0
  1102. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/have_spec.rb +396 -0
  1103. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/include_spec.rb +88 -0
  1104. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_array_spec.rb +108 -0
  1105. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/match_spec.rb +57 -0
  1106. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_methods_spec.rb +63 -0
  1107. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matcher_spec.rb +228 -0
  1108. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/matchers_spec.rb +2 -0
  1109. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  1110. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/raise_error_spec.rb +333 -0
  1111. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/respond_to_spec.rb +116 -0
  1112. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/satisfy_spec.rb +36 -0
  1113. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  1114. data/vendor/gems/gems/rspec-1.2.9/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  1115. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  1116. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  1117. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  1118. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_least_spec.rb +97 -0
  1119. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/at_most_spec.rb +93 -0
  1120. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  1121. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_10263_spec.rb +27 -0
  1122. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  1123. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  1124. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_496_spec.rb +19 -0
  1125. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  1126. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  1127. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  1128. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  1129. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  1130. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/bug_report_830_spec.rb +21 -0
  1131. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/double_spec.rb +12 -0
  1132. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  1133. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  1134. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  1135. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_ordering_spec.rb +94 -0
  1136. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_space_spec.rb +54 -0
  1137. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/mock_spec.rb +594 -0
  1138. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  1139. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  1140. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  1141. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/once_counts_spec.rb +53 -0
  1142. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/options_hash_spec.rb +35 -0
  1143. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_spec.rb +164 -0
  1144. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  1145. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  1146. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/precise_counts_spec.rb +52 -0
  1147. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/record_messages_spec.rb +26 -0
  1148. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_chain_spec.rb +42 -0
  1149. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_implementation_spec.rb +31 -0
  1150. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stub_spec.rb +203 -0
  1151. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/stubbed_message_expectations_spec.rb +26 -0
  1152. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/twice_counts_spec.rb +67 -0
  1153. data/vendor/gems/gems/rspec-1.2.9/spec/spec/mocks/unstub_spec.rb +127 -0
  1154. data/vendor/gems/gems/rspec-1.2.9/spec/spec/package/bin_spec_spec.rb +16 -0
  1155. data/vendor/gems/gems/rspec-1.2.9/spec/spec/rake/spectask_spec.rb +150 -0
  1156. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  1157. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/command_line_spec.rb +141 -0
  1158. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/configuration_spec.rb +320 -0
  1159. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/drb_command_line_spec.rb +107 -0
  1160. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/empty_file.txt +0 -0
  1161. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/example_group_runner_spec.rb +26 -0
  1162. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/examples.txt +2 -0
  1163. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/failed.txt +3 -0
  1164. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_formatter_spec.rb +30 -0
  1165. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/base_text_formatter_spec.rb +113 -0
  1166. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  1167. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  1168. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +377 -0
  1169. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.6.html +377 -0
  1170. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.8.7.html +377 -0
  1171. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatted-1.9.1.html +377 -0
  1172. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/html_formatter_spec.rb +118 -0
  1173. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/nested_text_formatter_spec.rb +305 -0
  1174. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/profile_formatter_spec.rb +70 -0
  1175. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +149 -0
  1176. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  1177. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  1178. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6-jruby.html +371 -0
  1179. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +371 -0
  1180. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +371 -0
  1181. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +371 -0
  1182. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/formatter/text_mate_formatter_spec.rb +106 -0
  1183. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckle_runner_spec.rb +78 -0
  1184. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/heckler_spec.rb +20 -0
  1185. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query/line_number_query_fixture.rb +70 -0
  1186. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/line_number_query_spec.rb +129 -0
  1187. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +51 -0
  1188. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/option_parser_spec.rb +545 -0
  1189. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/options_spec.rb +547 -0
  1190. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture.rb +7 -0
  1191. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_fixture_runner.rb +7 -0
  1192. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/output_one_time_spec.rb +15 -0
  1193. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +105 -0
  1194. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/reporter_spec.rb +244 -0
  1195. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_bar.rb +0 -0
  1196. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_foo.rb +0 -0
  1197. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/a_spec.rb +1 -0
  1198. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  1199. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/resources/utf8_encoded.rb +8 -0
  1200. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec.opts +2 -0
  1201. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_drb.opts +2 -0
  1202. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner/spec_spaced.opts +2 -0
  1203. data/vendor/gems/gems/rspec-1.2.9/spec/spec/runner_spec.rb +13 -0
  1204. data/vendor/gems/gems/rspec-1.2.9/spec/spec_helper.rb +112 -0
  1205. data/vendor/gems/gems/rspec-1.2.9/spec/support/macros.rb +29 -0
  1206. data/vendor/gems/gems/rspec-1.2.9/spec/support/spec_classes.rb +133 -0
  1207. data/vendor/gems/gems/ruby-debug-0.10.3/AUTHORS +7 -0
  1208. data/vendor/gems/gems/ruby-debug-0.10.3/CHANGES +334 -0
  1209. data/vendor/gems/gems/ruby-debug-0.10.3/ChangeLog +5569 -0
  1210. data/vendor/gems/gems/ruby-debug-0.10.3/LICENSE +23 -0
  1211. data/vendor/gems/gems/ruby-debug-0.10.3/README +114 -0
  1212. data/vendor/gems/gems/ruby-debug-0.10.3/Rakefile +255 -0
  1213. data/vendor/gems/gems/ruby-debug-0.10.3/bin/rdebug +415 -0
  1214. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug.rb +176 -0
  1215. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/command.rb +228 -0
  1216. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/breakpoints.rb +153 -0
  1217. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/catchpoint.rb +53 -0
  1218. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/condition.rb +49 -0
  1219. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/continue.RB.save +48 -0
  1220. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/continue.rb +38 -0
  1221. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/control.rb +107 -0
  1222. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/disassemble.RB +38 -0
  1223. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/display.rb +120 -0
  1224. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/edit.rb +48 -0
  1225. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/enable.rb +202 -0
  1226. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/eval.rb +176 -0
  1227. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/finish.rb +42 -0
  1228. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/frame.rb +301 -0
  1229. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/help.rb +56 -0
  1230. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/info.rb +469 -0
  1231. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/irb.rb +90 -0
  1232. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/list.rb +94 -0
  1233. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/method.rb +84 -0
  1234. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/quit.rb +38 -0
  1235. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/reload.rb +40 -0
  1236. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/save.rb +90 -0
  1237. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/set.rb +237 -0
  1238. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/show.rb +253 -0
  1239. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/source.rb +36 -0
  1240. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/stepping.rb +81 -0
  1241. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/threads.rb +189 -0
  1242. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/tmate.rb +36 -0
  1243. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/trace.rb +57 -0
  1244. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/commands/variables.rb +199 -0
  1245. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/debugger.rb +5 -0
  1246. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/helper.rb +69 -0
  1247. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/interface.rb +232 -0
  1248. data/vendor/gems/gems/ruby-debug-0.10.3/cli/ruby-debug/processor.rb +472 -0
  1249. data/vendor/gems/gems/ruby-debug-0.10.3/doc/rdebug.1 +241 -0
  1250. data/vendor/gems/gems/ruby-debug-0.10.3/rdbg.rb +33 -0
  1251. data/vendor/gems/gems/ruby-debug-0.10.3/test/base/base.rb +74 -0
  1252. data/vendor/gems/gems/ruby-debug-0.10.3/test/base/binding.rb +31 -0
  1253. data/vendor/gems/gems/ruby-debug-0.10.3/test/base/catchpoint.rb +26 -0
  1254. data/vendor/gems/gems/ruby-debug-0.10.3/test/base/load.rb +40 -0
  1255. data/vendor/gems/gems/ruby-debug-0.10.3/test/bp_loop_issue.rb +3 -0
  1256. data/vendor/gems/gems/ruby-debug-0.10.3/test/classes.rb +11 -0
  1257. data/vendor/gems/gems/ruby-debug-0.10.3/test/cli/commands/catchpoint_test.rb +36 -0
  1258. data/vendor/gems/gems/ruby-debug-0.10.3/test/cli/commands/unit/regexp.rb +31 -0
  1259. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/annotate.cmd +29 -0
  1260. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/annotate.right +139 -0
  1261. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/break_bad.cmd +18 -0
  1262. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/break_bad.right +28 -0
  1263. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/break_loop_bug.cmd +5 -0
  1264. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/break_loop_bug.right +15 -0
  1265. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/breakpoints.cmd +38 -0
  1266. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/breakpoints.right +98 -0
  1267. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/catch.cmd +17 -0
  1268. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/catch.right +37 -0
  1269. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/condition.cmd +28 -0
  1270. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/condition.right +65 -0
  1271. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/ctrl.cmd +23 -0
  1272. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/ctrl.right +69 -0
  1273. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/display.cmd +24 -0
  1274. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/display.right +44 -0
  1275. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/dollar-0.right +2 -0
  1276. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/dollar-0a.right +2 -0
  1277. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/dollar-0b.right +2 -0
  1278. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/edit.cmd +12 -0
  1279. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/edit.right +19 -0
  1280. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/emacs_basic.cmd +43 -0
  1281. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/emacs_basic.right +106 -0
  1282. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/enable.cmd +20 -0
  1283. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/enable.right +36 -0
  1284. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/finish.cmd +16 -0
  1285. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/finish.right +31 -0
  1286. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/frame.cmd +26 -0
  1287. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/frame.right +55 -0
  1288. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/help.cmd +20 -0
  1289. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/help.right +21 -0
  1290. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/history.right +7 -0
  1291. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-thread.cmd +13 -0
  1292. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-thread.right +37 -0
  1293. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-var-bug2.cmd +5 -0
  1294. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-var-bug2.right +10 -0
  1295. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-var.cmd +23 -0
  1296. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info-var.right +52 -0
  1297. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info.cmd +21 -0
  1298. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/info.right +65 -0
  1299. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/linetrace.cmd +6 -0
  1300. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/linetrace.right +32 -0
  1301. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/linetracep.cmd +7 -0
  1302. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/linetracep.right +25 -0
  1303. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/list.cmd +19 -0
  1304. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/list.right +127 -0
  1305. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/method.cmd +10 -0
  1306. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/method.right +21 -0
  1307. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/methodsig.cmd +10 -0
  1308. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/methodsig.right +20 -0
  1309. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/noquit.right +1 -0
  1310. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/output.cmd +6 -0
  1311. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/output.right +31 -0
  1312. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/pm-bug.cmd +7 -0
  1313. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/pm-bug.right +12 -0
  1314. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/post-mortem-next.cmd +8 -0
  1315. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/post-mortem-next.right +14 -0
  1316. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/post-mortem-osx.right +31 -0
  1317. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/post-mortem.cmd +13 -0
  1318. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/post-mortem.right +31 -0
  1319. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/quit.cmd +6 -0
  1320. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/quit.right +0 -0
  1321. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/raise.cmd +11 -0
  1322. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/raise.right +26 -0
  1323. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/save.cmd +33 -0
  1324. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/save.right +59 -0
  1325. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/setshow.cmd +56 -0
  1326. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/setshow.right +97 -0
  1327. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/source.cmd +5 -0
  1328. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/source.right +15 -0
  1329. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/stepping.cmd +21 -0
  1330. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/stepping.right +50 -0
  1331. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/test-init-cygwin.right +7 -0
  1332. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/test-init-osx.right +4 -0
  1333. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/test-init.right +5 -0
  1334. data/vendor/gems/gems/ruby-debug-0.10.3/test/data/trace.right +23 -0
  1335. data/vendor/gems/gems/ruby-debug-0.10.3/test/dollar-0.rb +5 -0
  1336. data/vendor/gems/gems/ruby-debug-0.10.3/test/except-bug2.rb +7 -0
  1337. data/vendor/gems/gems/ruby-debug-0.10.3/test/gcd-dbg-nox.rb +31 -0
  1338. data/vendor/gems/gems/ruby-debug-0.10.3/test/gcd-dbg.rb +30 -0
  1339. data/vendor/gems/gems/ruby-debug-0.10.3/test/gcd.rb +18 -0
  1340. data/vendor/gems/gems/ruby-debug-0.10.3/test/helper.rb +143 -0
  1341. data/vendor/gems/gems/ruby-debug-0.10.3/test/info-var-bug.rb +47 -0
  1342. data/vendor/gems/gems/ruby-debug-0.10.3/test/info-var-bug2.rb +2 -0
  1343. data/vendor/gems/gems/ruby-debug-0.10.3/test/null.rb +1 -0
  1344. data/vendor/gems/gems/ruby-debug-0.10.3/test/output.rb +2 -0
  1345. data/vendor/gems/gems/ruby-debug-0.10.3/test/pm-base.rb +22 -0
  1346. data/vendor/gems/gems/ruby-debug-0.10.3/test/pm-bug.rb +3 -0
  1347. data/vendor/gems/gems/ruby-debug-0.10.3/test/pm.rb +11 -0
  1348. data/vendor/gems/gems/ruby-debug-0.10.3/test/raise.rb +3 -0
  1349. data/vendor/gems/gems/ruby-debug-0.10.3/test/scope-test.rb +8 -0
  1350. data/vendor/gems/gems/ruby-debug-0.10.3/test/tdebug.rb +252 -0
  1351. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-annotate.rb +25 -0
  1352. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-break-bad.rb +36 -0
  1353. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-breakpoints.rb +25 -0
  1354. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-catch.rb +25 -0
  1355. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-condition.rb +25 -0
  1356. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-ctrl.rb +54 -0
  1357. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-display.rb +26 -0
  1358. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-dollar-0.rb +45 -0
  1359. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-edit.rb +26 -0
  1360. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-emacs-basic.rb +26 -0
  1361. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-enable.rb +25 -0
  1362. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-finish.rb +34 -0
  1363. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-frame.rb +34 -0
  1364. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-help.rb +60 -0
  1365. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-hist.rb +68 -0
  1366. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-info-thread.rb +32 -0
  1367. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-info-var.rb +47 -0
  1368. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-info.rb +26 -0
  1369. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-init.rb +43 -0
  1370. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-list.rb +25 -0
  1371. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-method.rb +34 -0
  1372. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-output.rb +26 -0
  1373. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-pm.rb +59 -0
  1374. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-quit.rb +30 -0
  1375. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-raise.rb +25 -0
  1376. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-save.rb +25 -0
  1377. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-setshow.rb +25 -0
  1378. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-source.rb +25 -0
  1379. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-stepping.rb +26 -0
  1380. data/vendor/gems/gems/ruby-debug-0.10.3/test/test-trace.rb +63 -0
  1381. data/vendor/gems/gems/ruby-debug-0.10.3/test/thread1.rb +26 -0
  1382. data/vendor/gems/gems/ruby-debug-0.10.3/test/trunc-call.rb +31 -0
  1383. data/vendor/gems/gems/ruby-debug-0.10.3/test/tvar.rb +3 -0
  1384. data/vendor/gems/gems/ruby-debug-base-0.10.3/AUTHORS +7 -0
  1385. data/vendor/gems/gems/ruby-debug-base-0.10.3/CHANGES +334 -0
  1386. data/vendor/gems/gems/ruby-debug-base-0.10.3/LICENSE +23 -0
  1387. data/vendor/gems/gems/ruby-debug-base-0.10.3/README +114 -0
  1388. data/vendor/gems/gems/ruby-debug-base-0.10.3/Rakefile +255 -0
  1389. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/Makefile +157 -0
  1390. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/breakpoint.c +579 -0
  1391. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/breakpoint.o +0 -0
  1392. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/extconf.rb +20 -0
  1393. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/ruby_debug.bundle +0 -0
  1394. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/ruby_debug.c +2322 -0
  1395. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/ruby_debug.h +123 -0
  1396. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/ruby_debug.o +0 -0
  1397. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/win32/Makefile +149 -0
  1398. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/win32/breakpoint.o +0 -0
  1399. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/win32/ruby_debug.o +0 -0
  1400. data/vendor/gems/gems/ruby-debug-base-0.10.3/ext/win32/ruby_debug.so +0 -0
  1401. data/vendor/gems/gems/ruby-debug-base-0.10.3/lib/ChangeLog +1046 -0
  1402. data/vendor/gems/gems/ruby-debug-base-0.10.3/lib/ruby-debug-base.rb +298 -0
  1403. data/vendor/gems/gems/ruby-debug-base-0.10.3/lib/ruby_debug.bundle +0 -0
  1404. data/vendor/gems/gems/ruby-debug-base-0.10.3/test/base/base.rb +74 -0
  1405. data/vendor/gems/gems/ruby-debug-base-0.10.3/test/base/binding.rb +31 -0
  1406. data/vendor/gems/gems/ruby-debug-base-0.10.3/test/base/catchpoint.rb +26 -0
  1407. data/vendor/gems/gems/term-ansicolor-1.0.4/CHANGES +22 -0
  1408. data/vendor/gems/gems/term-ansicolor-1.0.4/COPYING +340 -0
  1409. data/vendor/gems/gems/term-ansicolor-1.0.4/README +31 -0
  1410. data/vendor/gems/gems/term-ansicolor-1.0.4/Rakefile +86 -0
  1411. data/vendor/gems/gems/term-ansicolor-1.0.4/VERSION +1 -0
  1412. data/vendor/gems/gems/term-ansicolor-1.0.4/doc-main.txt +119 -0
  1413. data/vendor/gems/gems/term-ansicolor-1.0.4/examples/cdiff.rb +19 -0
  1414. data/vendor/gems/gems/term-ansicolor-1.0.4/examples/example.rb +89 -0
  1415. data/vendor/gems/gems/term-ansicolor-1.0.4/install.rb +15 -0
  1416. data/vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor.rb +102 -0
  1417. data/vendor/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor/version.rb +10 -0
  1418. data/vendor/gems/gems/term-ansicolor-1.0.4/term-ansicolor.gemspec +20 -0
  1419. data/vendor/gems/gems/treetop-1.4.2/LICENSE +19 -0
  1420. data/vendor/gems/gems/treetop-1.4.2/README.md +164 -0
  1421. data/vendor/gems/gems/treetop-1.4.2/Rakefile +19 -0
  1422. data/vendor/gems/gems/treetop-1.4.2/bin/tt +112 -0
  1423. data/vendor/gems/gems/treetop-1.4.2/doc/contributing_and_planned_features.markdown +103 -0
  1424. data/vendor/gems/gems/treetop-1.4.2/doc/grammar_composition.markdown +65 -0
  1425. data/vendor/gems/gems/treetop-1.4.2/doc/index.markdown +90 -0
  1426. data/vendor/gems/gems/treetop-1.4.2/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  1427. data/vendor/gems/gems/treetop-1.4.2/doc/semantic_interpretation.markdown +189 -0
  1428. data/vendor/gems/gems/treetop-1.4.2/doc/site.rb +112 -0
  1429. data/vendor/gems/gems/treetop-1.4.2/doc/sitegen.rb +65 -0
  1430. data/vendor/gems/gems/treetop-1.4.2/doc/syntactic_recognition.markdown +100 -0
  1431. data/vendor/gems/gems/treetop-1.4.2/doc/using_in_ruby.markdown +21 -0
  1432. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.rb +551 -0
  1433. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic.treetop +97 -0
  1434. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  1435. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/arithmetic_test.rb +54 -0
  1436. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus +0 -0
  1437. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.rb +718 -0
  1438. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  1439. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  1440. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  1441. data/vendor/gems/gems/treetop-1.4.2/examples/lambda_calculus/test_helper.rb +18 -0
  1442. data/vendor/gems/gems/treetop-1.4.2/lib/treetop.rb +16 -0
  1443. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  1444. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler.rb +6 -0
  1445. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/grammar_compiler.rb +44 -0
  1446. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/lexical_address_space.rb +17 -0
  1447. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.rb +3258 -0
  1448. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/metagrammar.treetop +436 -0
  1449. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes.rb +20 -0
  1450. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/anything_symbol.rb +18 -0
  1451. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  1452. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/character_class.rb +28 -0
  1453. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/choice.rb +31 -0
  1454. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  1455. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  1456. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  1457. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  1458. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/optional.rb +19 -0
  1459. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  1460. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_expression.rb +146 -0
  1461. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
  1462. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  1463. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/predicate_block.rb +16 -0
  1464. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  1465. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/sequence.rb +71 -0
  1466. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  1467. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  1468. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  1469. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/compiler/ruby_builder.rb +113 -0
  1470. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions.rb +2 -0
  1471. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/ruby_extensions/string.rb +42 -0
  1472. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime.rb +5 -0
  1473. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/compiled_parser.rb +109 -0
  1474. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list.rb +4 -0
  1475. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  1476. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  1477. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  1478. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/syntax_node.rb +114 -0
  1479. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  1480. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_parse_failure_debug.rb +21 -0
  1481. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  1482. data/vendor/gems/gems/treetop-1.4.2/lib/treetop/version.rb +9 -0
  1483. data/vendor/gems/specifications/builder-2.1.2.gemspec +33 -0
  1484. data/vendor/gems/specifications/columnize-0.3.1.gemspec +51 -0
  1485. data/vendor/gems/specifications/cucumber-0.4.4.gemspec +72 -0
  1486. data/vendor/gems/specifications/diff-lcs-1.1.2.gemspec +34 -0
  1487. data/vendor/gems/specifications/dnssd-1.3.1.gemspec +47 -0
  1488. data/vendor/gems/specifications/linecache-0.43.gemspec +33 -0
  1489. data/vendor/gems/specifications/polyglot-0.2.9.gemspec +34 -0
  1490. data/vendor/gems/specifications/rack-1.0.1.gemspec +53 -0
  1491. data/vendor/gems/specifications/rackjour-0.1.5.gemspec +29 -0
  1492. data/vendor/gems/specifications/rspec-1.2.9.gemspec +58 -0
  1493. data/vendor/gems/specifications/ruby-debug-0.10.3.gemspec +39 -0
  1494. data/vendor/gems/specifications/ruby-debug-base-0.10.3.gemspec +35 -0
  1495. data/vendor/gems/specifications/term-ansicolor-1.0.4.gemspec +30 -0
  1496. data/vendor/gems/specifications/treetop-1.4.2.gemspec +32 -0
  1497. metadata +1549 -0
@@ -0,0 +1,132 @@
1
+ grammar LambdaCalculus
2
+ include Arithmetic
3
+
4
+ rule program
5
+ expression more_expressions:(';' space expression)* {
6
+ def eval(env={})
7
+ env = env.clone
8
+ last_eval = nil
9
+ expressions.each do |exp|
10
+ last_eval = exp.eval(env)
11
+ end
12
+ last_eval
13
+ end
14
+
15
+ def expressions
16
+ [expression] + more_expressions.elements.map {|elt| elt.expression}
17
+ end
18
+ }
19
+ end
20
+
21
+ rule expression
22
+ definition / conditional / application / function / super
23
+ end
24
+
25
+ rule definition
26
+ 'def' space variable space expression {
27
+ def eval(env)
28
+ env[variable.name] = expression.eval(env)
29
+ end
30
+ }
31
+ end
32
+
33
+ rule conditional
34
+ 'if' space '(' space condition:expression space ')' space
35
+ true_case:expression space 'else' space false_case:expression {
36
+ def eval(env)
37
+ if condition.eval(env)
38
+ true_case.eval(env)
39
+ else
40
+ false_case.eval(env)
41
+ end
42
+ end
43
+ }
44
+ end
45
+
46
+ rule primary
47
+ application / super
48
+ end
49
+
50
+ rule application
51
+ operator space expression <Application> {
52
+ def eval(env={})
53
+ left_associative_apply(operator.eval(env), env)
54
+ end
55
+
56
+ def left_associative_apply(operator, env)
57
+ if expression.instance_of?(Application)
58
+ expression.left_associative_apply(operator.apply(expression.operator.eval(env)), env)
59
+ else
60
+ operator.apply(expression.eval(env))
61
+ end
62
+ end
63
+
64
+ def to_s(env={})
65
+ operator.to_s(env) + ' ' + expression.to_s(env)
66
+ end
67
+ }
68
+ end
69
+
70
+ rule operator
71
+ function / variable
72
+ end
73
+
74
+ rule non_application
75
+ function / variable
76
+ end
77
+
78
+ rule function
79
+ '\\' param:variable '(' body:expression ')' {
80
+ class Closure
81
+ attr_reader :env, :function
82
+
83
+ def initialize(function, env)
84
+ @function = function
85
+ @env = env
86
+ end
87
+
88
+ def apply(arg)
89
+ function.body.eval(function.param.bind(arg, env))
90
+ end
91
+
92
+ def to_s(other_env={})
93
+ "\\#{function.param.to_s}(#{function.body.to_s(other_env.merge(env))})"
94
+ end
95
+ end
96
+
97
+ def eval(env={})
98
+ Closure.new(self, env)
99
+ end
100
+
101
+ def to_s(env={})
102
+ eval(env).to_s
103
+ end
104
+ }
105
+ end
106
+
107
+ rule variable
108
+ !keyword (
109
+ super {
110
+ def bind(value, env)
111
+ env.merge(name => value)
112
+ end
113
+
114
+ def to_s(env={})
115
+ env.has_key?(name) ? env[name].to_s : name
116
+ end
117
+ }
118
+ )
119
+ end
120
+
121
+ rule keyword
122
+ ('if' / 'else') !non_space_char
123
+ end
124
+
125
+ rule non_space_char
126
+ ![ \n] .
127
+ end
128
+
129
+ rule space
130
+ [ \n]*
131
+ end
132
+ end
@@ -0,0 +1,5 @@
1
+ module LambdaCalculus
2
+ class Application < Treetop::Runtime::SyntaxNode
3
+
4
+ end
5
+ end
@@ -0,0 +1,89 @@
1
+ dir = File.dirname(__FILE__)
2
+ require File.expand_path("#{dir}/test_helper")
3
+ require File.expand_path("#{dir}/arithmetic_node_classes")
4
+ require File.expand_path("#{dir}/lambda_calculus_node_classes")
5
+ Treetop.load File.expand_path("#{dir}/arithmetic")
6
+ Treetop.load File.expand_path("#{dir}/lambda_calculus")
7
+
8
+ class Treetop::Runtime::SyntaxNode
9
+ def method_missing(method, *args)
10
+ raise "Node representing #{text_value} does not respond to #{method}"
11
+ end
12
+ end
13
+
14
+ class LambdaCalculusParserTest < Test::Unit::TestCase
15
+ include ParserTestHelper
16
+
17
+ def setup
18
+ @parser = LambdaCalculusParser.new
19
+ end
20
+
21
+ def test_free_variable
22
+ assert_equal 'x', parse('x').eval.to_s
23
+ end
24
+
25
+ def test_variable_binding
26
+ variable = parse('x').eval
27
+ env = variable.bind(1, {})
28
+ assert_equal 1, env['x']
29
+ end
30
+
31
+ def test_bound_variable_evaluation
32
+ assert_equal 1, parse('x').eval({'x' => 1})
33
+ end
34
+
35
+ def test_identity_function
36
+ assert_equal '\x(x)', parse('\x(x)').eval.to_s
37
+ end
38
+
39
+ def test_function_returning_constant_function
40
+ assert_equal '\x(\y(x))', parse('\x(\y(x))').eval.to_s
41
+ end
42
+
43
+ def test_identity_function_application
44
+ assert_equal 1, parse('\x(x) 1').eval
45
+ assert_equal '\y(y)', parse('\x(x) \y(y)').eval.to_s
46
+ end
47
+
48
+ def test_constant_function_construction
49
+ assert_equal '\y(1)', parse('\x(\y(x)) 1').eval.to_s
50
+ end
51
+
52
+ def test_multiple_argument_application_is_left_associative
53
+ assert_equal '\b(b)', parse('\x(\y(x y)) \a(a) \b(b)').eval.to_s
54
+ end
55
+
56
+ def test_parentheses_override_application_order
57
+ assert_equal '\y(\b(b) y)', parse('\x(\y(x y)) (\a(a) \b(b))').eval.to_s
58
+ end
59
+
60
+ def test_arithmetic_in_function_body
61
+ assert_equal 10, parse('\x(x + 5) 5').eval
62
+ end
63
+
64
+ def test_addition_of_function_results
65
+ assert_equal 20, parse('\x(x + 5) 5 + \x(15 - x) 5').eval
66
+ end
67
+
68
+ def test_conditional
69
+ result = parse('if (x) 1 else 2')
70
+ assert_equal 1, result.eval({'x' => true})
71
+ assert_equal 2, result.eval({'x' => false})
72
+ end
73
+
74
+ def test_keyword
75
+ assert @parser.parse('if').failure?
76
+ assert @parser.parse('else').failure?
77
+ assert parse('elsee').success?
78
+ assert parse('iff').success?
79
+ end
80
+
81
+ def test_program
82
+ result = parse('def fact \x(if (x == 0)
83
+ 1
84
+ else
85
+ x * fact (x - 1));
86
+ fact(5)').eval
87
+ assert_equal 5 * 4 * 3 * 2, result
88
+ end
89
+ end
@@ -0,0 +1,18 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'treetop'
4
+
5
+ module ParserTestHelper
6
+ def assert_evals_to_self(input)
7
+ assert_evals_to(input, input)
8
+ end
9
+
10
+ def parse(input)
11
+ result = @parser.parse(input)
12
+ unless result
13
+ puts @parser.terminal_failures.join("\n")
14
+ end
15
+ assert !result.nil?
16
+ result
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ require 'rubygems'
2
+
3
+ module Treetop
4
+ VALID_GRAMMAR_EXT = ['treetop', 'tt']
5
+ VALID_GRAMMAR_EXT_REGEXP = /\.(#{VALID_GRAMMAR_EXT.join('|')})\Z/o
6
+ end
7
+
8
+ dir = File.dirname(__FILE__)
9
+
10
+ TREETOP_ROOT = File.join(dir, 'treetop')
11
+ require File.join(TREETOP_ROOT, "ruby_extensions")
12
+ require File.join(TREETOP_ROOT, "runtime")
13
+ require File.join(TREETOP_ROOT, "compiler")
14
+
15
+ require 'polyglot'
16
+ Polyglot.register(Treetop::VALID_GRAMMAR_EXT, Treetop)
@@ -0,0 +1,45 @@
1
+ # This file's job is to load a Treetop::Compiler::Metagrammar and Treetop::Compiler::MetagrammarParser
2
+ # into the environment by compiling the current metagrammar.treetop using a trusted version of Treetop.
3
+
4
+ require 'rubygems'
5
+ dir = File.dirname(__FILE__)
6
+
7
+ TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP = '>= 1.1.5'
8
+
9
+ # Loading trusted version of Treetop to compile the compiler
10
+ gem_spec = Gem.source_index.find_name('treetop', TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP).last
11
+ raise "Install a Treetop Gem version #{TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP} to bootstrap." unless gem_spec
12
+ trusted_treetop_path = gem_spec.full_gem_path
13
+ require File.join(trusted_treetop_path, 'lib', 'treetop')
14
+
15
+ # Relocating trusted version of Treetop to Trusted::Treetop
16
+ Trusted = Module.new
17
+ Trusted::Treetop = Treetop
18
+ Object.send(:remove_const, :Treetop)
19
+ Object.send(:remove_const, :TREETOP_ROOT)
20
+
21
+ # Requiring version of Treetop that is under test
22
+ $exclude_metagrammar = true
23
+ require File.expand_path(File.join(dir, '..', 'treetop'))
24
+
25
+ # Compile and evaluate freshly generated metagrammar source
26
+ METAGRAMMAR_PATH = File.join(TREETOP_ROOT, 'compiler', 'metagrammar.treetop')
27
+ compiled_metagrammar_source = Trusted::Treetop::Compiler::GrammarCompiler.new.ruby_source(METAGRAMMAR_PATH)
28
+ Object.class_eval(compiled_metagrammar_source)
29
+
30
+ # The compiler under test was compiled with the trusted grammar and therefore depends on its runtime
31
+ # But the runtime in the global namespace is the new runtime. We therefore inject the trusted runtime
32
+ # into the compiler so its parser functions correctly. It will still not work for custom classes that
33
+ # explicitly subclass the wrong runtime. For now I am working around this by keeping 1 generation of
34
+ # backward compatibility in these cases.
35
+ # Treetop::Compiler::Metagrammar.module_eval do
36
+ # include Trusted::Treetop::Runtime
37
+ # end
38
+ #
39
+ # Treetop::Compiler.send(:remove_const, :MetagrammarParser)
40
+ # class Treetop::Compiler::MetagrammarParser < Trusted::Treetop::Runtime::CompiledParser
41
+ # include Treetop::Compiler::Metagrammar
42
+ # include Trusted::Treetop::Runtime
43
+ # end
44
+
45
+ $bootstrapped_gen_1_metagrammar = true
@@ -0,0 +1,6 @@
1
+ dir = File.dirname(__FILE__)
2
+ require File.join(dir, *%w[compiler lexical_address_space])
3
+ require File.join(dir, *%w[compiler ruby_builder])
4
+ require File.join(dir, *%w[compiler node_classes])
5
+ require File.join(dir, *%w[compiler metagrammar]) unless defined?($exclude_metagrammar)
6
+ require File.join(dir, *%w[compiler grammar_compiler])
@@ -0,0 +1,44 @@
1
+ module Treetop
2
+ module Compiler
3
+ AUTOGENERATED = "# Autogenerated from a Treetop grammar. Edits may be lost.\n"
4
+ class GrammarCompiler
5
+ def compile(source_path, target_path = source_path.gsub(/\.(treetop|tt)\Z/, '.rb'))
6
+ File.open(target_path, 'w') do |target_file|
7
+ target_file.write(AUTOGENERATED+"\n\n")
8
+ target_file.write(ruby_source(source_path))
9
+ end
10
+ end
11
+
12
+ # compile a treetop file into ruby
13
+ def ruby_source(source_path)
14
+ ruby_source_from_string(File.read(source_path))
15
+ end
16
+
17
+ # compile a string containing treetop source into ruby
18
+ def ruby_source_from_string(s)
19
+ parser = MetagrammarParser.new
20
+ result = parser.parse(s)
21
+ unless result
22
+ raise RuntimeError.new(parser.failure_reason)
23
+ end
24
+ result.compile
25
+ end
26
+ end
27
+ end
28
+
29
+ # compile a treetop source file and load it
30
+ def self.load(path)
31
+ adjusted_path = path =~ /\.(treetop|tt)\Z/ ? path : path + '.treetop'
32
+ File.open(adjusted_path) do |source_file|
33
+ source = source_file.read
34
+ source.gsub!(/\b__FILE__\b/, %Q{"#{adjusted_path}"})
35
+ load_from_string(source)
36
+ end
37
+ end
38
+
39
+ # compile a treetop source string and load it
40
+ def self.load_from_string(s)
41
+ compiler = Treetop::Compiler::GrammarCompiler.new
42
+ Object.class_eval(compiler.ruby_source_from_string(s))
43
+ end
44
+ end
@@ -0,0 +1,17 @@
1
+ module Treetop
2
+ module Compiler
3
+ class LexicalAddressSpace
4
+ def initialize
5
+ reset_addresses
6
+ end
7
+
8
+ def next_address
9
+ @next_address += 1
10
+ end
11
+
12
+ def reset_addresses
13
+ @next_address = -1
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3258 @@
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 prefix
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 + prefix.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
+ @index = cached.interval.end if cached
48
+ return cached
49
+ end
50
+
51
+ i0, s0 = index, []
52
+ s1, i1 = [], index
53
+ loop do
54
+ i2, s2 = index, []
55
+ r4 = _nt_space
56
+ if r4
57
+ r3 = r4
58
+ else
59
+ r3 = instantiate_node(SyntaxNode,input, index...index)
60
+ end
61
+ s2 << r3
62
+ if r3
63
+ r5 = _nt_require_statement
64
+ s2 << r5
65
+ end
66
+ if s2.last
67
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
68
+ r2.extend(TreetopFile0)
69
+ else
70
+ @index = i2
71
+ r2 = nil
72
+ end
73
+ if r2
74
+ s1 << r2
75
+ else
76
+ break
77
+ end
78
+ end
79
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
80
+ s0 << r1
81
+ if r1
82
+ r7 = _nt_space
83
+ if r7
84
+ r6 = r7
85
+ else
86
+ r6 = instantiate_node(SyntaxNode,input, index...index)
87
+ end
88
+ s0 << r6
89
+ if r6
90
+ i8 = index
91
+ r9 = _nt_module_declaration
92
+ if r9
93
+ r8 = r9
94
+ else
95
+ r10 = _nt_grammar
96
+ if r10
97
+ r8 = r10
98
+ else
99
+ @index = i8
100
+ r8 = nil
101
+ end
102
+ end
103
+ s0 << r8
104
+ if r8
105
+ r12 = _nt_space
106
+ if r12
107
+ r11 = r12
108
+ else
109
+ r11 = instantiate_node(SyntaxNode,input, index...index)
110
+ end
111
+ s0 << r11
112
+ end
113
+ end
114
+ end
115
+ if s0.last
116
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
117
+ r0.extend(TreetopFile1)
118
+ r0.extend(TreetopFile2)
119
+ else
120
+ @index = i0
121
+ r0 = nil
122
+ end
123
+
124
+ node_cache[:treetop_file][start_index] = r0
125
+
126
+ r0
127
+ end
128
+
129
+ module RequireStatement0
130
+ def prefix
131
+ elements[0]
132
+ end
133
+
134
+ end
135
+
136
+ def _nt_require_statement
137
+ start_index = index
138
+ if node_cache[:require_statement].has_key?(index)
139
+ cached = node_cache[:require_statement][index]
140
+ @index = cached.interval.end if cached
141
+ return cached
142
+ end
143
+
144
+ i0, s0 = index, []
145
+ r2 = _nt_space
146
+ if r2
147
+ r1 = r2
148
+ else
149
+ r1 = instantiate_node(SyntaxNode,input, index...index)
150
+ end
151
+ s0 << r1
152
+ if r1
153
+ if has_terminal?("require", false, index)
154
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 7))
155
+ @index += 7
156
+ else
157
+ terminal_parse_failure("require")
158
+ r3 = nil
159
+ end
160
+ s0 << r3
161
+ if r3
162
+ s4, i4 = [], index
163
+ loop do
164
+ if has_terminal?('\G[ \\t]', true, index)
165
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
166
+ r5 = true
167
+ @index = next_character
168
+ else
169
+ r5 = nil
170
+ end
171
+ if r5
172
+ s4 << r5
173
+ else
174
+ break
175
+ end
176
+ end
177
+ if s4.empty?
178
+ @index = i4
179
+ r4 = nil
180
+ else
181
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
182
+ end
183
+ s0 << r4
184
+ if r4
185
+ s6, i6 = [], index
186
+ loop do
187
+ if has_terminal?('\G[^\\n\\r]', true, index)
188
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
189
+ r7 = true
190
+ @index = next_character
191
+ else
192
+ r7 = nil
193
+ end
194
+ if r7
195
+ s6 << r7
196
+ else
197
+ break
198
+ end
199
+ end
200
+ if s6.empty?
201
+ @index = i6
202
+ r6 = nil
203
+ else
204
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
205
+ end
206
+ s0 << r6
207
+ if r6
208
+ if has_terminal?('\G[\\n\\r]', true, index)
209
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
210
+ r8 = true
211
+ @index = next_character
212
+ else
213
+ r8 = nil
214
+ end
215
+ s0 << r8
216
+ end
217
+ end
218
+ end
219
+ end
220
+ if s0.last
221
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
222
+ r0.extend(RequireStatement0)
223
+ else
224
+ @index = i0
225
+ r0 = nil
226
+ end
227
+
228
+ node_cache[:require_statement][start_index] = r0
229
+
230
+ r0
231
+ end
232
+
233
+ module ModuleDeclaration0
234
+ def space1
235
+ elements[1]
236
+ end
237
+
238
+ def space2
239
+ elements[4]
240
+ end
241
+ end
242
+
243
+ module ModuleDeclaration1
244
+ def space
245
+ elements[0]
246
+ end
247
+
248
+ end
249
+
250
+ module ModuleDeclaration2
251
+ def prefix
252
+ elements[0]
253
+ end
254
+
255
+ def module_contents
256
+ elements[1]
257
+ end
258
+
259
+ def suffix
260
+ elements[2]
261
+ end
262
+ end
263
+
264
+ module ModuleDeclaration3
265
+ def compile
266
+ prefix.text_value + module_contents.compile + suffix.text_value
267
+ end
268
+ end
269
+
270
+ def _nt_module_declaration
271
+ start_index = index
272
+ if node_cache[:module_declaration].has_key?(index)
273
+ cached = node_cache[:module_declaration][index]
274
+ @index = cached.interval.end if cached
275
+ return cached
276
+ end
277
+
278
+ i0, s0 = index, []
279
+ i1, s1 = index, []
280
+ if has_terminal?('module', false, index)
281
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 6))
282
+ @index += 6
283
+ else
284
+ terminal_parse_failure('module')
285
+ r2 = nil
286
+ end
287
+ s1 << r2
288
+ if r2
289
+ r3 = _nt_space
290
+ s1 << r3
291
+ if r3
292
+ if has_terminal?('\G[A-Z]', true, index)
293
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
294
+ r4 = true
295
+ @index = next_character
296
+ else
297
+ r4 = nil
298
+ end
299
+ s1 << r4
300
+ if r4
301
+ s5, i5 = [], index
302
+ loop do
303
+ r6 = _nt_alphanumeric_char
304
+ if r6
305
+ s5 << r6
306
+ else
307
+ break
308
+ end
309
+ end
310
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
311
+ s1 << r5
312
+ if r5
313
+ r7 = _nt_space
314
+ s1 << r7
315
+ end
316
+ end
317
+ end
318
+ end
319
+ if s1.last
320
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
321
+ r1.extend(ModuleDeclaration0)
322
+ else
323
+ @index = i1
324
+ r1 = nil
325
+ end
326
+ s0 << r1
327
+ if r1
328
+ i8 = index
329
+ r9 = _nt_module_declaration
330
+ if r9
331
+ r8 = r9
332
+ else
333
+ r10 = _nt_grammar
334
+ if r10
335
+ r8 = r10
336
+ else
337
+ @index = i8
338
+ r8 = nil
339
+ end
340
+ end
341
+ s0 << r8
342
+ if r8
343
+ i11, s11 = index, []
344
+ r12 = _nt_space
345
+ s11 << r12
346
+ if r12
347
+ if has_terminal?('end', false, index)
348
+ r13 = instantiate_node(SyntaxNode,input, index...(index + 3))
349
+ @index += 3
350
+ else
351
+ terminal_parse_failure('end')
352
+ r13 = nil
353
+ end
354
+ s11 << r13
355
+ end
356
+ if s11.last
357
+ r11 = instantiate_node(SyntaxNode,input, i11...index, s11)
358
+ r11.extend(ModuleDeclaration1)
359
+ else
360
+ @index = i11
361
+ r11 = nil
362
+ end
363
+ s0 << r11
364
+ end
365
+ end
366
+ if s0.last
367
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
368
+ r0.extend(ModuleDeclaration2)
369
+ r0.extend(ModuleDeclaration3)
370
+ else
371
+ @index = i0
372
+ r0 = nil
373
+ end
374
+
375
+ node_cache[:module_declaration][start_index] = r0
376
+
377
+ r0
378
+ end
379
+
380
+ module Grammar0
381
+ def space
382
+ elements[1]
383
+ end
384
+ end
385
+
386
+ module Grammar1
387
+ def space1
388
+ elements[1]
389
+ end
390
+
391
+ def grammar_name
392
+ elements[2]
393
+ end
394
+
395
+ def space2
396
+ elements[3]
397
+ end
398
+
399
+ def declaration_sequence
400
+ elements[5]
401
+ end
402
+
403
+ end
404
+
405
+ def _nt_grammar
406
+ start_index = index
407
+ if node_cache[:grammar].has_key?(index)
408
+ cached = node_cache[:grammar][index]
409
+ @index = cached.interval.end if cached
410
+ return cached
411
+ end
412
+
413
+ i0, s0 = index, []
414
+ if has_terminal?('grammar', false, index)
415
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
416
+ @index += 7
417
+ else
418
+ terminal_parse_failure('grammar')
419
+ r1 = nil
420
+ end
421
+ s0 << r1
422
+ if r1
423
+ r2 = _nt_space
424
+ s0 << r2
425
+ if r2
426
+ r3 = _nt_grammar_name
427
+ s0 << r3
428
+ if r3
429
+ r4 = _nt_space
430
+ s0 << r4
431
+ if r4
432
+ i6, s6 = index, []
433
+ if has_terminal?('do', false, index)
434
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
435
+ @index += 2
436
+ else
437
+ terminal_parse_failure('do')
438
+ r7 = nil
439
+ end
440
+ s6 << r7
441
+ if r7
442
+ r8 = _nt_space
443
+ s6 << r8
444
+ end
445
+ if s6.last
446
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
447
+ r6.extend(Grammar0)
448
+ else
449
+ @index = i6
450
+ r6 = nil
451
+ end
452
+ if r6
453
+ r5 = r6
454
+ else
455
+ r5 = instantiate_node(SyntaxNode,input, index...index)
456
+ end
457
+ s0 << r5
458
+ if r5
459
+ r9 = _nt_declaration_sequence
460
+ s0 << r9
461
+ if r9
462
+ r11 = _nt_space
463
+ if r11
464
+ r10 = r11
465
+ else
466
+ r10 = instantiate_node(SyntaxNode,input, index...index)
467
+ end
468
+ s0 << r10
469
+ if r10
470
+ if has_terminal?('end', false, index)
471
+ r12 = instantiate_node(SyntaxNode,input, index...(index + 3))
472
+ @index += 3
473
+ else
474
+ terminal_parse_failure('end')
475
+ r12 = nil
476
+ end
477
+ s0 << r12
478
+ end
479
+ end
480
+ end
481
+ end
482
+ end
483
+ end
484
+ end
485
+ if s0.last
486
+ r0 = instantiate_node(Grammar,input, i0...index, s0)
487
+ r0.extend(Grammar1)
488
+ else
489
+ @index = i0
490
+ r0 = nil
491
+ end
492
+
493
+ node_cache[:grammar][start_index] = r0
494
+
495
+ r0
496
+ end
497
+
498
+ module GrammarName0
499
+ end
500
+
501
+ def _nt_grammar_name
502
+ start_index = index
503
+ if node_cache[:grammar_name].has_key?(index)
504
+ cached = node_cache[:grammar_name][index]
505
+ @index = cached.interval.end if cached
506
+ return cached
507
+ end
508
+
509
+ i0, s0 = index, []
510
+ if has_terminal?('\G[A-Z]', true, index)
511
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
512
+ r1 = true
513
+ @index = next_character
514
+ else
515
+ r1 = nil
516
+ end
517
+ s0 << r1
518
+ if r1
519
+ s2, i2 = [], index
520
+ loop do
521
+ r3 = _nt_alphanumeric_char
522
+ if r3
523
+ s2 << r3
524
+ else
525
+ break
526
+ end
527
+ end
528
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
529
+ s0 << r2
530
+ end
531
+ if s0.last
532
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
533
+ r0.extend(GrammarName0)
534
+ else
535
+ @index = i0
536
+ r0 = nil
537
+ end
538
+
539
+ node_cache[:grammar_name][start_index] = r0
540
+
541
+ r0
542
+ end
543
+
544
+ module DeclarationSequence0
545
+ def space
546
+ elements[0]
547
+ end
548
+
549
+ def declaration
550
+ elements[1]
551
+ end
552
+ end
553
+
554
+ module DeclarationSequence1
555
+ def head
556
+ elements[0]
557
+ end
558
+
559
+ def tail
560
+ elements[1]
561
+ end
562
+ end
563
+
564
+ module DeclarationSequence2
565
+ def declarations
566
+ [head] + tail
567
+ end
568
+
569
+ def tail
570
+ super.elements.map { |elt| elt.declaration }
571
+ end
572
+ end
573
+
574
+ module DeclarationSequence3
575
+ def compile(builder)
576
+ end
577
+ end
578
+
579
+ def _nt_declaration_sequence
580
+ start_index = index
581
+ if node_cache[:declaration_sequence].has_key?(index)
582
+ cached = node_cache[:declaration_sequence][index]
583
+ @index = cached.interval.end if cached
584
+ return cached
585
+ end
586
+
587
+ i0 = index
588
+ i1, s1 = index, []
589
+ r2 = _nt_declaration
590
+ s1 << r2
591
+ if r2
592
+ s3, i3 = [], index
593
+ loop do
594
+ i4, s4 = index, []
595
+ r5 = _nt_space
596
+ s4 << r5
597
+ if r5
598
+ r6 = _nt_declaration
599
+ s4 << r6
600
+ end
601
+ if s4.last
602
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
603
+ r4.extend(DeclarationSequence0)
604
+ else
605
+ @index = i4
606
+ r4 = nil
607
+ end
608
+ if r4
609
+ s3 << r4
610
+ else
611
+ break
612
+ end
613
+ end
614
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
615
+ s1 << r3
616
+ end
617
+ if s1.last
618
+ r1 = instantiate_node(DeclarationSequence,input, i1...index, s1)
619
+ r1.extend(DeclarationSequence1)
620
+ r1.extend(DeclarationSequence2)
621
+ else
622
+ @index = i1
623
+ r1 = nil
624
+ end
625
+ if r1
626
+ r0 = r1
627
+ else
628
+ if has_terminal?('', false, index)
629
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 0))
630
+ r7.extend(DeclarationSequence3)
631
+ @index += 0
632
+ else
633
+ terminal_parse_failure('')
634
+ r7 = nil
635
+ end
636
+ if r7
637
+ r0 = r7
638
+ else
639
+ @index = i0
640
+ r0 = nil
641
+ end
642
+ end
643
+
644
+ node_cache[:declaration_sequence][start_index] = r0
645
+
646
+ r0
647
+ end
648
+
649
+ def _nt_declaration
650
+ start_index = index
651
+ if node_cache[:declaration].has_key?(index)
652
+ cached = node_cache[:declaration][index]
653
+ @index = cached.interval.end if cached
654
+ return cached
655
+ end
656
+
657
+ i0 = index
658
+ r1 = _nt_parsing_rule
659
+ if r1
660
+ r0 = r1
661
+ else
662
+ r2 = _nt_include_declaration
663
+ if r2
664
+ r0 = r2
665
+ else
666
+ @index = i0
667
+ r0 = nil
668
+ end
669
+ end
670
+
671
+ node_cache[:declaration][start_index] = r0
672
+
673
+ r0
674
+ end
675
+
676
+ module IncludeDeclaration0
677
+ def space
678
+ elements[1]
679
+ end
680
+
681
+ end
682
+
683
+ module IncludeDeclaration1
684
+ def compile(builder)
685
+ builder << text_value
686
+ end
687
+ end
688
+
689
+ def _nt_include_declaration
690
+ start_index = index
691
+ if node_cache[:include_declaration].has_key?(index)
692
+ cached = node_cache[:include_declaration][index]
693
+ @index = cached.interval.end if cached
694
+ return cached
695
+ end
696
+
697
+ i0, s0 = index, []
698
+ if has_terminal?('include', false, index)
699
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
700
+ @index += 7
701
+ else
702
+ terminal_parse_failure('include')
703
+ r1 = nil
704
+ end
705
+ s0 << r1
706
+ if r1
707
+ r2 = _nt_space
708
+ s0 << r2
709
+ if r2
710
+ if has_terminal?('\G[A-Z]', true, index)
711
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
712
+ r3 = true
713
+ @index = next_character
714
+ else
715
+ r3 = nil
716
+ end
717
+ s0 << r3
718
+ if r3
719
+ s4, i4 = [], index
720
+ loop do
721
+ i5 = index
722
+ r6 = _nt_alphanumeric_char
723
+ if r6
724
+ r5 = r6
725
+ else
726
+ if has_terminal?('::', false, index)
727
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
728
+ @index += 2
729
+ else
730
+ terminal_parse_failure('::')
731
+ r7 = nil
732
+ end
733
+ if r7
734
+ r5 = r7
735
+ else
736
+ @index = i5
737
+ r5 = nil
738
+ end
739
+ end
740
+ if r5
741
+ s4 << r5
742
+ else
743
+ break
744
+ end
745
+ end
746
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
747
+ s0 << r4
748
+ end
749
+ end
750
+ end
751
+ if s0.last
752
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
753
+ r0.extend(IncludeDeclaration0)
754
+ r0.extend(IncludeDeclaration1)
755
+ else
756
+ @index = i0
757
+ r0 = nil
758
+ end
759
+
760
+ node_cache[:include_declaration][start_index] = r0
761
+
762
+ r0
763
+ end
764
+
765
+ module ParsingRule0
766
+ def space
767
+ elements[1]
768
+ end
769
+ end
770
+
771
+ module ParsingRule1
772
+ def space1
773
+ elements[1]
774
+ end
775
+
776
+ def nonterminal
777
+ elements[2]
778
+ end
779
+
780
+ def space2
781
+ elements[3]
782
+ end
783
+
784
+ def parsing_expression
785
+ elements[5]
786
+ end
787
+
788
+ def space3
789
+ elements[6]
790
+ end
791
+
792
+ end
793
+
794
+ def _nt_parsing_rule
795
+ start_index = index
796
+ if node_cache[:parsing_rule].has_key?(index)
797
+ cached = node_cache[:parsing_rule][index]
798
+ @index = cached.interval.end if cached
799
+ return cached
800
+ end
801
+
802
+ i0, s0 = index, []
803
+ if has_terminal?('rule', false, index)
804
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 4))
805
+ @index += 4
806
+ else
807
+ terminal_parse_failure('rule')
808
+ r1 = nil
809
+ end
810
+ s0 << r1
811
+ if r1
812
+ r2 = _nt_space
813
+ s0 << r2
814
+ if r2
815
+ r3 = _nt_nonterminal
816
+ s0 << r3
817
+ if r3
818
+ r4 = _nt_space
819
+ s0 << r4
820
+ if r4
821
+ i6, s6 = index, []
822
+ if has_terminal?('do', false, index)
823
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
824
+ @index += 2
825
+ else
826
+ terminal_parse_failure('do')
827
+ r7 = nil
828
+ end
829
+ s6 << r7
830
+ if r7
831
+ r8 = _nt_space
832
+ s6 << r8
833
+ end
834
+ if s6.last
835
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
836
+ r6.extend(ParsingRule0)
837
+ else
838
+ @index = i6
839
+ r6 = nil
840
+ end
841
+ if r6
842
+ r5 = r6
843
+ else
844
+ r5 = instantiate_node(SyntaxNode,input, index...index)
845
+ end
846
+ s0 << r5
847
+ if r5
848
+ r9 = _nt_parsing_expression
849
+ s0 << r9
850
+ if r9
851
+ r10 = _nt_space
852
+ s0 << r10
853
+ if r10
854
+ if has_terminal?('end', false, index)
855
+ r11 = instantiate_node(SyntaxNode,input, index...(index + 3))
856
+ @index += 3
857
+ else
858
+ terminal_parse_failure('end')
859
+ r11 = nil
860
+ end
861
+ s0 << r11
862
+ end
863
+ end
864
+ end
865
+ end
866
+ end
867
+ end
868
+ end
869
+ if s0.last
870
+ r0 = instantiate_node(ParsingRule,input, i0...index, s0)
871
+ r0.extend(ParsingRule1)
872
+ else
873
+ @index = i0
874
+ r0 = nil
875
+ end
876
+
877
+ node_cache[:parsing_rule][start_index] = r0
878
+
879
+ r0
880
+ end
881
+
882
+ def _nt_parsing_expression
883
+ start_index = index
884
+ if node_cache[:parsing_expression].has_key?(index)
885
+ cached = node_cache[:parsing_expression][index]
886
+ @index = cached.interval.end if cached
887
+ return cached
888
+ end
889
+
890
+ i0 = index
891
+ r1 = _nt_choice
892
+ if r1
893
+ r0 = r1
894
+ else
895
+ r2 = _nt_sequence
896
+ if r2
897
+ r0 = r2
898
+ else
899
+ r3 = _nt_primary
900
+ if r3
901
+ r0 = r3
902
+ else
903
+ @index = i0
904
+ r0 = nil
905
+ end
906
+ end
907
+ end
908
+
909
+ node_cache[:parsing_expression][start_index] = r0
910
+
911
+ r0
912
+ end
913
+
914
+ module Choice0
915
+ def alternative
916
+ elements[3]
917
+ end
918
+ end
919
+
920
+ module Choice1
921
+ def head
922
+ elements[0]
923
+ end
924
+
925
+ def tail
926
+ elements[1]
927
+ end
928
+ end
929
+
930
+ module Choice2
931
+ def alternatives
932
+ [head] + tail
933
+ end
934
+
935
+ def tail
936
+ super.elements.map {|elt| elt.alternative}
937
+ end
938
+
939
+ def inline_modules
940
+ (alternatives.map {|alt| alt.inline_modules }).flatten
941
+ end
942
+ end
943
+
944
+ def _nt_choice
945
+ start_index = index
946
+ if node_cache[:choice].has_key?(index)
947
+ cached = node_cache[:choice][index]
948
+ @index = cached.interval.end if cached
949
+ return cached
950
+ end
951
+
952
+ i0, s0 = index, []
953
+ r1 = _nt_alternative
954
+ s0 << r1
955
+ if r1
956
+ s2, i2 = [], index
957
+ loop do
958
+ i3, s3 = index, []
959
+ r5 = _nt_space
960
+ if r5
961
+ r4 = r5
962
+ else
963
+ r4 = instantiate_node(SyntaxNode,input, index...index)
964
+ end
965
+ s3 << r4
966
+ if r4
967
+ if has_terminal?('/', false, index)
968
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
969
+ @index += 1
970
+ else
971
+ terminal_parse_failure('/')
972
+ r6 = nil
973
+ end
974
+ s3 << r6
975
+ if r6
976
+ r8 = _nt_space
977
+ if r8
978
+ r7 = r8
979
+ else
980
+ r7 = instantiate_node(SyntaxNode,input, index...index)
981
+ end
982
+ s3 << r7
983
+ if r7
984
+ r9 = _nt_alternative
985
+ s3 << r9
986
+ end
987
+ end
988
+ end
989
+ if s3.last
990
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
991
+ r3.extend(Choice0)
992
+ else
993
+ @index = i3
994
+ r3 = nil
995
+ end
996
+ if r3
997
+ s2 << r3
998
+ else
999
+ break
1000
+ end
1001
+ end
1002
+ if s2.empty?
1003
+ @index = i2
1004
+ r2 = nil
1005
+ else
1006
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1007
+ end
1008
+ s0 << r2
1009
+ end
1010
+ if s0.last
1011
+ r0 = instantiate_node(Choice,input, i0...index, s0)
1012
+ r0.extend(Choice1)
1013
+ r0.extend(Choice2)
1014
+ else
1015
+ @index = i0
1016
+ r0 = nil
1017
+ end
1018
+
1019
+ node_cache[:choice][start_index] = r0
1020
+
1021
+ r0
1022
+ end
1023
+
1024
+ module Sequence0
1025
+ def space
1026
+ elements[0]
1027
+ end
1028
+
1029
+ def labeled_sequence_primary
1030
+ elements[1]
1031
+ end
1032
+ end
1033
+
1034
+ module Sequence1
1035
+ def head
1036
+ elements[0]
1037
+ end
1038
+
1039
+ def tail
1040
+ elements[1]
1041
+ end
1042
+
1043
+ def node_class_declarations
1044
+ elements[2]
1045
+ end
1046
+ end
1047
+
1048
+ module Sequence2
1049
+ def sequence_elements
1050
+ [head] + tail
1051
+ end
1052
+
1053
+ def tail
1054
+ super.elements.map {|elt| elt.labeled_sequence_primary }
1055
+ end
1056
+
1057
+ def inline_modules
1058
+ (sequence_elements.map {|elt| elt.inline_modules}).flatten +
1059
+ [sequence_element_accessor_module] +
1060
+ node_class_declarations.inline_modules
1061
+ end
1062
+
1063
+ def inline_module_name
1064
+ node_class_declarations.inline_module_name
1065
+ end
1066
+ end
1067
+
1068
+ def _nt_sequence
1069
+ start_index = index
1070
+ if node_cache[:sequence].has_key?(index)
1071
+ cached = node_cache[:sequence][index]
1072
+ @index = cached.interval.end if cached
1073
+ return cached
1074
+ end
1075
+
1076
+ i0, s0 = index, []
1077
+ r1 = _nt_labeled_sequence_primary
1078
+ s0 << r1
1079
+ if r1
1080
+ s2, i2 = [], index
1081
+ loop do
1082
+ i3, s3 = index, []
1083
+ r4 = _nt_space
1084
+ s3 << r4
1085
+ if r4
1086
+ r5 = _nt_labeled_sequence_primary
1087
+ s3 << r5
1088
+ end
1089
+ if s3.last
1090
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1091
+ r3.extend(Sequence0)
1092
+ else
1093
+ @index = i3
1094
+ r3 = nil
1095
+ end
1096
+ if r3
1097
+ s2 << r3
1098
+ else
1099
+ break
1100
+ end
1101
+ end
1102
+ if s2.empty?
1103
+ @index = i2
1104
+ r2 = nil
1105
+ else
1106
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1107
+ end
1108
+ s0 << r2
1109
+ if r2
1110
+ r6 = _nt_node_class_declarations
1111
+ s0 << r6
1112
+ end
1113
+ end
1114
+ if s0.last
1115
+ r0 = instantiate_node(Sequence,input, i0...index, s0)
1116
+ r0.extend(Sequence1)
1117
+ r0.extend(Sequence2)
1118
+ else
1119
+ @index = i0
1120
+ r0 = nil
1121
+ end
1122
+
1123
+ node_cache[:sequence][start_index] = r0
1124
+
1125
+ r0
1126
+ end
1127
+
1128
+ def _nt_alternative
1129
+ start_index = index
1130
+ if node_cache[:alternative].has_key?(index)
1131
+ cached = node_cache[:alternative][index]
1132
+ @index = cached.interval.end if cached
1133
+ return cached
1134
+ end
1135
+
1136
+ i0 = index
1137
+ r1 = _nt_sequence
1138
+ if r1
1139
+ r0 = r1
1140
+ else
1141
+ r2 = _nt_primary
1142
+ if r2
1143
+ r0 = r2
1144
+ else
1145
+ @index = i0
1146
+ r0 = nil
1147
+ end
1148
+ end
1149
+
1150
+ node_cache[:alternative][start_index] = r0
1151
+
1152
+ r0
1153
+ end
1154
+
1155
+ module Primary0
1156
+ def prefix
1157
+ elements[0]
1158
+ end
1159
+
1160
+ def atomic
1161
+ elements[1]
1162
+ end
1163
+ end
1164
+
1165
+ module Primary1
1166
+ def compile(address, builder, parent_expression=nil)
1167
+ prefix.compile(address, builder, self)
1168
+ end
1169
+
1170
+ def prefixed_expression
1171
+ atomic
1172
+ end
1173
+
1174
+ def inline_modules
1175
+ atomic.inline_modules
1176
+ end
1177
+
1178
+ def inline_module_name
1179
+ nil
1180
+ end
1181
+ end
1182
+
1183
+ module Primary2
1184
+ def prefix
1185
+ elements[0]
1186
+ end
1187
+
1188
+ def predicate_block
1189
+ elements[2]
1190
+ end
1191
+ end
1192
+
1193
+ module Primary3
1194
+ def compile(address, builder, parent_expression=nil)
1195
+ prefix.compile(address, builder, self)
1196
+ end
1197
+ def prefixed_expression
1198
+ predicate_block
1199
+ end
1200
+ def inline_modules
1201
+ []
1202
+ end
1203
+ end
1204
+
1205
+ module Primary4
1206
+ def atomic
1207
+ elements[0]
1208
+ end
1209
+
1210
+ def suffix
1211
+ elements[1]
1212
+ end
1213
+
1214
+ def node_class_declarations
1215
+ elements[2]
1216
+ end
1217
+ end
1218
+
1219
+ module Primary5
1220
+ def compile(address, builder, parent_expression=nil)
1221
+ suffix.compile(address, builder, self)
1222
+ end
1223
+
1224
+ def optional_expression
1225
+ atomic
1226
+ end
1227
+
1228
+ def node_class_name
1229
+ node_class_declarations.node_class_name
1230
+ end
1231
+
1232
+ def inline_modules
1233
+ atomic.inline_modules + node_class_declarations.inline_modules
1234
+ end
1235
+
1236
+ def inline_module_name
1237
+ node_class_declarations.inline_module_name
1238
+ end
1239
+ end
1240
+
1241
+ module Primary6
1242
+ def atomic
1243
+ elements[0]
1244
+ end
1245
+
1246
+ def node_class_declarations
1247
+ elements[1]
1248
+ end
1249
+ end
1250
+
1251
+ module Primary7
1252
+ def compile(address, builder, parent_expression=nil)
1253
+ atomic.compile(address, builder, self)
1254
+ end
1255
+
1256
+ def node_class_name
1257
+ node_class_declarations.node_class_name
1258
+ end
1259
+
1260
+ def inline_modules
1261
+ atomic.inline_modules + node_class_declarations.inline_modules
1262
+ end
1263
+
1264
+ def inline_module_name
1265
+ node_class_declarations.inline_module_name
1266
+ end
1267
+ end
1268
+
1269
+ def _nt_primary
1270
+ start_index = index
1271
+ if node_cache[:primary].has_key?(index)
1272
+ cached = node_cache[:primary][index]
1273
+ @index = cached.interval.end if cached
1274
+ return cached
1275
+ end
1276
+
1277
+ i0 = index
1278
+ i1, s1 = index, []
1279
+ r2 = _nt_prefix
1280
+ s1 << r2
1281
+ if r2
1282
+ r3 = _nt_atomic
1283
+ s1 << r3
1284
+ end
1285
+ if s1.last
1286
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1287
+ r1.extend(Primary0)
1288
+ r1.extend(Primary1)
1289
+ else
1290
+ @index = i1
1291
+ r1 = nil
1292
+ end
1293
+ if r1
1294
+ r0 = r1
1295
+ else
1296
+ i4, s4 = index, []
1297
+ r5 = _nt_prefix
1298
+ s4 << r5
1299
+ if r5
1300
+ r7 = _nt_space
1301
+ if r7
1302
+ r6 = r7
1303
+ else
1304
+ r6 = instantiate_node(SyntaxNode,input, index...index)
1305
+ end
1306
+ s4 << r6
1307
+ if r6
1308
+ r8 = _nt_predicate_block
1309
+ s4 << r8
1310
+ end
1311
+ end
1312
+ if s4.last
1313
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1314
+ r4.extend(Primary2)
1315
+ r4.extend(Primary3)
1316
+ else
1317
+ @index = i4
1318
+ r4 = nil
1319
+ end
1320
+ if r4
1321
+ r0 = r4
1322
+ else
1323
+ i9, s9 = index, []
1324
+ r10 = _nt_atomic
1325
+ s9 << r10
1326
+ if r10
1327
+ r11 = _nt_suffix
1328
+ s9 << r11
1329
+ if r11
1330
+ r12 = _nt_node_class_declarations
1331
+ s9 << r12
1332
+ end
1333
+ end
1334
+ if s9.last
1335
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
1336
+ r9.extend(Primary4)
1337
+ r9.extend(Primary5)
1338
+ else
1339
+ @index = i9
1340
+ r9 = nil
1341
+ end
1342
+ if r9
1343
+ r0 = r9
1344
+ else
1345
+ i13, s13 = index, []
1346
+ r14 = _nt_atomic
1347
+ s13 << r14
1348
+ if r14
1349
+ r15 = _nt_node_class_declarations
1350
+ s13 << r15
1351
+ end
1352
+ if s13.last
1353
+ r13 = instantiate_node(SyntaxNode,input, i13...index, s13)
1354
+ r13.extend(Primary6)
1355
+ r13.extend(Primary7)
1356
+ else
1357
+ @index = i13
1358
+ r13 = nil
1359
+ end
1360
+ if r13
1361
+ r0 = r13
1362
+ else
1363
+ @index = i0
1364
+ r0 = nil
1365
+ end
1366
+ end
1367
+ end
1368
+ end
1369
+
1370
+ node_cache[:primary][start_index] = r0
1371
+
1372
+ r0
1373
+ end
1374
+
1375
+ module LabeledSequencePrimary0
1376
+ def label
1377
+ elements[0]
1378
+ end
1379
+
1380
+ def sequence_primary
1381
+ elements[1]
1382
+ end
1383
+ end
1384
+
1385
+ module LabeledSequencePrimary1
1386
+ def compile(lexical_address, builder)
1387
+ sequence_primary.compile(lexical_address, builder)
1388
+ end
1389
+
1390
+ def inline_modules
1391
+ sequence_primary.inline_modules
1392
+ end
1393
+
1394
+ def label_name
1395
+ if label.name
1396
+ label.name
1397
+ elsif sequence_primary.instance_of?(Nonterminal)
1398
+ sequence_primary.text_value
1399
+ else
1400
+ nil
1401
+ end
1402
+ end
1403
+ end
1404
+
1405
+ def _nt_labeled_sequence_primary
1406
+ start_index = index
1407
+ if node_cache[:labeled_sequence_primary].has_key?(index)
1408
+ cached = node_cache[:labeled_sequence_primary][index]
1409
+ @index = cached.interval.end if cached
1410
+ return cached
1411
+ end
1412
+
1413
+ i0, s0 = index, []
1414
+ r1 = _nt_label
1415
+ s0 << r1
1416
+ if r1
1417
+ r2 = _nt_sequence_primary
1418
+ s0 << r2
1419
+ end
1420
+ if s0.last
1421
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1422
+ r0.extend(LabeledSequencePrimary0)
1423
+ r0.extend(LabeledSequencePrimary1)
1424
+ else
1425
+ @index = i0
1426
+ r0 = nil
1427
+ end
1428
+
1429
+ node_cache[:labeled_sequence_primary][start_index] = r0
1430
+
1431
+ r0
1432
+ end
1433
+
1434
+ module Label0
1435
+ def alpha_char
1436
+ elements[0]
1437
+ end
1438
+
1439
+ end
1440
+
1441
+ module Label1
1442
+ end
1443
+
1444
+ module Label2
1445
+ def name
1446
+ elements[0].text_value
1447
+ end
1448
+ end
1449
+
1450
+ module Label3
1451
+ def name
1452
+ nil
1453
+ end
1454
+ end
1455
+
1456
+ def _nt_label
1457
+ start_index = index
1458
+ if node_cache[:label].has_key?(index)
1459
+ cached = node_cache[:label][index]
1460
+ @index = cached.interval.end if cached
1461
+ return cached
1462
+ end
1463
+
1464
+ i0 = index
1465
+ i1, s1 = index, []
1466
+ i2, s2 = index, []
1467
+ r3 = _nt_alpha_char
1468
+ s2 << r3
1469
+ if r3
1470
+ s4, i4 = [], index
1471
+ loop do
1472
+ r5 = _nt_alphanumeric_char
1473
+ if r5
1474
+ s4 << r5
1475
+ else
1476
+ break
1477
+ end
1478
+ end
1479
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1480
+ s2 << r4
1481
+ end
1482
+ if s2.last
1483
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1484
+ r2.extend(Label0)
1485
+ else
1486
+ @index = i2
1487
+ r2 = nil
1488
+ end
1489
+ s1 << r2
1490
+ if r2
1491
+ if has_terminal?(':', false, index)
1492
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1493
+ @index += 1
1494
+ else
1495
+ terminal_parse_failure(':')
1496
+ r6 = nil
1497
+ end
1498
+ s1 << r6
1499
+ end
1500
+ if s1.last
1501
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1502
+ r1.extend(Label1)
1503
+ r1.extend(Label2)
1504
+ else
1505
+ @index = i1
1506
+ r1 = nil
1507
+ end
1508
+ if r1
1509
+ r0 = r1
1510
+ else
1511
+ if has_terminal?('', false, index)
1512
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 0))
1513
+ r7.extend(Label3)
1514
+ @index += 0
1515
+ else
1516
+ terminal_parse_failure('')
1517
+ r7 = nil
1518
+ end
1519
+ if r7
1520
+ r0 = r7
1521
+ else
1522
+ @index = i0
1523
+ r0 = nil
1524
+ end
1525
+ end
1526
+
1527
+ node_cache[:label][start_index] = r0
1528
+
1529
+ r0
1530
+ end
1531
+
1532
+ module SequencePrimary0
1533
+ def prefix
1534
+ elements[0]
1535
+ end
1536
+
1537
+ def atomic
1538
+ elements[1]
1539
+ end
1540
+ end
1541
+
1542
+ module SequencePrimary1
1543
+ def compile(lexical_address, builder)
1544
+ prefix.compile(lexical_address, builder, self)
1545
+ end
1546
+
1547
+ def prefixed_expression
1548
+ elements[1]
1549
+ end
1550
+
1551
+ def inline_modules
1552
+ atomic.inline_modules
1553
+ end
1554
+
1555
+ def inline_module_name
1556
+ nil
1557
+ end
1558
+ end
1559
+
1560
+ module SequencePrimary2
1561
+ def prefix
1562
+ elements[0]
1563
+ end
1564
+
1565
+ def predicate_block
1566
+ elements[2]
1567
+ end
1568
+ end
1569
+
1570
+ module SequencePrimary3
1571
+ def compile(address, builder, parent_expression=nil)
1572
+ prefix.compile(address, builder, self)
1573
+ end
1574
+ def prefixed_expression
1575
+ predicate_block
1576
+ end
1577
+ def inline_modules
1578
+ []
1579
+ end
1580
+ end
1581
+
1582
+ module SequencePrimary4
1583
+ def atomic
1584
+ elements[0]
1585
+ end
1586
+
1587
+ def suffix
1588
+ elements[1]
1589
+ end
1590
+ end
1591
+
1592
+ module SequencePrimary5
1593
+ def compile(lexical_address, builder)
1594
+ suffix.compile(lexical_address, builder, self)
1595
+ end
1596
+
1597
+ def node_class_name
1598
+ nil
1599
+ end
1600
+
1601
+ def inline_modules
1602
+ atomic.inline_modules
1603
+ end
1604
+
1605
+ def inline_module_name
1606
+ nil
1607
+ end
1608
+ end
1609
+
1610
+ def _nt_sequence_primary
1611
+ start_index = index
1612
+ if node_cache[:sequence_primary].has_key?(index)
1613
+ cached = node_cache[:sequence_primary][index]
1614
+ @index = cached.interval.end if cached
1615
+ return cached
1616
+ end
1617
+
1618
+ i0 = index
1619
+ i1, s1 = index, []
1620
+ r2 = _nt_prefix
1621
+ s1 << r2
1622
+ if r2
1623
+ r3 = _nt_atomic
1624
+ s1 << r3
1625
+ end
1626
+ if s1.last
1627
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1628
+ r1.extend(SequencePrimary0)
1629
+ r1.extend(SequencePrimary1)
1630
+ else
1631
+ @index = i1
1632
+ r1 = nil
1633
+ end
1634
+ if r1
1635
+ r0 = r1
1636
+ else
1637
+ i4, s4 = index, []
1638
+ r5 = _nt_prefix
1639
+ s4 << r5
1640
+ if r5
1641
+ r7 = _nt_space
1642
+ if r7
1643
+ r6 = r7
1644
+ else
1645
+ r6 = instantiate_node(SyntaxNode,input, index...index)
1646
+ end
1647
+ s4 << r6
1648
+ if r6
1649
+ r8 = _nt_predicate_block
1650
+ s4 << r8
1651
+ end
1652
+ end
1653
+ if s4.last
1654
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1655
+ r4.extend(SequencePrimary2)
1656
+ r4.extend(SequencePrimary3)
1657
+ else
1658
+ @index = i4
1659
+ r4 = nil
1660
+ end
1661
+ if r4
1662
+ r0 = r4
1663
+ else
1664
+ i9, s9 = index, []
1665
+ r10 = _nt_atomic
1666
+ s9 << r10
1667
+ if r10
1668
+ r11 = _nt_suffix
1669
+ s9 << r11
1670
+ end
1671
+ if s9.last
1672
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
1673
+ r9.extend(SequencePrimary4)
1674
+ r9.extend(SequencePrimary5)
1675
+ else
1676
+ @index = i9
1677
+ r9 = nil
1678
+ end
1679
+ if r9
1680
+ r0 = r9
1681
+ else
1682
+ r12 = _nt_atomic
1683
+ if r12
1684
+ r0 = r12
1685
+ else
1686
+ @index = i0
1687
+ r0 = nil
1688
+ end
1689
+ end
1690
+ end
1691
+ end
1692
+
1693
+ node_cache[:sequence_primary][start_index] = r0
1694
+
1695
+ r0
1696
+ end
1697
+
1698
+ def _nt_suffix
1699
+ start_index = index
1700
+ if node_cache[:suffix].has_key?(index)
1701
+ cached = node_cache[:suffix][index]
1702
+ @index = cached.interval.end if cached
1703
+ return cached
1704
+ end
1705
+
1706
+ i0 = index
1707
+ r1 = _nt_repetition_suffix
1708
+ if r1
1709
+ r0 = r1
1710
+ else
1711
+ r2 = _nt_optional_suffix
1712
+ if r2
1713
+ r0 = r2
1714
+ else
1715
+ @index = i0
1716
+ r0 = nil
1717
+ end
1718
+ end
1719
+
1720
+ node_cache[:suffix][start_index] = r0
1721
+
1722
+ r0
1723
+ end
1724
+
1725
+ def _nt_optional_suffix
1726
+ start_index = index
1727
+ if node_cache[:optional_suffix].has_key?(index)
1728
+ cached = node_cache[:optional_suffix][index]
1729
+ @index = cached.interval.end if cached
1730
+ return cached
1731
+ end
1732
+
1733
+ if has_terminal?('?', false, index)
1734
+ r0 = instantiate_node(Optional,input, index...(index + 1))
1735
+ @index += 1
1736
+ else
1737
+ terminal_parse_failure('?')
1738
+ r0 = nil
1739
+ end
1740
+
1741
+ node_cache[:optional_suffix][start_index] = r0
1742
+
1743
+ r0
1744
+ end
1745
+
1746
+ module NodeClassDeclarations0
1747
+ def node_class_expression
1748
+ elements[0]
1749
+ end
1750
+
1751
+ def trailing_inline_module
1752
+ elements[1]
1753
+ end
1754
+ end
1755
+
1756
+ module NodeClassDeclarations1
1757
+ def node_class_name
1758
+ node_class_expression.node_class_name
1759
+ end
1760
+
1761
+ def inline_modules
1762
+ trailing_inline_module.inline_modules
1763
+ end
1764
+
1765
+ def inline_module
1766
+ trailing_inline_module.inline_module
1767
+ end
1768
+
1769
+ def inline_module_name
1770
+ inline_module.module_name if inline_module
1771
+ end
1772
+ end
1773
+
1774
+ def _nt_node_class_declarations
1775
+ start_index = index
1776
+ if node_cache[:node_class_declarations].has_key?(index)
1777
+ cached = node_cache[:node_class_declarations][index]
1778
+ @index = cached.interval.end if cached
1779
+ return cached
1780
+ end
1781
+
1782
+ i0, s0 = index, []
1783
+ r1 = _nt_node_class_expression
1784
+ s0 << r1
1785
+ if r1
1786
+ r2 = _nt_trailing_inline_module
1787
+ s0 << r2
1788
+ end
1789
+ if s0.last
1790
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1791
+ r0.extend(NodeClassDeclarations0)
1792
+ r0.extend(NodeClassDeclarations1)
1793
+ else
1794
+ @index = i0
1795
+ r0 = nil
1796
+ end
1797
+
1798
+ node_cache[:node_class_declarations][start_index] = r0
1799
+
1800
+ r0
1801
+ end
1802
+
1803
+ def _nt_repetition_suffix
1804
+ start_index = index
1805
+ if node_cache[:repetition_suffix].has_key?(index)
1806
+ cached = node_cache[:repetition_suffix][index]
1807
+ @index = cached.interval.end if cached
1808
+ return cached
1809
+ end
1810
+
1811
+ i0 = index
1812
+ if has_terminal?('+', false, index)
1813
+ r1 = instantiate_node(OneOrMore,input, index...(index + 1))
1814
+ @index += 1
1815
+ else
1816
+ terminal_parse_failure('+')
1817
+ r1 = nil
1818
+ end
1819
+ if r1
1820
+ r0 = r1
1821
+ else
1822
+ if has_terminal?('*', false, index)
1823
+ r2 = instantiate_node(ZeroOrMore,input, index...(index + 1))
1824
+ @index += 1
1825
+ else
1826
+ terminal_parse_failure('*')
1827
+ r2 = nil
1828
+ end
1829
+ if r2
1830
+ r0 = r2
1831
+ else
1832
+ @index = i0
1833
+ r0 = nil
1834
+ end
1835
+ end
1836
+
1837
+ node_cache[:repetition_suffix][start_index] = r0
1838
+
1839
+ r0
1840
+ end
1841
+
1842
+ def _nt_prefix
1843
+ start_index = index
1844
+ if node_cache[:prefix].has_key?(index)
1845
+ cached = node_cache[:prefix][index]
1846
+ @index = cached.interval.end if cached
1847
+ return cached
1848
+ end
1849
+
1850
+ i0 = index
1851
+ if has_terminal?('&', false, index)
1852
+ r1 = instantiate_node(AndPredicate,input, index...(index + 1))
1853
+ @index += 1
1854
+ else
1855
+ terminal_parse_failure('&')
1856
+ r1 = nil
1857
+ end
1858
+ if r1
1859
+ r0 = r1
1860
+ else
1861
+ if has_terminal?('!', false, index)
1862
+ r2 = instantiate_node(NotPredicate,input, index...(index + 1))
1863
+ @index += 1
1864
+ else
1865
+ terminal_parse_failure('!')
1866
+ r2 = nil
1867
+ end
1868
+ if r2
1869
+ r0 = r2
1870
+ else
1871
+ if has_terminal?('~', false, index)
1872
+ r3 = instantiate_node(TransientPrefix,input, index...(index + 1))
1873
+ @index += 1
1874
+ else
1875
+ terminal_parse_failure('~')
1876
+ r3 = nil
1877
+ end
1878
+ if r3
1879
+ r0 = r3
1880
+ else
1881
+ @index = i0
1882
+ r0 = nil
1883
+ end
1884
+ end
1885
+ end
1886
+
1887
+ node_cache[:prefix][start_index] = r0
1888
+
1889
+ r0
1890
+ end
1891
+
1892
+ def _nt_atomic
1893
+ start_index = index
1894
+ if node_cache[:atomic].has_key?(index)
1895
+ cached = node_cache[:atomic][index]
1896
+ @index = cached.interval.end if cached
1897
+ return cached
1898
+ end
1899
+
1900
+ i0 = index
1901
+ r1 = _nt_terminal
1902
+ if r1
1903
+ r0 = r1
1904
+ else
1905
+ r2 = _nt_nonterminal
1906
+ if r2
1907
+ r0 = r2
1908
+ else
1909
+ r3 = _nt_parenthesized_expression
1910
+ if r3
1911
+ r0 = r3
1912
+ else
1913
+ @index = i0
1914
+ r0 = nil
1915
+ end
1916
+ end
1917
+ end
1918
+
1919
+ node_cache[:atomic][start_index] = r0
1920
+
1921
+ r0
1922
+ end
1923
+
1924
+ module ParenthesizedExpression0
1925
+ def parsing_expression
1926
+ elements[2]
1927
+ end
1928
+
1929
+ end
1930
+
1931
+ module ParenthesizedExpression1
1932
+ def inline_modules
1933
+ parsing_expression.inline_modules
1934
+ end
1935
+ end
1936
+
1937
+ def _nt_parenthesized_expression
1938
+ start_index = index
1939
+ if node_cache[:parenthesized_expression].has_key?(index)
1940
+ cached = node_cache[:parenthesized_expression][index]
1941
+ @index = cached.interval.end if cached
1942
+ return cached
1943
+ end
1944
+
1945
+ i0, s0 = index, []
1946
+ if has_terminal?('(', false, index)
1947
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1948
+ @index += 1
1949
+ else
1950
+ terminal_parse_failure('(')
1951
+ r1 = nil
1952
+ end
1953
+ s0 << r1
1954
+ if r1
1955
+ r3 = _nt_space
1956
+ if r3
1957
+ r2 = r3
1958
+ else
1959
+ r2 = instantiate_node(SyntaxNode,input, index...index)
1960
+ end
1961
+ s0 << r2
1962
+ if r2
1963
+ r4 = _nt_parsing_expression
1964
+ s0 << r4
1965
+ if r4
1966
+ r6 = _nt_space
1967
+ if r6
1968
+ r5 = r6
1969
+ else
1970
+ r5 = instantiate_node(SyntaxNode,input, index...index)
1971
+ end
1972
+ s0 << r5
1973
+ if r5
1974
+ if has_terminal?(')', false, index)
1975
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
1976
+ @index += 1
1977
+ else
1978
+ terminal_parse_failure(')')
1979
+ r7 = nil
1980
+ end
1981
+ s0 << r7
1982
+ end
1983
+ end
1984
+ end
1985
+ end
1986
+ if s0.last
1987
+ r0 = instantiate_node(ParenthesizedExpression,input, i0...index, s0)
1988
+ r0.extend(ParenthesizedExpression0)
1989
+ r0.extend(ParenthesizedExpression1)
1990
+ else
1991
+ @index = i0
1992
+ r0 = nil
1993
+ end
1994
+
1995
+ node_cache[:parenthesized_expression][start_index] = r0
1996
+
1997
+ r0
1998
+ end
1999
+
2000
+ module Nonterminal0
2001
+ def alpha_char
2002
+ elements[0]
2003
+ end
2004
+
2005
+ end
2006
+
2007
+ module Nonterminal1
2008
+ end
2009
+
2010
+ def _nt_nonterminal
2011
+ start_index = index
2012
+ if node_cache[:nonterminal].has_key?(index)
2013
+ cached = node_cache[:nonterminal][index]
2014
+ @index = cached.interval.end if cached
2015
+ return cached
2016
+ end
2017
+
2018
+ i0, s0 = index, []
2019
+ i1 = index
2020
+ r2 = _nt_keyword_inside_grammar
2021
+ if r2
2022
+ r1 = nil
2023
+ else
2024
+ @index = i1
2025
+ r1 = instantiate_node(SyntaxNode,input, index...index)
2026
+ end
2027
+ s0 << r1
2028
+ if r1
2029
+ i3, s3 = index, []
2030
+ r4 = _nt_alpha_char
2031
+ s3 << r4
2032
+ if r4
2033
+ s5, i5 = [], index
2034
+ loop do
2035
+ r6 = _nt_alphanumeric_char
2036
+ if r6
2037
+ s5 << r6
2038
+ else
2039
+ break
2040
+ end
2041
+ end
2042
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2043
+ s3 << r5
2044
+ end
2045
+ if s3.last
2046
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2047
+ r3.extend(Nonterminal0)
2048
+ else
2049
+ @index = i3
2050
+ r3 = nil
2051
+ end
2052
+ s0 << r3
2053
+ end
2054
+ if s0.last
2055
+ r0 = instantiate_node(Nonterminal,input, i0...index, s0)
2056
+ r0.extend(Nonterminal1)
2057
+ else
2058
+ @index = i0
2059
+ r0 = nil
2060
+ end
2061
+
2062
+ node_cache[:nonterminal][start_index] = r0
2063
+
2064
+ r0
2065
+ end
2066
+
2067
+ def _nt_terminal
2068
+ start_index = index
2069
+ if node_cache[:terminal].has_key?(index)
2070
+ cached = node_cache[:terminal][index]
2071
+ @index = cached.interval.end if cached
2072
+ return cached
2073
+ end
2074
+
2075
+ i0 = index
2076
+ r1 = _nt_quoted_string
2077
+ if r1
2078
+ r0 = r1
2079
+ else
2080
+ r2 = _nt_character_class
2081
+ if r2
2082
+ r0 = r2
2083
+ else
2084
+ r3 = _nt_anything_symbol
2085
+ if r3
2086
+ r0 = r3
2087
+ else
2088
+ @index = i0
2089
+ r0 = nil
2090
+ end
2091
+ end
2092
+ end
2093
+
2094
+ node_cache[:terminal][start_index] = r0
2095
+
2096
+ r0
2097
+ end
2098
+
2099
+ module QuotedString0
2100
+ def string
2101
+ super.text_value
2102
+ end
2103
+ end
2104
+
2105
+ def _nt_quoted_string
2106
+ start_index = index
2107
+ if node_cache[:quoted_string].has_key?(index)
2108
+ cached = node_cache[:quoted_string][index]
2109
+ @index = cached.interval.end if cached
2110
+ return cached
2111
+ end
2112
+
2113
+ i0 = index
2114
+ r1 = _nt_single_quoted_string
2115
+ if r1
2116
+ r0 = r1
2117
+ r0.extend(QuotedString0)
2118
+ else
2119
+ r2 = _nt_double_quoted_string
2120
+ if r2
2121
+ r0 = r2
2122
+ r0.extend(QuotedString0)
2123
+ else
2124
+ @index = i0
2125
+ r0 = nil
2126
+ end
2127
+ end
2128
+
2129
+ node_cache[:quoted_string][start_index] = r0
2130
+
2131
+ r0
2132
+ end
2133
+
2134
+ module DoubleQuotedString0
2135
+ end
2136
+
2137
+ module DoubleQuotedString1
2138
+ def string
2139
+ elements[1]
2140
+ end
2141
+
2142
+ end
2143
+
2144
+ def _nt_double_quoted_string
2145
+ start_index = index
2146
+ if node_cache[:double_quoted_string].has_key?(index)
2147
+ cached = node_cache[:double_quoted_string][index]
2148
+ @index = cached.interval.end if cached
2149
+ return cached
2150
+ end
2151
+
2152
+ i0, s0 = index, []
2153
+ if has_terminal?('"', false, index)
2154
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
2155
+ @index += 1
2156
+ else
2157
+ terminal_parse_failure('"')
2158
+ r1 = nil
2159
+ end
2160
+ s0 << r1
2161
+ if r1
2162
+ s2, i2 = [], index
2163
+ loop do
2164
+ i3, s3 = index, []
2165
+ i4 = index
2166
+ if has_terminal?('"', false, index)
2167
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
2168
+ @index += 1
2169
+ else
2170
+ terminal_parse_failure('"')
2171
+ r5 = nil
2172
+ end
2173
+ if r5
2174
+ r4 = nil
2175
+ else
2176
+ @index = i4
2177
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2178
+ end
2179
+ s3 << r4
2180
+ if r4
2181
+ i6 = index
2182
+ if has_terminal?("\\\\", false, index)
2183
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
2184
+ @index += 2
2185
+ else
2186
+ terminal_parse_failure("\\\\")
2187
+ r7 = nil
2188
+ end
2189
+ if r7
2190
+ r6 = r7
2191
+ else
2192
+ if has_terminal?('\"', false, index)
2193
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 2))
2194
+ @index += 2
2195
+ else
2196
+ terminal_parse_failure('\"')
2197
+ r8 = nil
2198
+ end
2199
+ if r8
2200
+ r6 = r8
2201
+ else
2202
+ if index < input_length
2203
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2204
+ r9 = instantiate_node(SyntaxNode,input, index...next_character)
2205
+ @index = next_character
2206
+ else
2207
+ terminal_parse_failure("any character")
2208
+ r9 = nil
2209
+ end
2210
+ if r9
2211
+ r6 = r9
2212
+ else
2213
+ @index = i6
2214
+ r6 = nil
2215
+ end
2216
+ end
2217
+ end
2218
+ s3 << r6
2219
+ end
2220
+ if s3.last
2221
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2222
+ r3.extend(DoubleQuotedString0)
2223
+ else
2224
+ @index = i3
2225
+ r3 = nil
2226
+ end
2227
+ if r3
2228
+ s2 << r3
2229
+ else
2230
+ break
2231
+ end
2232
+ end
2233
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2234
+ s0 << r2
2235
+ if r2
2236
+ if has_terminal?('"', false, index)
2237
+ r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
2238
+ @index += 1
2239
+ else
2240
+ terminal_parse_failure('"')
2241
+ r10 = nil
2242
+ end
2243
+ s0 << r10
2244
+ end
2245
+ end
2246
+ if s0.last
2247
+ r0 = instantiate_node(Terminal,input, i0...index, s0)
2248
+ r0.extend(DoubleQuotedString1)
2249
+ else
2250
+ @index = i0
2251
+ r0 = nil
2252
+ end
2253
+
2254
+ node_cache[:double_quoted_string][start_index] = r0
2255
+
2256
+ r0
2257
+ end
2258
+
2259
+ module SingleQuotedString0
2260
+ end
2261
+
2262
+ module SingleQuotedString1
2263
+ def string
2264
+ elements[1]
2265
+ end
2266
+
2267
+ end
2268
+
2269
+ def _nt_single_quoted_string
2270
+ start_index = index
2271
+ if node_cache[:single_quoted_string].has_key?(index)
2272
+ cached = node_cache[:single_quoted_string][index]
2273
+ @index = cached.interval.end if cached
2274
+ return cached
2275
+ end
2276
+
2277
+ i0, s0 = index, []
2278
+ if has_terminal?("'", false, index)
2279
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
2280
+ @index += 1
2281
+ else
2282
+ terminal_parse_failure("'")
2283
+ r1 = nil
2284
+ end
2285
+ s0 << r1
2286
+ if r1
2287
+ s2, i2 = [], index
2288
+ loop do
2289
+ i3, s3 = index, []
2290
+ i4 = index
2291
+ if has_terminal?("'", false, index)
2292
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
2293
+ @index += 1
2294
+ else
2295
+ terminal_parse_failure("'")
2296
+ r5 = nil
2297
+ end
2298
+ if r5
2299
+ r4 = nil
2300
+ else
2301
+ @index = i4
2302
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2303
+ end
2304
+ s3 << r4
2305
+ if r4
2306
+ i6 = index
2307
+ if has_terminal?("\\\\", false, index)
2308
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 2))
2309
+ @index += 2
2310
+ else
2311
+ terminal_parse_failure("\\\\")
2312
+ r7 = nil
2313
+ end
2314
+ if r7
2315
+ r6 = r7
2316
+ else
2317
+ if has_terminal?("\\'", false, index)
2318
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 2))
2319
+ @index += 2
2320
+ else
2321
+ terminal_parse_failure("\\'")
2322
+ r8 = nil
2323
+ end
2324
+ if r8
2325
+ r6 = r8
2326
+ else
2327
+ if index < input_length
2328
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2329
+ r9 = instantiate_node(SyntaxNode,input, index...next_character)
2330
+ @index = next_character
2331
+ else
2332
+ terminal_parse_failure("any character")
2333
+ r9 = nil
2334
+ end
2335
+ if r9
2336
+ r6 = r9
2337
+ else
2338
+ @index = i6
2339
+ r6 = nil
2340
+ end
2341
+ end
2342
+ end
2343
+ s3 << r6
2344
+ end
2345
+ if s3.last
2346
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2347
+ r3.extend(SingleQuotedString0)
2348
+ else
2349
+ @index = i3
2350
+ r3 = nil
2351
+ end
2352
+ if r3
2353
+ s2 << r3
2354
+ else
2355
+ break
2356
+ end
2357
+ end
2358
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2359
+ s0 << r2
2360
+ if r2
2361
+ if has_terminal?("'", false, index)
2362
+ r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
2363
+ @index += 1
2364
+ else
2365
+ terminal_parse_failure("'")
2366
+ r10 = nil
2367
+ end
2368
+ s0 << r10
2369
+ end
2370
+ end
2371
+ if s0.last
2372
+ r0 = instantiate_node(Terminal,input, i0...index, s0)
2373
+ r0.extend(SingleQuotedString1)
2374
+ else
2375
+ @index = i0
2376
+ r0 = nil
2377
+ end
2378
+
2379
+ node_cache[:single_quoted_string][start_index] = r0
2380
+
2381
+ r0
2382
+ end
2383
+
2384
+ module CharacterClass0
2385
+ end
2386
+
2387
+ module CharacterClass1
2388
+ end
2389
+
2390
+ module CharacterClass2
2391
+ end
2392
+
2393
+ module CharacterClass3
2394
+ def characters
2395
+ elements[1]
2396
+ end
2397
+
2398
+ end
2399
+
2400
+ module CharacterClass4
2401
+ def characters
2402
+ super.text_value
2403
+ end
2404
+ end
2405
+
2406
+ def _nt_character_class
2407
+ start_index = index
2408
+ if node_cache[:character_class].has_key?(index)
2409
+ cached = node_cache[:character_class][index]
2410
+ @index = cached.interval.end if cached
2411
+ return cached
2412
+ end
2413
+
2414
+ i0, s0 = index, []
2415
+ if has_terminal?('[', false, index)
2416
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
2417
+ @index += 1
2418
+ else
2419
+ terminal_parse_failure('[')
2420
+ r1 = nil
2421
+ end
2422
+ s0 << r1
2423
+ if r1
2424
+ s2, i2 = [], index
2425
+ loop do
2426
+ i3, s3 = index, []
2427
+ i4 = index
2428
+ if has_terminal?(']', false, index)
2429
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
2430
+ @index += 1
2431
+ else
2432
+ terminal_parse_failure(']')
2433
+ r5 = nil
2434
+ end
2435
+ if r5
2436
+ r4 = nil
2437
+ else
2438
+ @index = i4
2439
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2440
+ end
2441
+ s3 << r4
2442
+ if r4
2443
+ i6 = index
2444
+ i7, s7 = index, []
2445
+ if has_terminal?('\\', false, index)
2446
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
2447
+ @index += 1
2448
+ else
2449
+ terminal_parse_failure('\\')
2450
+ r8 = nil
2451
+ end
2452
+ s7 << r8
2453
+ if r8
2454
+ if index < input_length
2455
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2456
+ r9 = instantiate_node(SyntaxNode,input, index...next_character)
2457
+ @index = next_character
2458
+ else
2459
+ terminal_parse_failure("any character")
2460
+ r9 = nil
2461
+ end
2462
+ s7 << r9
2463
+ end
2464
+ if s7.last
2465
+ r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
2466
+ r7.extend(CharacterClass0)
2467
+ else
2468
+ @index = i7
2469
+ r7 = nil
2470
+ end
2471
+ if r7
2472
+ r6 = r7
2473
+ else
2474
+ i10, s10 = index, []
2475
+ i11 = index
2476
+ if has_terminal?('\\', false, index)
2477
+ r12 = instantiate_node(SyntaxNode,input, index...(index + 1))
2478
+ @index += 1
2479
+ else
2480
+ terminal_parse_failure('\\')
2481
+ r12 = nil
2482
+ end
2483
+ if r12
2484
+ r11 = nil
2485
+ else
2486
+ @index = i11
2487
+ r11 = instantiate_node(SyntaxNode,input, index...index)
2488
+ end
2489
+ s10 << r11
2490
+ if r11
2491
+ if index < input_length
2492
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2493
+ r13 = instantiate_node(SyntaxNode,input, index...next_character)
2494
+ @index = next_character
2495
+ else
2496
+ terminal_parse_failure("any character")
2497
+ r13 = nil
2498
+ end
2499
+ s10 << r13
2500
+ end
2501
+ if s10.last
2502
+ r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
2503
+ r10.extend(CharacterClass1)
2504
+ else
2505
+ @index = i10
2506
+ r10 = nil
2507
+ end
2508
+ if r10
2509
+ r6 = r10
2510
+ else
2511
+ @index = i6
2512
+ r6 = nil
2513
+ end
2514
+ end
2515
+ s3 << r6
2516
+ end
2517
+ if s3.last
2518
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
2519
+ r3.extend(CharacterClass2)
2520
+ else
2521
+ @index = i3
2522
+ r3 = nil
2523
+ end
2524
+ if r3
2525
+ s2 << r3
2526
+ else
2527
+ break
2528
+ end
2529
+ end
2530
+ if s2.empty?
2531
+ @index = i2
2532
+ r2 = nil
2533
+ else
2534
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2535
+ end
2536
+ s0 << r2
2537
+ if r2
2538
+ if has_terminal?(']', false, index)
2539
+ r14 = instantiate_node(SyntaxNode,input, index...(index + 1))
2540
+ @index += 1
2541
+ else
2542
+ terminal_parse_failure(']')
2543
+ r14 = nil
2544
+ end
2545
+ s0 << r14
2546
+ end
2547
+ end
2548
+ if s0.last
2549
+ r0 = instantiate_node(CharacterClass,input, i0...index, s0)
2550
+ r0.extend(CharacterClass3)
2551
+ r0.extend(CharacterClass4)
2552
+ else
2553
+ @index = i0
2554
+ r0 = nil
2555
+ end
2556
+
2557
+ node_cache[:character_class][start_index] = r0
2558
+
2559
+ r0
2560
+ end
2561
+
2562
+ def _nt_anything_symbol
2563
+ start_index = index
2564
+ if node_cache[:anything_symbol].has_key?(index)
2565
+ cached = node_cache[:anything_symbol][index]
2566
+ @index = cached.interval.end if cached
2567
+ return cached
2568
+ end
2569
+
2570
+ if has_terminal?('.', false, index)
2571
+ r0 = instantiate_node(AnythingSymbol,input, index...(index + 1))
2572
+ @index += 1
2573
+ else
2574
+ terminal_parse_failure('.')
2575
+ r0 = nil
2576
+ end
2577
+
2578
+ node_cache[:anything_symbol][start_index] = r0
2579
+
2580
+ r0
2581
+ end
2582
+
2583
+ module NodeClassExpression0
2584
+ end
2585
+
2586
+ module NodeClassExpression1
2587
+ def space
2588
+ elements[0]
2589
+ end
2590
+
2591
+ end
2592
+
2593
+ module NodeClassExpression2
2594
+ def node_class_name
2595
+ elements[2].text_value
2596
+ end
2597
+ end
2598
+
2599
+ module NodeClassExpression3
2600
+ def node_class_name
2601
+ nil
2602
+ end
2603
+ end
2604
+
2605
+ def _nt_node_class_expression
2606
+ start_index = index
2607
+ if node_cache[:node_class_expression].has_key?(index)
2608
+ cached = node_cache[:node_class_expression][index]
2609
+ @index = cached.interval.end if cached
2610
+ return cached
2611
+ end
2612
+
2613
+ i0 = index
2614
+ i1, s1 = index, []
2615
+ r2 = _nt_space
2616
+ s1 << r2
2617
+ if r2
2618
+ if has_terminal?('<', false, index)
2619
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
2620
+ @index += 1
2621
+ else
2622
+ terminal_parse_failure('<')
2623
+ r3 = nil
2624
+ end
2625
+ s1 << r3
2626
+ if r3
2627
+ s4, i4 = [], index
2628
+ loop do
2629
+ i5, s5 = index, []
2630
+ i6 = index
2631
+ if has_terminal?('>', false, index)
2632
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 1))
2633
+ @index += 1
2634
+ else
2635
+ terminal_parse_failure('>')
2636
+ r7 = nil
2637
+ end
2638
+ if r7
2639
+ r6 = nil
2640
+ else
2641
+ @index = i6
2642
+ r6 = instantiate_node(SyntaxNode,input, index...index)
2643
+ end
2644
+ s5 << r6
2645
+ if r6
2646
+ if index < input_length
2647
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2648
+ r8 = instantiate_node(SyntaxNode,input, index...next_character)
2649
+ @index = next_character
2650
+ else
2651
+ terminal_parse_failure("any character")
2652
+ r8 = nil
2653
+ end
2654
+ s5 << r8
2655
+ end
2656
+ if s5.last
2657
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2658
+ r5.extend(NodeClassExpression0)
2659
+ else
2660
+ @index = i5
2661
+ r5 = nil
2662
+ end
2663
+ if r5
2664
+ s4 << r5
2665
+ else
2666
+ break
2667
+ end
2668
+ end
2669
+ if s4.empty?
2670
+ @index = i4
2671
+ r4 = nil
2672
+ else
2673
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
2674
+ end
2675
+ s1 << r4
2676
+ if r4
2677
+ if has_terminal?('>', false, index)
2678
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
2679
+ @index += 1
2680
+ else
2681
+ terminal_parse_failure('>')
2682
+ r9 = nil
2683
+ end
2684
+ s1 << r9
2685
+ end
2686
+ end
2687
+ end
2688
+ if s1.last
2689
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
2690
+ r1.extend(NodeClassExpression1)
2691
+ r1.extend(NodeClassExpression2)
2692
+ else
2693
+ @index = i1
2694
+ r1 = nil
2695
+ end
2696
+ if r1
2697
+ r0 = r1
2698
+ else
2699
+ if has_terminal?('', false, index)
2700
+ r10 = instantiate_node(SyntaxNode,input, index...(index + 0))
2701
+ r10.extend(NodeClassExpression3)
2702
+ @index += 0
2703
+ else
2704
+ terminal_parse_failure('')
2705
+ r10 = nil
2706
+ end
2707
+ if r10
2708
+ r0 = r10
2709
+ else
2710
+ @index = i0
2711
+ r0 = nil
2712
+ end
2713
+ end
2714
+
2715
+ node_cache[:node_class_expression][start_index] = r0
2716
+
2717
+ r0
2718
+ end
2719
+
2720
+ module TrailingInlineModule0
2721
+ def space
2722
+ elements[0]
2723
+ end
2724
+
2725
+ def inline_module
2726
+ elements[1]
2727
+ end
2728
+ end
2729
+
2730
+ module TrailingInlineModule1
2731
+ def inline_modules
2732
+ [inline_module]
2733
+ end
2734
+
2735
+ def inline_module_name
2736
+ inline_module.module_name
2737
+ end
2738
+ end
2739
+
2740
+ module TrailingInlineModule2
2741
+ def inline_modules
2742
+ []
2743
+ end
2744
+
2745
+ def inline_module
2746
+ nil
2747
+ end
2748
+
2749
+ def inline_module_name
2750
+ nil
2751
+ end
2752
+ end
2753
+
2754
+ def _nt_trailing_inline_module
2755
+ start_index = index
2756
+ if node_cache[:trailing_inline_module].has_key?(index)
2757
+ cached = node_cache[:trailing_inline_module][index]
2758
+ @index = cached.interval.end if cached
2759
+ return cached
2760
+ end
2761
+
2762
+ i0 = index
2763
+ i1, s1 = index, []
2764
+ r2 = _nt_space
2765
+ s1 << r2
2766
+ if r2
2767
+ r3 = _nt_inline_module
2768
+ s1 << r3
2769
+ end
2770
+ if s1.last
2771
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
2772
+ r1.extend(TrailingInlineModule0)
2773
+ r1.extend(TrailingInlineModule1)
2774
+ else
2775
+ @index = i1
2776
+ r1 = nil
2777
+ end
2778
+ if r1
2779
+ r0 = r1
2780
+ else
2781
+ if has_terminal?('', false, index)
2782
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 0))
2783
+ r4.extend(TrailingInlineModule2)
2784
+ @index += 0
2785
+ else
2786
+ terminal_parse_failure('')
2787
+ r4 = nil
2788
+ end
2789
+ if r4
2790
+ r0 = r4
2791
+ else
2792
+ @index = i0
2793
+ r0 = nil
2794
+ end
2795
+ end
2796
+
2797
+ node_cache[:trailing_inline_module][start_index] = r0
2798
+
2799
+ r0
2800
+ end
2801
+
2802
+ module PredicateBlock0
2803
+ def inline_module
2804
+ elements[1]
2805
+ end
2806
+ end
2807
+
2808
+ def _nt_predicate_block
2809
+ start_index = index
2810
+ if node_cache[:predicate_block].has_key?(index)
2811
+ cached = node_cache[:predicate_block][index]
2812
+ @index = cached.interval.end if cached
2813
+ return cached
2814
+ end
2815
+
2816
+ i0, s0 = index, []
2817
+ if has_terminal?('', false, index)
2818
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 0))
2819
+ @index += 0
2820
+ else
2821
+ terminal_parse_failure('')
2822
+ r1 = nil
2823
+ end
2824
+ s0 << r1
2825
+ if r1
2826
+ r2 = _nt_inline_module
2827
+ s0 << r2
2828
+ end
2829
+ if s0.last
2830
+ r0 = instantiate_node(PredicateBlock,input, i0...index, s0)
2831
+ r0.extend(PredicateBlock0)
2832
+ else
2833
+ @index = i0
2834
+ r0 = nil
2835
+ end
2836
+
2837
+ node_cache[:predicate_block][start_index] = r0
2838
+
2839
+ r0
2840
+ end
2841
+
2842
+ module InlineModule0
2843
+ end
2844
+
2845
+ module InlineModule1
2846
+ end
2847
+
2848
+ def _nt_inline_module
2849
+ start_index = index
2850
+ if node_cache[:inline_module].has_key?(index)
2851
+ cached = node_cache[:inline_module][index]
2852
+ @index = cached.interval.end if cached
2853
+ return cached
2854
+ end
2855
+
2856
+ i0, s0 = index, []
2857
+ if has_terminal?('{', false, index)
2858
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
2859
+ @index += 1
2860
+ else
2861
+ terminal_parse_failure('{')
2862
+ r1 = nil
2863
+ end
2864
+ s0 << r1
2865
+ if r1
2866
+ s2, i2 = [], index
2867
+ loop do
2868
+ i3 = index
2869
+ r4 = _nt_inline_module
2870
+ if r4
2871
+ r3 = r4
2872
+ else
2873
+ i5, s5 = index, []
2874
+ i6 = index
2875
+ if has_terminal?('\G[{}]', true, index)
2876
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2877
+ r7 = true
2878
+ @index = next_character
2879
+ else
2880
+ r7 = nil
2881
+ end
2882
+ if r7
2883
+ r6 = nil
2884
+ else
2885
+ @index = i6
2886
+ r6 = instantiate_node(SyntaxNode,input, index...index)
2887
+ end
2888
+ s5 << r6
2889
+ if r6
2890
+ if index < input_length
2891
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
2892
+ r8 = instantiate_node(SyntaxNode,input, index...next_character)
2893
+ @index = next_character
2894
+ else
2895
+ terminal_parse_failure("any character")
2896
+ r8 = nil
2897
+ end
2898
+ s5 << r8
2899
+ end
2900
+ if s5.last
2901
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
2902
+ r5.extend(InlineModule0)
2903
+ else
2904
+ @index = i5
2905
+ r5 = nil
2906
+ end
2907
+ if r5
2908
+ r3 = r5
2909
+ else
2910
+ @index = i3
2911
+ r3 = nil
2912
+ end
2913
+ end
2914
+ if r3
2915
+ s2 << r3
2916
+ else
2917
+ break
2918
+ end
2919
+ end
2920
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2921
+ s0 << r2
2922
+ if r2
2923
+ if has_terminal?('}', false, index)
2924
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
2925
+ @index += 1
2926
+ else
2927
+ terminal_parse_failure('}')
2928
+ r9 = nil
2929
+ end
2930
+ s0 << r9
2931
+ end
2932
+ end
2933
+ if s0.last
2934
+ r0 = instantiate_node(InlineModule,input, i0...index, s0)
2935
+ r0.extend(InlineModule1)
2936
+ else
2937
+ @index = i0
2938
+ r0 = nil
2939
+ end
2940
+
2941
+ node_cache[:inline_module][start_index] = r0
2942
+
2943
+ r0
2944
+ end
2945
+
2946
+ module KeywordInsideGrammar0
2947
+ end
2948
+
2949
+ def _nt_keyword_inside_grammar
2950
+ start_index = index
2951
+ if node_cache[:keyword_inside_grammar].has_key?(index)
2952
+ cached = node_cache[:keyword_inside_grammar][index]
2953
+ @index = cached.interval.end if cached
2954
+ return cached
2955
+ end
2956
+
2957
+ i0, s0 = index, []
2958
+ i1 = index
2959
+ if has_terminal?('rule', false, index)
2960
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 4))
2961
+ @index += 4
2962
+ else
2963
+ terminal_parse_failure('rule')
2964
+ r2 = nil
2965
+ end
2966
+ if r2
2967
+ r1 = r2
2968
+ else
2969
+ if has_terminal?('end', false, index)
2970
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 3))
2971
+ @index += 3
2972
+ else
2973
+ terminal_parse_failure('end')
2974
+ r3 = nil
2975
+ end
2976
+ if r3
2977
+ r1 = r3
2978
+ else
2979
+ @index = i1
2980
+ r1 = nil
2981
+ end
2982
+ end
2983
+ s0 << r1
2984
+ if r1
2985
+ i4 = index
2986
+ r5 = _nt_non_space_char
2987
+ if r5
2988
+ r4 = nil
2989
+ else
2990
+ @index = i4
2991
+ r4 = instantiate_node(SyntaxNode,input, index...index)
2992
+ end
2993
+ s0 << r4
2994
+ end
2995
+ if s0.last
2996
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2997
+ r0.extend(KeywordInsideGrammar0)
2998
+ else
2999
+ @index = i0
3000
+ r0 = nil
3001
+ end
3002
+
3003
+ node_cache[:keyword_inside_grammar][start_index] = r0
3004
+
3005
+ r0
3006
+ end
3007
+
3008
+ module NonSpaceChar0
3009
+ end
3010
+
3011
+ def _nt_non_space_char
3012
+ start_index = index
3013
+ if node_cache[:non_space_char].has_key?(index)
3014
+ cached = node_cache[:non_space_char][index]
3015
+ @index = cached.interval.end if cached
3016
+ return cached
3017
+ end
3018
+
3019
+ i0, s0 = index, []
3020
+ i1 = index
3021
+ r2 = _nt_space
3022
+ if r2
3023
+ r1 = nil
3024
+ else
3025
+ @index = i1
3026
+ r1 = instantiate_node(SyntaxNode,input, index...index)
3027
+ end
3028
+ s0 << r1
3029
+ if r1
3030
+ if index < input_length
3031
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
3032
+ r3 = instantiate_node(SyntaxNode,input, index...next_character)
3033
+ @index = next_character
3034
+ else
3035
+ terminal_parse_failure("any character")
3036
+ r3 = nil
3037
+ end
3038
+ s0 << r3
3039
+ end
3040
+ if s0.last
3041
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3042
+ r0.extend(NonSpaceChar0)
3043
+ else
3044
+ @index = i0
3045
+ r0 = nil
3046
+ end
3047
+
3048
+ node_cache[:non_space_char][start_index] = r0
3049
+
3050
+ r0
3051
+ end
3052
+
3053
+ def _nt_alpha_char
3054
+ start_index = index
3055
+ if node_cache[:alpha_char].has_key?(index)
3056
+ cached = node_cache[:alpha_char][index]
3057
+ @index = cached.interval.end if cached
3058
+ return cached
3059
+ end
3060
+
3061
+ if has_terminal?('\G[A-Za-z_]', true, index)
3062
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
3063
+ r0 = instantiate_node(SyntaxNode, input, index...next_character)
3064
+ @index = next_character
3065
+ else
3066
+ r0 = nil
3067
+ end
3068
+
3069
+ node_cache[:alpha_char][start_index] = r0
3070
+
3071
+ r0
3072
+ end
3073
+
3074
+ def _nt_alphanumeric_char
3075
+ start_index = index
3076
+ if node_cache[:alphanumeric_char].has_key?(index)
3077
+ cached = node_cache[:alphanumeric_char][index]
3078
+ @index = cached.interval.end if cached
3079
+ return cached
3080
+ end
3081
+
3082
+ i0 = index
3083
+ r1 = _nt_alpha_char
3084
+ if r1
3085
+ r0 = r1
3086
+ else
3087
+ if has_terminal?('\G[0-9]', true, index)
3088
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
3089
+ r2 = true
3090
+ @index = next_character
3091
+ else
3092
+ r2 = nil
3093
+ end
3094
+ if r2
3095
+ r0 = r2
3096
+ else
3097
+ @index = i0
3098
+ r0 = nil
3099
+ end
3100
+ end
3101
+
3102
+ node_cache[:alphanumeric_char][start_index] = r0
3103
+
3104
+ r0
3105
+ end
3106
+
3107
+ def _nt_space
3108
+ start_index = index
3109
+ if node_cache[:space].has_key?(index)
3110
+ cached = node_cache[:space][index]
3111
+ @index = cached.interval.end if cached
3112
+ return cached
3113
+ end
3114
+
3115
+ s0, i0 = [], index
3116
+ loop do
3117
+ i1 = index
3118
+ r2 = _nt_white
3119
+ if r2
3120
+ r1 = r2
3121
+ else
3122
+ r3 = _nt_comment_to_eol
3123
+ if r3
3124
+ r1 = r3
3125
+ else
3126
+ @index = i1
3127
+ r1 = nil
3128
+ end
3129
+ end
3130
+ if r1
3131
+ s0 << r1
3132
+ else
3133
+ break
3134
+ end
3135
+ end
3136
+ if s0.empty?
3137
+ @index = i0
3138
+ r0 = nil
3139
+ else
3140
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3141
+ end
3142
+
3143
+ node_cache[:space][start_index] = r0
3144
+
3145
+ r0
3146
+ end
3147
+
3148
+ module CommentToEol0
3149
+ end
3150
+
3151
+ module CommentToEol1
3152
+ end
3153
+
3154
+ def _nt_comment_to_eol
3155
+ start_index = index
3156
+ if node_cache[:comment_to_eol].has_key?(index)
3157
+ cached = node_cache[:comment_to_eol][index]
3158
+ @index = cached.interval.end if cached
3159
+ return cached
3160
+ end
3161
+
3162
+ i0, s0 = index, []
3163
+ if has_terminal?('#', false, index)
3164
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
3165
+ @index += 1
3166
+ else
3167
+ terminal_parse_failure('#')
3168
+ r1 = nil
3169
+ end
3170
+ s0 << r1
3171
+ if r1
3172
+ s2, i2 = [], index
3173
+ loop do
3174
+ i3, s3 = index, []
3175
+ i4 = index
3176
+ if has_terminal?("\n", false, index)
3177
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
3178
+ @index += 1
3179
+ else
3180
+ terminal_parse_failure("\n")
3181
+ r5 = nil
3182
+ end
3183
+ if r5
3184
+ r4 = nil
3185
+ else
3186
+ @index = i4
3187
+ r4 = instantiate_node(SyntaxNode,input, index...index)
3188
+ end
3189
+ s3 << r4
3190
+ if r4
3191
+ if index < input_length
3192
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
3193
+ r6 = instantiate_node(SyntaxNode,input, index...next_character)
3194
+ @index = next_character
3195
+ else
3196
+ terminal_parse_failure("any character")
3197
+ r6 = nil
3198
+ end
3199
+ s3 << r6
3200
+ end
3201
+ if s3.last
3202
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
3203
+ r3.extend(CommentToEol0)
3204
+ else
3205
+ @index = i3
3206
+ r3 = nil
3207
+ end
3208
+ if r3
3209
+ s2 << r3
3210
+ else
3211
+ break
3212
+ end
3213
+ end
3214
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
3215
+ s0 << r2
3216
+ end
3217
+ if s0.last
3218
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
3219
+ r0.extend(CommentToEol1)
3220
+ else
3221
+ @index = i0
3222
+ r0 = nil
3223
+ end
3224
+
3225
+ node_cache[:comment_to_eol][start_index] = r0
3226
+
3227
+ r0
3228
+ end
3229
+
3230
+ def _nt_white
3231
+ start_index = index
3232
+ if node_cache[:white].has_key?(index)
3233
+ cached = node_cache[:white][index]
3234
+ @index = cached.interval.end if cached
3235
+ return cached
3236
+ end
3237
+
3238
+ if has_terminal?('\G[ \\t\\n\\r]', true, index)
3239
+ next_character = index + input[index..-1].match(/\A(.)/um).end(1)
3240
+ r0 = instantiate_node(SyntaxNode, input, index...next_character)
3241
+ @index = next_character
3242
+ else
3243
+ r0 = nil
3244
+ end
3245
+
3246
+ node_cache[:white][start_index] = r0
3247
+
3248
+ r0
3249
+ end
3250
+
3251
+ end
3252
+
3253
+ class MetagrammarParser < Treetop::Runtime::CompiledParser
3254
+ include Metagrammar
3255
+ end
3256
+
3257
+ end
3258
+ end