rattler 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. data/README.rdoc +9 -3
  2. data/features/command_line/dest_option.feature +1 -1
  3. data/features/command_line/lib_option.feature +2 -2
  4. data/features/command_line/output_option.feature +2 -2
  5. data/features/command_line/parser_generator.feature +3 -3
  6. data/features/grammar/any_character.feature +0 -4
  7. data/features/grammar/back_reference.feature +0 -4
  8. data/features/grammar/character_class.feature +0 -4
  9. data/features/grammar/comments.feature +0 -4
  10. data/features/grammar/e_symbol.feature +18 -0
  11. data/features/grammar/eof.feature +0 -4
  12. data/features/grammar/fail.feature +0 -4
  13. data/features/grammar/list_matching.feature +52 -3
  14. data/features/grammar/literal.feature +0 -4
  15. data/features/grammar/negative_lookahead.feature +0 -4
  16. data/features/grammar/negative_semantic_predicate.feature +99 -0
  17. data/features/grammar/node_action.feature +17 -4
  18. data/features/grammar/nonterminal.feature +3 -7
  19. data/features/grammar/one_or_more.feature +0 -4
  20. data/features/grammar/optional.feature +0 -4
  21. data/features/grammar/ordered_choice.feature +0 -4
  22. data/features/grammar/positive_lookahead.feature +0 -4
  23. data/features/grammar/positive_semantic_predicate.feature +99 -0
  24. data/features/grammar/posix_class.feature +3 -6
  25. data/features/grammar/repeat.feature +50 -0
  26. data/features/grammar/sequence.feature +0 -4
  27. data/features/grammar/side_effect.feature +81 -0
  28. data/features/grammar/skip_operator.feature +2 -5
  29. data/features/grammar/start_rule.feature +1 -5
  30. data/features/grammar/symantic_action.feature +9 -4
  31. data/features/grammar/token.feature +0 -4
  32. data/features/grammar/whitespace.feature +0 -4
  33. data/features/grammar/word_literal.feature +0 -4
  34. data/features/grammar/zero_or_more.feature +0 -4
  35. data/features/step_definitions/grammar_steps.rb +5 -1
  36. data/lib/rattler/back_end/optimizer.rb +1 -0
  37. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rb +20 -8
  38. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rb +10 -7
  39. data/lib/rattler/back_end/optimizer/specialize_repeat.rb +40 -0
  40. data/lib/rattler/back_end/parser_generator.rb +11 -6
  41. data/lib/rattler/back_end/parser_generator/delegating_generator.rb +20 -0
  42. data/lib/rattler/back_end/parser_generator/e_symbol_generator.rb +52 -0
  43. data/lib/rattler/back_end/parser_generator/eof_generator.rb +58 -0
  44. data/lib/rattler/back_end/parser_generator/expr_generator.rb +6 -2
  45. data/lib/rattler/back_end/parser_generator/gen_method_names.rb +15 -5
  46. data/lib/rattler/back_end/parser_generator/general_list_generator.rb +194 -0
  47. data/lib/rattler/back_end/parser_generator/general_repeat_generator.rb +177 -0
  48. data/lib/rattler/back_end/parser_generator/label_generator.rb +4 -1
  49. data/lib/rattler/back_end/parser_generator/list0_generating.rb +36 -0
  50. data/lib/rattler/back_end/parser_generator/list1_generating.rb +30 -0
  51. data/lib/rattler/back_end/parser_generator/list_generator.rb +16 -20
  52. data/lib/rattler/back_end/parser_generator/one_or_more_generating.rb +25 -0
  53. data/lib/rattler/back_end/parser_generator/{optional_generator.rb → optional_generating.rb} +66 -81
  54. data/lib/rattler/back_end/parser_generator/predicate_propogating.rb +4 -4
  55. data/lib/rattler/back_end/parser_generator/repeat_generator.rb +53 -0
  56. data/lib/rattler/back_end/parser_generator/skip_propogating.rb +2 -2
  57. data/lib/rattler/back_end/parser_generator/sub_generating.rb +16 -18
  58. data/lib/rattler/back_end/parser_generator/token_propogating.rb +1 -1
  59. data/lib/rattler/back_end/parser_generator/zero_or_more_generating.rb +31 -0
  60. data/lib/rattler/grammar/grammar_parser.rb +20 -0
  61. data/lib/rattler/grammar/metagrammar.rb +131 -13
  62. data/lib/rattler/grammar/rattler.rtlr +25 -12
  63. data/lib/rattler/parsers.rb +9 -5
  64. data/lib/rattler/parsers/assert_code.rb +31 -0
  65. data/lib/rattler/parsers/atomic.rb +19 -0
  66. data/lib/rattler/parsers/direct_action.rb +12 -4
  67. data/lib/rattler/parsers/disallow_code.rb +31 -0
  68. data/lib/rattler/parsers/dispatch_action.rb +3 -2
  69. data/lib/rattler/parsers/e_symbol.rb +47 -0
  70. data/lib/rattler/parsers/effect_code.rb +31 -0
  71. data/lib/rattler/parsers/eof.rb +6 -13
  72. data/lib/rattler/parsers/list_parser.rb +33 -14
  73. data/lib/rattler/parsers/match.rb +1 -6
  74. data/lib/rattler/parsers/parser_dsl.rb +78 -35
  75. data/lib/rattler/parsers/predicate.rb +1 -4
  76. data/lib/rattler/parsers/repeat.rb +76 -0
  77. data/lib/rattler/parsers/semantic_assert.rb +19 -0
  78. data/lib/rattler/parsers/semantic_disallow.rb +19 -0
  79. data/lib/rattler/parsers/side_effect.rb +19 -0
  80. data/lib/rattler/parsers/skip.rb +1 -9
  81. data/lib/rattler/parsers/token.rb +1 -6
  82. data/lib/rattler/util/graphviz/node_builder.rb +6 -3
  83. data/spec/rattler/back_end/assert_compiler_examples.rb +187 -0
  84. data/spec/rattler/back_end/direct_action_compiler_examples.rb +227 -0
  85. data/spec/rattler/back_end/disallow_compiler_examples.rb +187 -0
  86. data/spec/rattler/back_end/dispatch_action_compiler_examples.rb +225 -0
  87. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rb +45 -33
  88. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rb +32 -172
  89. data/spec/rattler/back_end/parser_generator/e_symbol_generator_spec.rb +149 -0
  90. data/spec/rattler/back_end/parser_generator/eof_generator_spec.rb +152 -0
  91. data/spec/rattler/back_end/parser_generator/label_generator_spec.rb +4 -4
  92. data/spec/rattler/back_end/parser_generator/list0_generator_examples.rb +322 -0
  93. data/spec/rattler/back_end/parser_generator/list1_generator_examples.rb +343 -0
  94. data/spec/rattler/back_end/parser_generator/list_generator_spec.rb +597 -140
  95. data/spec/rattler/back_end/parser_generator/one_or_more_generator_examples.rb +292 -0
  96. data/spec/rattler/back_end/parser_generator/optional_generator_examples.rb +233 -0
  97. data/spec/rattler/back_end/parser_generator/repeat_generator_spec.rb +281 -0
  98. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_examples.rb +277 -0
  99. data/spec/rattler/back_end/semantic_assert_compiler_examples.rb +152 -0
  100. data/spec/rattler/back_end/semantic_disallow_compiler_examples.rb +152 -0
  101. data/spec/rattler/back_end/shared_compiler_examples.rb +106 -651
  102. data/spec/rattler/back_end/side_effect_compiler_examples.rb +227 -0
  103. data/spec/rattler/back_end/skip_compiler_examples.rb +161 -0
  104. data/spec/rattler/back_end/token_compiler_examples.rb +262 -0
  105. data/spec/rattler/grammar/grammar_parser_spec.rb +302 -23
  106. data/spec/rattler/parsers/apply_spec.rb +6 -0
  107. data/spec/rattler/parsers/assert_spec.rb +18 -7
  108. data/spec/rattler/parsers/back_reference_spec.rb +9 -0
  109. data/spec/rattler/parsers/choice_spec.rb +36 -21
  110. data/spec/rattler/parsers/direct_action_spec.rb +76 -36
  111. data/spec/rattler/parsers/disallow_spec.rb +18 -7
  112. data/spec/rattler/parsers/dispatch_action_spec.rb +128 -22
  113. data/spec/rattler/parsers/e_symbol_spec.rb +30 -0
  114. data/spec/rattler/parsers/eof_spec.rb +15 -6
  115. data/spec/rattler/parsers/label_spec.rb +15 -2
  116. data/spec/rattler/parsers/list_parser_spec.rb +187 -0
  117. data/spec/rattler/parsers/match_spec.rb +16 -7
  118. data/spec/rattler/parsers/parser_dsl_spec.rb +82 -23
  119. data/spec/rattler/parsers/repeat_spec.rb +233 -0
  120. data/spec/rattler/parsers/semantic_assert_spec.rb +83 -0
  121. data/spec/rattler/parsers/semantic_disallow_spec.rb +83 -0
  122. data/spec/rattler/parsers/sequence_spec.rb +34 -20
  123. data/spec/rattler/parsers/side_effect_spec.rb +214 -0
  124. data/spec/rattler/parsers/skip_spec.rb +17 -6
  125. data/spec/rattler_spec.rb +2 -0
  126. data/spec/support/compiler_spec_helper.rb +8 -0
  127. metadata +156 -447
  128. data/bin/rtlr.compiled.rbc +0 -201
  129. data/features/step_definitions/cli_steps.rbc +0 -149
  130. data/features/step_definitions/grammar_steps.rbc +0 -1211
  131. data/features/support/env.rbc +0 -389
  132. data/lib/rattler.rbc +0 -1231
  133. data/lib/rattler/back_end.rbc +0 -286
  134. data/lib/rattler/back_end/compiler.rbc +0 -1394
  135. data/lib/rattler/back_end/optimizer.rbc +0 -2000
  136. data/lib/rattler/back_end/optimizer/composite_reducing.rbc +0 -337
  137. data/lib/rattler/back_end/optimizer/flatten_choice.rbc +0 -443
  138. data/lib/rattler/back_end/optimizer/flatten_sequence.rbc +0 -827
  139. data/lib/rattler/back_end/optimizer/flattening.rbc +0 -570
  140. data/lib/rattler/back_end/optimizer/inline_regular_rules.rbc +0 -691
  141. data/lib/rattler/back_end/optimizer/join_match_capturing_sequence.rbc +0 -1299
  142. data/lib/rattler/back_end/optimizer/join_match_choice.rbc +0 -523
  143. data/lib/rattler/back_end/optimizer/join_match_matching_sequence.rbc +0 -619
  144. data/lib/rattler/back_end/optimizer/join_match_sequence.rbc +0 -174
  145. data/lib/rattler/back_end/optimizer/join_predicate_bare_match.rbc +0 -1505
  146. data/lib/rattler/back_end/optimizer/join_predicate_match.rbc +0 -174
  147. data/lib/rattler/back_end/optimizer/join_predicate_nested_match.rbc +0 -620
  148. data/lib/rattler/back_end/optimizer/join_predicate_or_bare_match.rbc +0 -1502
  149. data/lib/rattler/back_end/optimizer/join_predicate_or_match.rbc +0 -174
  150. data/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rbc +0 -616
  151. data/lib/rattler/back_end/optimizer/match_joining.rbc +0 -1454
  152. data/lib/rattler/back_end/optimizer/optimization.rbc +0 -1366
  153. data/lib/rattler/back_end/optimizer/optimization_context.rbc +0 -1386
  154. data/lib/rattler/back_end/optimizer/optimization_sequence.rbc +0 -520
  155. data/lib/rattler/back_end/optimizer/optimize_children.rbc +0 -793
  156. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rbc +0 -788
  157. data/lib/rattler/back_end/optimizer/remove_meaningless_wrapper.rbc +0 -508
  158. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rbc +0 -807
  159. data/lib/rattler/back_end/optimizer/simplify_token_match.rbc +0 -561
  160. data/lib/rattler/back_end/parser_generator.rbc +0 -1326
  161. data/lib/rattler/back_end/parser_generator/apply_generator.rbc +0 -2148
  162. data/lib/rattler/back_end/parser_generator/assert_generator.rbc +0 -1967
  163. data/lib/rattler/back_end/parser_generator/back_reference_generator.rbc +0 -1665
  164. data/lib/rattler/back_end/parser_generator/choice_generator.rbc +0 -2793
  165. data/lib/rattler/back_end/parser_generator/direct_action_generator.rbc +0 -1071
  166. data/lib/rattler/back_end/parser_generator/disallow_generator.rbc +0 -1967
  167. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rbc +0 -1071
  168. data/lib/rattler/back_end/parser_generator/expr_generator.rbc +0 -2295
  169. data/lib/rattler/back_end/parser_generator/fail_generator.rbc +0 -1216
  170. data/lib/rattler/back_end/parser_generator/gen_method_names.rbc +0 -296
  171. data/lib/rattler/back_end/parser_generator/group_match.rbc +0 -612
  172. data/lib/rattler/back_end/parser_generator/group_match_generator.rbc +0 -1647
  173. data/lib/rattler/back_end/parser_generator/label_generator.rbc +0 -1401
  174. data/lib/rattler/back_end/parser_generator/list1_generator.rb +0 -54
  175. data/lib/rattler/back_end/parser_generator/list1_generator.rbc +0 -1237
  176. data/lib/rattler/back_end/parser_generator/list_generating.rb +0 -71
  177. data/lib/rattler/back_end/parser_generator/list_generating.rbc +0 -1900
  178. data/lib/rattler/back_end/parser_generator/list_generator.rbc +0 -1068
  179. data/lib/rattler/back_end/parser_generator/match_generator.rbc +0 -1743
  180. data/lib/rattler/back_end/parser_generator/nested.rbc +0 -496
  181. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rb +0 -56
  182. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rbc +0 -1277
  183. data/lib/rattler/back_end/parser_generator/optional_generator.rbc +0 -2025
  184. data/lib/rattler/back_end/parser_generator/predicate_propogating.rbc +0 -648
  185. data/lib/rattler/back_end/parser_generator/repeat_generating.rb +0 -57
  186. data/lib/rattler/back_end/parser_generator/repeat_generating.rbc +0 -1549
  187. data/lib/rattler/back_end/parser_generator/rule_generator.rbc +0 -1239
  188. data/lib/rattler/back_end/parser_generator/rule_set_generator.rbc +0 -2641
  189. data/lib/rattler/back_end/parser_generator/sequence_generator.rbc +0 -4867
  190. data/lib/rattler/back_end/parser_generator/skip_generator.rbc +0 -1278
  191. data/lib/rattler/back_end/parser_generator/skip_propogating.rbc +0 -432
  192. data/lib/rattler/back_end/parser_generator/sub_generating.rbc +0 -2785
  193. data/lib/rattler/back_end/parser_generator/token_generator.rbc +0 -755
  194. data/lib/rattler/back_end/parser_generator/token_propogating.rbc +0 -324
  195. data/lib/rattler/back_end/parser_generator/top_level.rbc +0 -352
  196. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb +0 -53
  197. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rbc +0 -1111
  198. data/lib/rattler/back_end/ruby_generator.rbc +0 -1841
  199. data/lib/rattler/grammar.rbc +0 -557
  200. data/lib/rattler/grammar/analysis.rbc +0 -1944
  201. data/lib/rattler/grammar/grammar.rbc +0 -1090
  202. data/lib/rattler/grammar/grammar_dsl.rbc +0 -1401
  203. data/lib/rattler/grammar/grammar_parser.rbc +0 -2096
  204. data/lib/rattler/grammar/metagrammar.rbc +0 -11014
  205. data/lib/rattler/parsers.rbc +0 -1006
  206. data/lib/rattler/parsers/action_code.rbc +0 -1577
  207. data/lib/rattler/parsers/apply.rbc +0 -562
  208. data/lib/rattler/parsers/assert.rbc +0 -378
  209. data/lib/rattler/parsers/back_reference.rbc +0 -871
  210. data/lib/rattler/parsers/choice.rbc +0 -607
  211. data/lib/rattler/parsers/combinator_parser.rbc +0 -612
  212. data/lib/rattler/parsers/combining.rbc +0 -570
  213. data/lib/rattler/parsers/direct_action.rbc +0 -1472
  214. data/lib/rattler/parsers/disallow.rbc +0 -379
  215. data/lib/rattler/parsers/dispatch_action.rbc +0 -2078
  216. data/lib/rattler/parsers/eof.rbc +0 -567
  217. data/lib/rattler/parsers/fail.rbc +0 -745
  218. data/lib/rattler/parsers/label.rbc +0 -749
  219. data/lib/rattler/parsers/list.rbc +0 -292
  220. data/lib/rattler/parsers/list0.rb +0 -26
  221. data/lib/rattler/parsers/list0.rbc +0 -292
  222. data/lib/rattler/parsers/list1.rb +0 -26
  223. data/lib/rattler/parsers/list1.rbc +0 -305
  224. data/lib/rattler/parsers/list_parser.rbc +0 -886
  225. data/lib/rattler/parsers/match.rbc +0 -621
  226. data/lib/rattler/parsers/node_code.rbc +0 -1064
  227. data/lib/rattler/parsers/one_or_more.rb +0 -47
  228. data/lib/rattler/parsers/one_or_more.rbc +0 -475
  229. data/lib/rattler/parsers/optional.rb +0 -42
  230. data/lib/rattler/parsers/optional.rbc +0 -450
  231. data/lib/rattler/parsers/parser.rbc +0 -994
  232. data/lib/rattler/parsers/parser_dsl.rbc +0 -4765
  233. data/lib/rattler/parsers/predicate.rbc +0 -490
  234. data/lib/rattler/parsers/rule.rbc +0 -777
  235. data/lib/rattler/parsers/rule_set.rbc +0 -1438
  236. data/lib/rattler/parsers/sequence.rbc +0 -1040
  237. data/lib/rattler/parsers/skip.rbc +0 -613
  238. data/lib/rattler/parsers/token.rbc +0 -457
  239. data/lib/rattler/parsers/zero_or_more.rb +0 -40
  240. data/lib/rattler/parsers/zero_or_more.rbc +0 -462
  241. data/lib/rattler/runner.rbc +0 -3813
  242. data/lib/rattler/runtime.rbc +0 -370
  243. data/lib/rattler/runtime/extended_packrat_parser.rbc +0 -2351
  244. data/lib/rattler/runtime/packrat_parser.rbc +0 -1390
  245. data/lib/rattler/runtime/parse_failure.rbc +0 -909
  246. data/lib/rattler/runtime/parse_node.rbc +0 -1007
  247. data/lib/rattler/runtime/parser.rbc +0 -2267
  248. data/lib/rattler/runtime/parser_helper.rbc +0 -337
  249. data/lib/rattler/runtime/recursive_descent_parser.rbc +0 -942
  250. data/lib/rattler/util.rbc +0 -286
  251. data/lib/rattler/util/graphviz.rbc +0 -327
  252. data/lib/rattler/util/graphviz/node_builder.rbc +0 -2207
  253. data/lib/rattler/util/line_counter.rbc +0 -988
  254. data/lib/rattler/util/node.rbc +0 -2393
  255. data/lib/rattler/util/parser_spec_helper.rbc +0 -2533
  256. data/spec/rattler/back_end/compiler_spec.rbc +0 -1187
  257. data/spec/rattler/back_end/optimizer/flatten_choice_spec.rbc +0 -2093
  258. data/spec/rattler/back_end/optimizer/flatten_sequence_spec.rbc +0 -4055
  259. data/spec/rattler/back_end/optimizer/inline_regular_rules_spec.rbc +0 -2345
  260. data/spec/rattler/back_end/optimizer/join_match_capturing_sequence_spec.rbc +0 -7006
  261. data/spec/rattler/back_end/optimizer/join_match_choice_spec.rbc +0 -3252
  262. data/spec/rattler/back_end/optimizer/join_match_matching_sequence_spec.rbc +0 -3681
  263. data/spec/rattler/back_end/optimizer/join_predicate_bare_match_spec.rbc +0 -5603
  264. data/spec/rattler/back_end/optimizer/join_predicate_nested_match_spec.rbc +0 -5232
  265. data/spec/rattler/back_end/optimizer/join_predicate_or_bare_match_spec.rbc +0 -4272
  266. data/spec/rattler/back_end/optimizer/join_predicate_or_nested_match_spec.rbc +0 -4342
  267. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rbc +0 -2960
  268. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rbc +0 -6929
  269. data/spec/rattler/back_end/optimizer/simplify_token_match_spec.rbc +0 -2327
  270. data/spec/rattler/back_end/optimizer_spec.rbc +0 -372
  271. data/spec/rattler/back_end/parser_generator/apply_generator_spec.rbc +0 -4710
  272. data/spec/rattler/back_end/parser_generator/assert_generator_spec.rbc +0 -4697
  273. data/spec/rattler/back_end/parser_generator/back_reference_generator_spec.rbc +0 -4855
  274. data/spec/rattler/back_end/parser_generator/choice_generator_spec.rbc +0 -5350
  275. data/spec/rattler/back_end/parser_generator/direct_action_generator_spec.rbc +0 -4737
  276. data/spec/rattler/back_end/parser_generator/disallow_generator_spec.rbc +0 -4697
  277. data/spec/rattler/back_end/parser_generator/dispatch_action_generator_spec.rbc +0 -4731
  278. data/spec/rattler/back_end/parser_generator/fail_generator_spec.rbc +0 -2115
  279. data/spec/rattler/back_end/parser_generator/group_match_generator_spec.rbc +0 -4195
  280. data/spec/rattler/back_end/parser_generator/group_match_spec.rbc +0 -1414
  281. data/spec/rattler/back_end/parser_generator/label_generator_spec.rbc +0 -4696
  282. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rb +0 -309
  283. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rbc +0 -5213
  284. data/spec/rattler/back_end/parser_generator/list_generator_spec.rbc +0 -5179
  285. data/spec/rattler/back_end/parser_generator/match_generator_spec.rbc +0 -4681
  286. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rb +0 -259
  287. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rbc +0 -4957
  288. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rb +0 -190
  289. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rbc +0 -4704
  290. data/spec/rattler/back_end/parser_generator/rule_generator_spec.rbc +0 -545
  291. data/spec/rattler/back_end/parser_generator/rule_set_generator_spec.rbc +0 -1110
  292. data/spec/rattler/back_end/parser_generator/sequence_generator_spec.rbc +0 -5453
  293. data/spec/rattler/back_end/parser_generator/skip_generator_spec.rbc +0 -4691
  294. data/spec/rattler/back_end/parser_generator/token_generator_spec.rbc +0 -4691
  295. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb +0 -244
  296. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rbc +0 -4924
  297. data/spec/rattler/back_end/ruby_generator_spec.rbc +0 -2460
  298. data/spec/rattler/back_end/shared_compiler_examples.rbc +0 -41886
  299. data/spec/rattler/grammar/analysis_spec.rbc +0 -4365
  300. data/spec/rattler/grammar/grammar_parser_spec.rbc +0 -10344
  301. data/spec/rattler/grammar/grammar_spec.rbc +0 -1701
  302. data/spec/rattler/parsers/action_code_spec.rbc +0 -4674
  303. data/spec/rattler/parsers/apply_spec.rbc +0 -851
  304. data/spec/rattler/parsers/assert_spec.rbc +0 -752
  305. data/spec/rattler/parsers/back_reference_spec.rbc +0 -1002
  306. data/spec/rattler/parsers/choice_spec.rbc +0 -1696
  307. data/spec/rattler/parsers/combinator_parser_spec.rbc +0 -361
  308. data/spec/rattler/parsers/direct_action_spec.rbc +0 -5222
  309. data/spec/rattler/parsers/disallow_spec.rbc +0 -752
  310. data/spec/rattler/parsers/dispatch_action_spec.rbc +0 -3033
  311. data/spec/rattler/parsers/eof_spec.rbc +0 -728
  312. data/spec/rattler/parsers/fail_spec.rbc +0 -548
  313. data/spec/rattler/parsers/label_spec.rbc +0 -1091
  314. data/spec/rattler/parsers/list0_spec.rb +0 -82
  315. data/spec/rattler/parsers/list0_spec.rbc +0 -2308
  316. data/spec/rattler/parsers/list1_spec.rb +0 -82
  317. data/spec/rattler/parsers/list1_spec.rbc +0 -2287
  318. data/spec/rattler/parsers/list_spec.rbc +0 -2308
  319. data/spec/rattler/parsers/match_spec.rbc +0 -780
  320. data/spec/rattler/parsers/node_code_spec.rbc +0 -1754
  321. data/spec/rattler/parsers/one_or_more_spec.rb +0 -64
  322. data/spec/rattler/parsers/one_or_more_spec.rbc +0 -1698
  323. data/spec/rattler/parsers/optional_spec.rb +0 -64
  324. data/spec/rattler/parsers/optional_spec.rbc +0 -1717
  325. data/spec/rattler/parsers/parser_dsl_spec.rbc +0 -10150
  326. data/spec/rattler/parsers/rule_set_spec.rbc +0 -1060
  327. data/spec/rattler/parsers/sequence_spec.rbc +0 -2899
  328. data/spec/rattler/parsers/skip_spec.rbc +0 -753
  329. data/spec/rattler/parsers/token_spec.rbc +0 -1511
  330. data/spec/rattler/parsers/zero_or_more_spec.rb +0 -64
  331. data/spec/rattler/parsers/zero_or_more_spec.rbc +0 -1719
  332. data/spec/rattler/runtime/extended_packrat_parser_spec.rbc +0 -1341
  333. data/spec/rattler/runtime/packrat_parser_spec.rbc +0 -210
  334. data/spec/rattler/runtime/parse_failure_spec.rbc +0 -2244
  335. data/spec/rattler/runtime/parse_node_spec.rbc +0 -2008
  336. data/spec/rattler/runtime/parser_spec.rbc +0 -2757
  337. data/spec/rattler/runtime/recursive_descent_parser_spec.rbc +0 -210
  338. data/spec/rattler/runtime/shared_parser_examples.rbc +0 -2567
  339. data/spec/rattler/util/graphviz/node_builder_spec.rbc +0 -3439
  340. data/spec/rattler/util/line_counter_spec.rbc +0 -2272
  341. data/spec/rattler/util/node_spec.rbc +0 -15023
  342. data/spec/rattler_spec.rbc +0 -1591
  343. data/spec/spec_helper.rbc +0 -336
  344. data/spec/support/combinator_parser_spec_helper.rbc +0 -1284
  345. data/spec/support/compiler_spec_helper.rbc +0 -1941
  346. data/spec/support/parser_generator_spec_helper.rbc +0 -718
  347. data/spec/support/runtime_parser_spec_helper.rbc +0 -313
@@ -1,82 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- describe List0 do
4
- include CombinatorParserSpecHelper
5
-
6
- describe '#parse' do
7
-
8
- context 'with a capturing term parser' do
9
-
10
- subject { List0[Match[/\w+/], Match[/[,;]/]] }
11
-
12
- context 'when no terms match' do
13
- it 'returns an empty array without advancing' do
14
- parsing(' ').should result_in([]).at(0)
15
- end
16
- end
17
-
18
- context 'when a single term matches' do
19
- it 'returns an array with the result of matching the term' do
20
- parsing('foo').should result_in(['foo']).at(3)
21
- end
22
- end
23
-
24
- context 'when multiple terms match' do
25
- it 'returns an array with the results of matching the terms' do
26
- parsing('foo,bar;baz ').should result_in(['foo', 'bar', 'baz']).at(11)
27
- end
28
- end
29
-
30
- context 'with a separator not followed by a term' do
31
- it 'matches without consuming the extra separator' do
32
- parsing('foo,bar,').should result_in(['foo', 'bar']).at(7)
33
- end
34
- end
35
- end
36
-
37
- context 'with a non-capturing parser' do
38
-
39
- subject { List0[Skip[Match[/\w+/]], Match[/[,;]/]] }
40
-
41
- context 'when no terms match' do
42
- it 'returns true without advancing' do
43
- parsing(' ').should result_in(true).at(0)
44
- end
45
- end
46
-
47
- context 'when a single term matches' do
48
- it 'returns true consuming the term' do
49
- parsing('foo ').should result_in(true).at(3)
50
- end
51
- end
52
-
53
- context 'when multiple terms match' do
54
- it 'returns true consuming the list' do
55
- parsing('foo,bar;baz ').should result_in(true).at(11)
56
- end
57
- end
58
- end
59
- end
60
-
61
- describe '#capturing?' do
62
-
63
- context 'with a capturing term parser' do
64
-
65
- subject { List0[Match[/\w+/], Match[/[,;]/]] }
66
-
67
- it 'is true' do
68
- subject.should be_capturing
69
- end
70
- end
71
-
72
- context 'with a non-capturing term parser' do
73
-
74
- subject { List0[Skip[Match[/\w+/]], Match[/[,;]/]] }
75
-
76
- it 'is true' do
77
- subject.should_not be_capturing
78
- end
79
- end
80
- end
81
-
82
- end
@@ -1,2308 +0,0 @@
1
- !RBIX
2
- 3105615304195158506
3
- x
4
- M
5
- 1
6
- n
7
- n
8
- x
9
- 10
10
- __script__
11
- i
12
- 40
13
- 5
14
- 45
15
- 0
16
- 1
17
- 45
18
- 0
19
- 2
20
- 65
21
- 49
22
- 3
23
- 0
24
- 49
25
- 4
26
- 1
27
- 7
28
- 5
29
- 64
30
- 81
31
- 6
32
- 49
33
- 7
34
- 1
35
- 47
36
- 49
37
- 8
38
- 1
39
- 15
40
- 5
41
- 45
42
- 9
43
- 10
44
- 56
45
- 11
46
- 47
47
- 50
48
- 12
49
- 1
50
- 15
51
- 2
52
- 11
53
- I
54
- 4
55
- I
56
- 0
57
- I
58
- 0
59
- I
60
- 0
61
- n
62
- p
63
- 13
64
- x
65
- 4
66
- File
67
- n
68
- n
69
- x
70
- 11
71
- active_path
72
- x
73
- 7
74
- dirname
75
- s
76
- 18
77
- /../../spec_helper
78
- x
79
- 1
80
- +
81
- x
82
- 11
83
- expand_path
84
- x
85
- 7
86
- require
87
- x
88
- 5
89
- List0
90
- n
91
- M
92
- 1
93
- p
94
- 2
95
- x
96
- 9
97
- for_block
98
- t
99
- n
100
- x
101
- 9
102
- __block__
103
- i
104
- 31
105
- 5
106
- 45
107
- 0
108
- 1
109
- 47
110
- 49
111
- 2
112
- 1
113
- 15
114
- 5
115
- 7
116
- 3
117
- 64
118
- 56
119
- 4
120
- 47
121
- 50
122
- 5
123
- 1
124
- 15
125
- 5
126
- 7
127
- 6
128
- 64
129
- 56
130
- 7
131
- 47
132
- 50
133
- 5
134
- 1
135
- 11
136
- I
137
- 4
138
- I
139
- 0
140
- I
141
- 0
142
- I
143
- 0
144
- I
145
- -2
146
- p
147
- 8
148
- x
149
- 26
150
- CombinatorParserSpecHelper
151
- n
152
- x
153
- 7
154
- include
155
- s
156
- 6
157
- #parse
158
- M
159
- 1
160
- p
161
- 2
162
- x
163
- 9
164
- for_block
165
- t
166
- n
167
- x
168
- 9
169
- __block__
170
- i
171
- 22
172
- 5
173
- 7
174
- 0
175
- 64
176
- 56
177
- 1
178
- 47
179
- 50
180
- 2
181
- 1
182
- 15
183
- 5
184
- 7
185
- 3
186
- 64
187
- 56
188
- 4
189
- 47
190
- 50
191
- 2
192
- 1
193
- 11
194
- I
195
- 4
196
- I
197
- 0
198
- I
199
- 0
200
- I
201
- 0
202
- I
203
- -2
204
- p
205
- 5
206
- s
207
- 28
208
- with a capturing term parser
209
- M
210
- 1
211
- p
212
- 2
213
- x
214
- 9
215
- for_block
216
- t
217
- n
218
- x
219
- 9
220
- __block__
221
- i
222
- 52
223
- 5
224
- 56
225
- 0
226
- 47
227
- 50
228
- 1
229
- 0
230
- 15
231
- 5
232
- 7
233
- 2
234
- 64
235
- 56
236
- 3
237
- 47
238
- 50
239
- 4
240
- 1
241
- 15
242
- 5
243
- 7
244
- 5
245
- 64
246
- 56
247
- 6
248
- 47
249
- 50
250
- 4
251
- 1
252
- 15
253
- 5
254
- 7
255
- 7
256
- 64
257
- 56
258
- 8
259
- 47
260
- 50
261
- 4
262
- 1
263
- 15
264
- 5
265
- 7
266
- 9
267
- 64
268
- 56
269
- 10
270
- 47
271
- 50
272
- 4
273
- 1
274
- 11
275
- I
276
- 4
277
- I
278
- 0
279
- I
280
- 0
281
- I
282
- 0
283
- I
284
- -2
285
- p
286
- 11
287
- M
288
- 1
289
- p
290
- 2
291
- x
292
- 9
293
- for_block
294
- t
295
- n
296
- x
297
- 9
298
- __block__
299
- i
300
- 55
301
- 45
302
- 0
303
- 1
304
- 45
305
- 2
306
- 3
307
- 7
308
- 4
309
- 13
310
- 70
311
- 9
312
- 24
313
- 15
314
- 44
315
- 43
316
- 5
317
- 7
318
- 6
319
- 78
320
- 49
321
- 7
322
- 2
323
- 6
324
- 4
325
- 49
326
- 8
327
- 1
328
- 45
329
- 2
330
- 9
331
- 7
332
- 10
333
- 13
334
- 70
335
- 9
336
- 48
337
- 15
338
- 44
339
- 43
340
- 5
341
- 7
342
- 11
343
- 78
344
- 49
345
- 7
346
- 2
347
- 6
348
- 10
349
- 49
350
- 8
351
- 1
352
- 49
353
- 8
354
- 2
355
- 11
356
- I
357
- 7
358
- I
359
- 0
360
- I
361
- 0
362
- I
363
- 0
364
- I
365
- -2
366
- p
367
- 12
368
- x
369
- 5
370
- List0
371
- n
372
- x
373
- 5
374
- Match
375
- n
376
- n
377
- x
378
- 6
379
- Regexp
380
- s
381
- 3
382
- \w+
383
- x
384
- 3
385
- new
386
- x
387
- 2
388
- []
389
- n
390
- n
391
- s
392
- 4
393
- [,;]
394
- p
395
- 3
396
- I
397
- 0
398
- I
399
- a
400
- I
401
- 37
402
- x
403
- 80
404
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
405
- p
406
- 0
407
- x
408
- 7
409
- subject
410
- s
411
- 19
412
- when no terms match
413
- M
414
- 1
415
- p
416
- 2
417
- x
418
- 9
419
- for_block
420
- t
421
- n
422
- x
423
- 9
424
- __block__
425
- i
426
- 11
427
- 5
428
- 7
429
- 0
430
- 64
431
- 56
432
- 1
433
- 47
434
- 50
435
- 2
436
- 1
437
- 11
438
- I
439
- 4
440
- I
441
- 0
442
- I
443
- 0
444
- I
445
- 0
446
- I
447
- -2
448
- p
449
- 3
450
- s
451
- 40
452
- returns an empty array without advancing
453
- M
454
- 1
455
- p
456
- 2
457
- x
458
- 9
459
- for_block
460
- t
461
- n
462
- x
463
- 9
464
- __block__
465
- i
466
- 23
467
- 5
468
- 7
469
- 0
470
- 64
471
- 47
472
- 49
473
- 1
474
- 1
475
- 5
476
- 35
477
- 0
478
- 47
479
- 49
480
- 2
481
- 1
482
- 78
483
- 49
484
- 3
485
- 1
486
- 49
487
- 4
488
- 1
489
- 11
490
- I
491
- 4
492
- I
493
- 0
494
- I
495
- 0
496
- I
497
- 0
498
- I
499
- -2
500
- p
501
- 5
502
- s
503
- 3
504
-
505
- x
506
- 7
507
- parsing
508
- x
509
- 9
510
- result_in
511
- x
512
- 2
513
- at
514
- x
515
- 6
516
- should
517
- p
518
- 3
519
- I
520
- 0
521
- I
522
- e
523
- I
524
- 17
525
- x
526
- 80
527
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
528
- p
529
- 0
530
- x
531
- 2
532
- it
533
- p
534
- 3
535
- I
536
- 0
537
- I
538
- d
539
- I
540
- b
541
- x
542
- 80
543
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
544
- p
545
- 0
546
- x
547
- 7
548
- context
549
- s
550
- 26
551
- when a single term matches
552
- M
553
- 1
554
- p
555
- 2
556
- x
557
- 9
558
- for_block
559
- t
560
- n
561
- x
562
- 9
563
- __block__
564
- i
565
- 11
566
- 5
567
- 7
568
- 0
569
- 64
570
- 56
571
- 1
572
- 47
573
- 50
574
- 2
575
- 1
576
- 11
577
- I
578
- 4
579
- I
580
- 0
581
- I
582
- 0
583
- I
584
- 0
585
- I
586
- -2
587
- p
588
- 3
589
- s
590
- 53
591
- returns an array with the result of matching the term
592
- M
593
- 1
594
- p
595
- 2
596
- x
597
- 9
598
- for_block
599
- t
600
- n
601
- x
602
- 9
603
- __block__
604
- i
605
- 27
606
- 5
607
- 7
608
- 0
609
- 64
610
- 47
611
- 49
612
- 1
613
- 1
614
- 5
615
- 7
616
- 0
617
- 64
618
- 35
619
- 1
620
- 47
621
- 49
622
- 2
623
- 1
624
- 4
625
- 3
626
- 49
627
- 3
628
- 1
629
- 49
630
- 4
631
- 1
632
- 11
633
- I
634
- 4
635
- I
636
- 0
637
- I
638
- 0
639
- I
640
- 0
641
- I
642
- -2
643
- p
644
- 5
645
- s
646
- 3
647
- foo
648
- x
649
- 7
650
- parsing
651
- x
652
- 9
653
- result_in
654
- x
655
- 2
656
- at
657
- x
658
- 6
659
- should
660
- p
661
- 3
662
- I
663
- 0
664
- I
665
- 14
666
- I
667
- 1b
668
- x
669
- 80
670
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
671
- p
672
- 0
673
- x
674
- 2
675
- it
676
- p
677
- 3
678
- I
679
- 0
680
- I
681
- 13
682
- I
683
- b
684
- x
685
- 80
686
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
687
- p
688
- 0
689
- s
690
- 25
691
- when multiple terms match
692
- M
693
- 1
694
- p
695
- 2
696
- x
697
- 9
698
- for_block
699
- t
700
- n
701
- x
702
- 9
703
- __block__
704
- i
705
- 11
706
- 5
707
- 7
708
- 0
709
- 64
710
- 56
711
- 1
712
- 47
713
- 50
714
- 2
715
- 1
716
- 11
717
- I
718
- 4
719
- I
720
- 0
721
- I
722
- 0
723
- I
724
- 0
725
- I
726
- -2
727
- p
728
- 3
729
- s
730
- 55
731
- returns an array with the results of matching the terms
732
- M
733
- 1
734
- p
735
- 2
736
- x
737
- 9
738
- for_block
739
- t
740
- n
741
- x
742
- 9
743
- __block__
744
- i
745
- 33
746
- 5
747
- 7
748
- 0
749
- 64
750
- 47
751
- 49
752
- 1
753
- 1
754
- 5
755
- 7
756
- 2
757
- 64
758
- 7
759
- 3
760
- 64
761
- 7
762
- 4
763
- 64
764
- 35
765
- 3
766
- 47
767
- 49
768
- 5
769
- 1
770
- 4
771
- 11
772
- 49
773
- 6
774
- 1
775
- 49
776
- 7
777
- 1
778
- 11
779
- I
780
- 6
781
- I
782
- 0
783
- I
784
- 0
785
- I
786
- 0
787
- I
788
- -2
789
- p
790
- 8
791
- s
792
- 12
793
- foo,bar;baz
794
- x
795
- 7
796
- parsing
797
- s
798
- 3
799
- foo
800
- s
801
- 3
802
- bar
803
- s
804
- 3
805
- baz
806
- x
807
- 9
808
- result_in
809
- x
810
- 2
811
- at
812
- x
813
- 6
814
- should
815
- p
816
- 3
817
- I
818
- 0
819
- I
820
- 1a
821
- I
822
- 21
823
- x
824
- 80
825
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
826
- p
827
- 0
828
- x
829
- 2
830
- it
831
- p
832
- 3
833
- I
834
- 0
835
- I
836
- 19
837
- I
838
- b
839
- x
840
- 80
841
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
842
- p
843
- 0
844
- s
845
- 39
846
- with a separator not followed by a term
847
- M
848
- 1
849
- p
850
- 2
851
- x
852
- 9
853
- for_block
854
- t
855
- n
856
- x
857
- 9
858
- __block__
859
- i
860
- 11
861
- 5
862
- 7
863
- 0
864
- 64
865
- 56
866
- 1
867
- 47
868
- 50
869
- 2
870
- 1
871
- 11
872
- I
873
- 4
874
- I
875
- 0
876
- I
877
- 0
878
- I
879
- 0
880
- I
881
- -2
882
- p
883
- 3
884
- s
885
- 45
886
- matches without consuming the extra separator
887
- M
888
- 1
889
- p
890
- 2
891
- x
892
- 9
893
- for_block
894
- t
895
- n
896
- x
897
- 9
898
- __block__
899
- i
900
- 30
901
- 5
902
- 7
903
- 0
904
- 64
905
- 47
906
- 49
907
- 1
908
- 1
909
- 5
910
- 7
911
- 2
912
- 64
913
- 7
914
- 3
915
- 64
916
- 35
917
- 2
918
- 47
919
- 49
920
- 4
921
- 1
922
- 4
923
- 7
924
- 49
925
- 5
926
- 1
927
- 49
928
- 6
929
- 1
930
- 11
931
- I
932
- 5
933
- I
934
- 0
935
- I
936
- 0
937
- I
938
- 0
939
- I
940
- -2
941
- p
942
- 7
943
- s
944
- 8
945
- foo,bar,
946
- x
947
- 7
948
- parsing
949
- s
950
- 3
951
- foo
952
- s
953
- 3
954
- bar
955
- x
956
- 9
957
- result_in
958
- x
959
- 2
960
- at
961
- x
962
- 6
963
- should
964
- p
965
- 3
966
- I
967
- 0
968
- I
969
- 20
970
- I
971
- 1e
972
- x
973
- 80
974
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
975
- p
976
- 0
977
- x
978
- 2
979
- it
980
- p
981
- 3
982
- I
983
- 0
984
- I
985
- 1f
986
- I
987
- b
988
- x
989
- 80
990
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
991
- p
992
- 0
993
- p
994
- 11
995
- I
996
- 0
997
- I
998
- a
999
- I
1000
- 8
1001
- I
1002
- c
1003
- I
1004
- 13
1005
- I
1006
- 12
1007
- I
1008
- 1e
1009
- I
1010
- 18
1011
- I
1012
- 29
1013
- I
1014
- 1e
1015
- I
1016
- 34
1017
- x
1018
- 80
1019
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1020
- p
1021
- 0
1022
- x
1023
- 7
1024
- context
1025
- s
1026
- 27
1027
- with a non-capturing parser
1028
- M
1029
- 1
1030
- p
1031
- 2
1032
- x
1033
- 9
1034
- for_block
1035
- t
1036
- n
1037
- x
1038
- 9
1039
- __block__
1040
- i
1041
- 41
1042
- 5
1043
- 56
1044
- 0
1045
- 47
1046
- 50
1047
- 1
1048
- 0
1049
- 15
1050
- 5
1051
- 7
1052
- 2
1053
- 64
1054
- 56
1055
- 3
1056
- 47
1057
- 50
1058
- 4
1059
- 1
1060
- 15
1061
- 5
1062
- 7
1063
- 5
1064
- 64
1065
- 56
1066
- 6
1067
- 47
1068
- 50
1069
- 4
1070
- 1
1071
- 15
1072
- 5
1073
- 7
1074
- 7
1075
- 64
1076
- 56
1077
- 8
1078
- 47
1079
- 50
1080
- 4
1081
- 1
1082
- 11
1083
- I
1084
- 4
1085
- I
1086
- 0
1087
- I
1088
- 0
1089
- I
1090
- 0
1091
- I
1092
- -2
1093
- p
1094
- 9
1095
- M
1096
- 1
1097
- p
1098
- 2
1099
- x
1100
- 9
1101
- for_block
1102
- t
1103
- n
1104
- x
1105
- 9
1106
- __block__
1107
- i
1108
- 61
1109
- 45
1110
- 0
1111
- 1
1112
- 45
1113
- 2
1114
- 3
1115
- 45
1116
- 4
1117
- 5
1118
- 7
1119
- 6
1120
- 13
1121
- 70
1122
- 9
1123
- 27
1124
- 15
1125
- 44
1126
- 43
1127
- 7
1128
- 7
1129
- 8
1130
- 78
1131
- 49
1132
- 9
1133
- 2
1134
- 6
1135
- 6
1136
- 49
1137
- 10
1138
- 1
1139
- 49
1140
- 10
1141
- 1
1142
- 45
1143
- 4
1144
- 11
1145
- 7
1146
- 12
1147
- 13
1148
- 70
1149
- 9
1150
- 54
1151
- 15
1152
- 44
1153
- 43
1154
- 7
1155
- 7
1156
- 13
1157
- 78
1158
- 49
1159
- 9
1160
- 2
1161
- 6
1162
- 12
1163
- 49
1164
- 10
1165
- 1
1166
- 49
1167
- 10
1168
- 2
1169
- 11
1170
- I
1171
- 7
1172
- I
1173
- 0
1174
- I
1175
- 0
1176
- I
1177
- 0
1178
- I
1179
- -2
1180
- p
1181
- 14
1182
- x
1183
- 5
1184
- List0
1185
- n
1186
- x
1187
- 4
1188
- Skip
1189
- n
1190
- x
1191
- 5
1192
- Match
1193
- n
1194
- n
1195
- x
1196
- 6
1197
- Regexp
1198
- s
1199
- 3
1200
- \w+
1201
- x
1202
- 3
1203
- new
1204
- x
1205
- 2
1206
- []
1207
- n
1208
- n
1209
- s
1210
- 4
1211
- [,;]
1212
- p
1213
- 3
1214
- I
1215
- 0
1216
- I
1217
- 27
1218
- I
1219
- 3d
1220
- x
1221
- 80
1222
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1223
- p
1224
- 0
1225
- x
1226
- 7
1227
- subject
1228
- s
1229
- 19
1230
- when no terms match
1231
- M
1232
- 1
1233
- p
1234
- 2
1235
- x
1236
- 9
1237
- for_block
1238
- t
1239
- n
1240
- x
1241
- 9
1242
- __block__
1243
- i
1244
- 11
1245
- 5
1246
- 7
1247
- 0
1248
- 64
1249
- 56
1250
- 1
1251
- 47
1252
- 50
1253
- 2
1254
- 1
1255
- 11
1256
- I
1257
- 4
1258
- I
1259
- 0
1260
- I
1261
- 0
1262
- I
1263
- 0
1264
- I
1265
- -2
1266
- p
1267
- 3
1268
- s
1269
- 30
1270
- returns true without advancing
1271
- M
1272
- 1
1273
- p
1274
- 2
1275
- x
1276
- 9
1277
- for_block
1278
- t
1279
- n
1280
- x
1281
- 9
1282
- __block__
1283
- i
1284
- 22
1285
- 5
1286
- 7
1287
- 0
1288
- 64
1289
- 47
1290
- 49
1291
- 1
1292
- 1
1293
- 5
1294
- 2
1295
- 47
1296
- 49
1297
- 2
1298
- 1
1299
- 78
1300
- 49
1301
- 3
1302
- 1
1303
- 49
1304
- 4
1305
- 1
1306
- 11
1307
- I
1308
- 4
1309
- I
1310
- 0
1311
- I
1312
- 0
1313
- I
1314
- 0
1315
- I
1316
- -2
1317
- p
1318
- 5
1319
- s
1320
- 3
1321
-
1322
- x
1323
- 7
1324
- parsing
1325
- x
1326
- 9
1327
- result_in
1328
- x
1329
- 2
1330
- at
1331
- x
1332
- 6
1333
- should
1334
- p
1335
- 3
1336
- I
1337
- 0
1338
- I
1339
- 2b
1340
- I
1341
- 16
1342
- x
1343
- 80
1344
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1345
- p
1346
- 0
1347
- x
1348
- 2
1349
- it
1350
- p
1351
- 3
1352
- I
1353
- 0
1354
- I
1355
- 2a
1356
- I
1357
- b
1358
- x
1359
- 80
1360
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1361
- p
1362
- 0
1363
- x
1364
- 7
1365
- context
1366
- s
1367
- 26
1368
- when a single term matches
1369
- M
1370
- 1
1371
- p
1372
- 2
1373
- x
1374
- 9
1375
- for_block
1376
- t
1377
- n
1378
- x
1379
- 9
1380
- __block__
1381
- i
1382
- 11
1383
- 5
1384
- 7
1385
- 0
1386
- 64
1387
- 56
1388
- 1
1389
- 47
1390
- 50
1391
- 2
1392
- 1
1393
- 11
1394
- I
1395
- 4
1396
- I
1397
- 0
1398
- I
1399
- 0
1400
- I
1401
- 0
1402
- I
1403
- -2
1404
- p
1405
- 3
1406
- s
1407
- 31
1408
- returns true consuming the term
1409
- M
1410
- 1
1411
- p
1412
- 2
1413
- x
1414
- 9
1415
- for_block
1416
- t
1417
- n
1418
- x
1419
- 9
1420
- __block__
1421
- i
1422
- 23
1423
- 5
1424
- 7
1425
- 0
1426
- 64
1427
- 47
1428
- 49
1429
- 1
1430
- 1
1431
- 5
1432
- 2
1433
- 47
1434
- 49
1435
- 2
1436
- 1
1437
- 4
1438
- 3
1439
- 49
1440
- 3
1441
- 1
1442
- 49
1443
- 4
1444
- 1
1445
- 11
1446
- I
1447
- 4
1448
- I
1449
- 0
1450
- I
1451
- 0
1452
- I
1453
- 0
1454
- I
1455
- -2
1456
- p
1457
- 5
1458
- s
1459
- 5
1460
- foo
1461
- x
1462
- 7
1463
- parsing
1464
- x
1465
- 9
1466
- result_in
1467
- x
1468
- 2
1469
- at
1470
- x
1471
- 6
1472
- should
1473
- p
1474
- 3
1475
- I
1476
- 0
1477
- I
1478
- 31
1479
- I
1480
- 17
1481
- x
1482
- 80
1483
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1484
- p
1485
- 0
1486
- x
1487
- 2
1488
- it
1489
- p
1490
- 3
1491
- I
1492
- 0
1493
- I
1494
- 30
1495
- I
1496
- b
1497
- x
1498
- 80
1499
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1500
- p
1501
- 0
1502
- s
1503
- 25
1504
- when multiple terms match
1505
- M
1506
- 1
1507
- p
1508
- 2
1509
- x
1510
- 9
1511
- for_block
1512
- t
1513
- n
1514
- x
1515
- 9
1516
- __block__
1517
- i
1518
- 11
1519
- 5
1520
- 7
1521
- 0
1522
- 64
1523
- 56
1524
- 1
1525
- 47
1526
- 50
1527
- 2
1528
- 1
1529
- 11
1530
- I
1531
- 4
1532
- I
1533
- 0
1534
- I
1535
- 0
1536
- I
1537
- 0
1538
- I
1539
- -2
1540
- p
1541
- 3
1542
- s
1543
- 31
1544
- returns true consuming the list
1545
- M
1546
- 1
1547
- p
1548
- 2
1549
- x
1550
- 9
1551
- for_block
1552
- t
1553
- n
1554
- x
1555
- 9
1556
- __block__
1557
- i
1558
- 23
1559
- 5
1560
- 7
1561
- 0
1562
- 64
1563
- 47
1564
- 49
1565
- 1
1566
- 1
1567
- 5
1568
- 2
1569
- 47
1570
- 49
1571
- 2
1572
- 1
1573
- 4
1574
- 11
1575
- 49
1576
- 3
1577
- 1
1578
- 49
1579
- 4
1580
- 1
1581
- 11
1582
- I
1583
- 4
1584
- I
1585
- 0
1586
- I
1587
- 0
1588
- I
1589
- 0
1590
- I
1591
- -2
1592
- p
1593
- 5
1594
- s
1595
- 13
1596
- foo,bar;baz
1597
- x
1598
- 7
1599
- parsing
1600
- x
1601
- 9
1602
- result_in
1603
- x
1604
- 2
1605
- at
1606
- x
1607
- 6
1608
- should
1609
- p
1610
- 3
1611
- I
1612
- 0
1613
- I
1614
- 37
1615
- I
1616
- 17
1617
- x
1618
- 80
1619
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1620
- p
1621
- 0
1622
- x
1623
- 2
1624
- it
1625
- p
1626
- 3
1627
- I
1628
- 0
1629
- I
1630
- 36
1631
- I
1632
- b
1633
- x
1634
- 80
1635
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1636
- p
1637
- 0
1638
- p
1639
- 9
1640
- I
1641
- 0
1642
- I
1643
- 27
1644
- I
1645
- 8
1646
- I
1647
- 29
1648
- I
1649
- 13
1650
- I
1651
- 2f
1652
- I
1653
- 1e
1654
- I
1655
- 35
1656
- I
1657
- 29
1658
- x
1659
- 80
1660
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1661
- p
1662
- 0
1663
- p
1664
- 5
1665
- I
1666
- 0
1667
- I
1668
- 8
1669
- I
1670
- b
1671
- I
1672
- 25
1673
- I
1674
- 16
1675
- x
1676
- 80
1677
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1678
- p
1679
- 0
1680
- x
1681
- 8
1682
- describe
1683
- s
1684
- 11
1685
- #capturing?
1686
- M
1687
- 1
1688
- p
1689
- 2
1690
- x
1691
- 9
1692
- for_block
1693
- t
1694
- n
1695
- x
1696
- 9
1697
- __block__
1698
- i
1699
- 22
1700
- 5
1701
- 7
1702
- 0
1703
- 64
1704
- 56
1705
- 1
1706
- 47
1707
- 50
1708
- 2
1709
- 1
1710
- 15
1711
- 5
1712
- 7
1713
- 3
1714
- 64
1715
- 56
1716
- 4
1717
- 47
1718
- 50
1719
- 2
1720
- 1
1721
- 11
1722
- I
1723
- 4
1724
- I
1725
- 0
1726
- I
1727
- 0
1728
- I
1729
- 0
1730
- I
1731
- -2
1732
- p
1733
- 5
1734
- s
1735
- 28
1736
- with a capturing term parser
1737
- M
1738
- 1
1739
- p
1740
- 2
1741
- x
1742
- 9
1743
- for_block
1744
- t
1745
- n
1746
- x
1747
- 9
1748
- __block__
1749
- i
1750
- 19
1751
- 5
1752
- 56
1753
- 0
1754
- 47
1755
- 50
1756
- 1
1757
- 0
1758
- 15
1759
- 5
1760
- 7
1761
- 2
1762
- 64
1763
- 56
1764
- 3
1765
- 47
1766
- 50
1767
- 4
1768
- 1
1769
- 11
1770
- I
1771
- 4
1772
- I
1773
- 0
1774
- I
1775
- 0
1776
- I
1777
- 0
1778
- I
1779
- -2
1780
- p
1781
- 5
1782
- M
1783
- 1
1784
- p
1785
- 2
1786
- x
1787
- 9
1788
- for_block
1789
- t
1790
- n
1791
- x
1792
- 9
1793
- __block__
1794
- i
1795
- 55
1796
- 45
1797
- 0
1798
- 1
1799
- 45
1800
- 2
1801
- 3
1802
- 7
1803
- 4
1804
- 13
1805
- 70
1806
- 9
1807
- 24
1808
- 15
1809
- 44
1810
- 43
1811
- 5
1812
- 7
1813
- 6
1814
- 78
1815
- 49
1816
- 7
1817
- 2
1818
- 6
1819
- 4
1820
- 49
1821
- 8
1822
- 1
1823
- 45
1824
- 2
1825
- 9
1826
- 7
1827
- 10
1828
- 13
1829
- 70
1830
- 9
1831
- 48
1832
- 15
1833
- 44
1834
- 43
1835
- 5
1836
- 7
1837
- 11
1838
- 78
1839
- 49
1840
- 7
1841
- 2
1842
- 6
1843
- 10
1844
- 49
1845
- 8
1846
- 1
1847
- 49
1848
- 8
1849
- 2
1850
- 11
1851
- I
1852
- 7
1853
- I
1854
- 0
1855
- I
1856
- 0
1857
- I
1858
- 0
1859
- I
1860
- -2
1861
- p
1862
- 12
1863
- x
1864
- 5
1865
- List0
1866
- n
1867
- x
1868
- 5
1869
- Match
1870
- n
1871
- n
1872
- x
1873
- 6
1874
- Regexp
1875
- s
1876
- 3
1877
- \w+
1878
- x
1879
- 3
1880
- new
1881
- x
1882
- 2
1883
- []
1884
- n
1885
- n
1886
- s
1887
- 4
1888
- [,;]
1889
- p
1890
- 3
1891
- I
1892
- 0
1893
- I
1894
- 41
1895
- I
1896
- 37
1897
- x
1898
- 80
1899
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1900
- p
1901
- 0
1902
- x
1903
- 7
1904
- subject
1905
- s
1906
- 7
1907
- is true
1908
- M
1909
- 1
1910
- p
1911
- 2
1912
- x
1913
- 9
1914
- for_block
1915
- t
1916
- n
1917
- x
1918
- 9
1919
- __block__
1920
- i
1921
- 10
1922
- 5
1923
- 48
1924
- 0
1925
- 5
1926
- 48
1927
- 1
1928
- 49
1929
- 2
1930
- 1
1931
- 11
1932
- I
1933
- 3
1934
- I
1935
- 0
1936
- I
1937
- 0
1938
- I
1939
- 0
1940
- I
1941
- -2
1942
- p
1943
- 3
1944
- x
1945
- 7
1946
- subject
1947
- x
1948
- 12
1949
- be_capturing
1950
- x
1951
- 6
1952
- should
1953
- p
1954
- 3
1955
- I
1956
- 0
1957
- I
1958
- 44
1959
- I
1960
- a
1961
- x
1962
- 80
1963
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1964
- p
1965
- 0
1966
- x
1967
- 2
1968
- it
1969
- p
1970
- 5
1971
- I
1972
- 0
1973
- I
1974
- 41
1975
- I
1976
- 8
1977
- I
1978
- 43
1979
- I
1980
- 13
1981
- x
1982
- 80
1983
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
1984
- p
1985
- 0
1986
- x
1987
- 7
1988
- context
1989
- s
1990
- 32
1991
- with a non-capturing term parser
1992
- M
1993
- 1
1994
- p
1995
- 2
1996
- x
1997
- 9
1998
- for_block
1999
- t
2000
- n
2001
- x
2002
- 9
2003
- __block__
2004
- i
2005
- 19
2006
- 5
2007
- 56
2008
- 0
2009
- 47
2010
- 50
2011
- 1
2012
- 0
2013
- 15
2014
- 5
2015
- 7
2016
- 2
2017
- 64
2018
- 56
2019
- 3
2020
- 47
2021
- 50
2022
- 4
2023
- 1
2024
- 11
2025
- I
2026
- 4
2027
- I
2028
- 0
2029
- I
2030
- 0
2031
- I
2032
- 0
2033
- I
2034
- -2
2035
- p
2036
- 5
2037
- M
2038
- 1
2039
- p
2040
- 2
2041
- x
2042
- 9
2043
- for_block
2044
- t
2045
- n
2046
- x
2047
- 9
2048
- __block__
2049
- i
2050
- 61
2051
- 45
2052
- 0
2053
- 1
2054
- 45
2055
- 2
2056
- 3
2057
- 45
2058
- 4
2059
- 5
2060
- 7
2061
- 6
2062
- 13
2063
- 70
2064
- 9
2065
- 27
2066
- 15
2067
- 44
2068
- 43
2069
- 7
2070
- 7
2071
- 8
2072
- 78
2073
- 49
2074
- 9
2075
- 2
2076
- 6
2077
- 6
2078
- 49
2079
- 10
2080
- 1
2081
- 49
2082
- 10
2083
- 1
2084
- 45
2085
- 4
2086
- 11
2087
- 7
2088
- 12
2089
- 13
2090
- 70
2091
- 9
2092
- 54
2093
- 15
2094
- 44
2095
- 43
2096
- 7
2097
- 7
2098
- 13
2099
- 78
2100
- 49
2101
- 9
2102
- 2
2103
- 6
2104
- 12
2105
- 49
2106
- 10
2107
- 1
2108
- 49
2109
- 10
2110
- 2
2111
- 11
2112
- I
2113
- 7
2114
- I
2115
- 0
2116
- I
2117
- 0
2118
- I
2119
- 0
2120
- I
2121
- -2
2122
- p
2123
- 14
2124
- x
2125
- 5
2126
- List0
2127
- n
2128
- x
2129
- 4
2130
- Skip
2131
- n
2132
- x
2133
- 5
2134
- Match
2135
- n
2136
- n
2137
- x
2138
- 6
2139
- Regexp
2140
- s
2141
- 3
2142
- \w+
2143
- x
2144
- 3
2145
- new
2146
- x
2147
- 2
2148
- []
2149
- n
2150
- n
2151
- s
2152
- 4
2153
- [,;]
2154
- p
2155
- 3
2156
- I
2157
- 0
2158
- I
2159
- 4a
2160
- I
2161
- 3d
2162
- x
2163
- 80
2164
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2165
- p
2166
- 0
2167
- x
2168
- 7
2169
- subject
2170
- s
2171
- 7
2172
- is true
2173
- M
2174
- 1
2175
- p
2176
- 2
2177
- x
2178
- 9
2179
- for_block
2180
- t
2181
- n
2182
- x
2183
- 9
2184
- __block__
2185
- i
2186
- 10
2187
- 5
2188
- 48
2189
- 0
2190
- 5
2191
- 48
2192
- 1
2193
- 49
2194
- 2
2195
- 1
2196
- 11
2197
- I
2198
- 3
2199
- I
2200
- 0
2201
- I
2202
- 0
2203
- I
2204
- 0
2205
- I
2206
- -2
2207
- p
2208
- 3
2209
- x
2210
- 7
2211
- subject
2212
- x
2213
- 12
2214
- be_capturing
2215
- x
2216
- 10
2217
- should_not
2218
- p
2219
- 3
2220
- I
2221
- 0
2222
- I
2223
- 4d
2224
- I
2225
- a
2226
- x
2227
- 80
2228
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2229
- p
2230
- 0
2231
- x
2232
- 2
2233
- it
2234
- p
2235
- 5
2236
- I
2237
- 0
2238
- I
2239
- 4a
2240
- I
2241
- 8
2242
- I
2243
- 4c
2244
- I
2245
- 13
2246
- x
2247
- 80
2248
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2249
- p
2250
- 0
2251
- p
2252
- 5
2253
- I
2254
- 0
2255
- I
2256
- 3f
2257
- I
2258
- b
2259
- I
2260
- 48
2261
- I
2262
- 16
2263
- x
2264
- 80
2265
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2266
- p
2267
- 0
2268
- p
2269
- 7
2270
- I
2271
- 0
2272
- I
2273
- 4
2274
- I
2275
- 9
2276
- I
2277
- 6
2278
- I
2279
- 14
2280
- I
2281
- 3d
2282
- I
2283
- 1f
2284
- x
2285
- 80
2286
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2287
- p
2288
- 0
2289
- x
2290
- 8
2291
- describe
2292
- p
2293
- 5
2294
- I
2295
- 0
2296
- I
2297
- 1
2298
- I
2299
- 1b
2300
- I
2301
- 3
2302
- I
2303
- 28
2304
- x
2305
- 80
2306
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list0_spec.rb
2307
- p
2308
- 0