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 List1 do
4
- include CombinatorParserSpecHelper
5
-
6
- describe '#parse' do
7
-
8
- context 'with a capturing term parser' do
9
-
10
- subject { List1[Match[/\w+/], Match[/[,;]/]] }
11
-
12
- context 'when no terms match' do
13
- it 'fails' do
14
- parsing(' ').should fail
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 { List1[Skip[Match[/\w+/]], Match[/[,;]/]] }
40
-
41
- context 'when no terms match' do
42
- it 'fails' do
43
- parsing(' ').should fail
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 { List1[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 { List1[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,2287 +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
- List1
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
- List1
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/list1_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
- 5
452
- fails
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
- 15
467
- 5
468
- 7
469
- 0
470
- 64
471
- 47
472
- 49
473
- 1
474
- 1
475
- 5
476
- 48
477
- 2
478
- 49
479
- 3
480
- 1
481
- 11
482
- I
483
- 3
484
- I
485
- 0
486
- I
487
- 0
488
- I
489
- 0
490
- I
491
- -2
492
- p
493
- 4
494
- s
495
- 3
496
-
497
- x
498
- 7
499
- parsing
500
- x
501
- 4
502
- fail
503
- x
504
- 6
505
- should
506
- p
507
- 3
508
- I
509
- 0
510
- I
511
- e
512
- I
513
- f
514
- x
515
- 80
516
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
517
- p
518
- 0
519
- x
520
- 2
521
- it
522
- p
523
- 3
524
- I
525
- 0
526
- I
527
- d
528
- I
529
- b
530
- x
531
- 80
532
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
533
- p
534
- 0
535
- x
536
- 7
537
- context
538
- s
539
- 26
540
- when a single term matches
541
- M
542
- 1
543
- p
544
- 2
545
- x
546
- 9
547
- for_block
548
- t
549
- n
550
- x
551
- 9
552
- __block__
553
- i
554
- 11
555
- 5
556
- 7
557
- 0
558
- 64
559
- 56
560
- 1
561
- 47
562
- 50
563
- 2
564
- 1
565
- 11
566
- I
567
- 4
568
- I
569
- 0
570
- I
571
- 0
572
- I
573
- 0
574
- I
575
- -2
576
- p
577
- 3
578
- s
579
- 53
580
- returns an array with the result of matching the term
581
- M
582
- 1
583
- p
584
- 2
585
- x
586
- 9
587
- for_block
588
- t
589
- n
590
- x
591
- 9
592
- __block__
593
- i
594
- 27
595
- 5
596
- 7
597
- 0
598
- 64
599
- 47
600
- 49
601
- 1
602
- 1
603
- 5
604
- 7
605
- 0
606
- 64
607
- 35
608
- 1
609
- 47
610
- 49
611
- 2
612
- 1
613
- 4
614
- 3
615
- 49
616
- 3
617
- 1
618
- 49
619
- 4
620
- 1
621
- 11
622
- I
623
- 4
624
- I
625
- 0
626
- I
627
- 0
628
- I
629
- 0
630
- I
631
- -2
632
- p
633
- 5
634
- s
635
- 3
636
- foo
637
- x
638
- 7
639
- parsing
640
- x
641
- 9
642
- result_in
643
- x
644
- 2
645
- at
646
- x
647
- 6
648
- should
649
- p
650
- 3
651
- I
652
- 0
653
- I
654
- 14
655
- I
656
- 1b
657
- x
658
- 80
659
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
660
- p
661
- 0
662
- x
663
- 2
664
- it
665
- p
666
- 3
667
- I
668
- 0
669
- I
670
- 13
671
- I
672
- b
673
- x
674
- 80
675
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
676
- p
677
- 0
678
- s
679
- 25
680
- when multiple terms match
681
- M
682
- 1
683
- p
684
- 2
685
- x
686
- 9
687
- for_block
688
- t
689
- n
690
- x
691
- 9
692
- __block__
693
- i
694
- 11
695
- 5
696
- 7
697
- 0
698
- 64
699
- 56
700
- 1
701
- 47
702
- 50
703
- 2
704
- 1
705
- 11
706
- I
707
- 4
708
- I
709
- 0
710
- I
711
- 0
712
- I
713
- 0
714
- I
715
- -2
716
- p
717
- 3
718
- s
719
- 55
720
- returns an array with the results of matching the terms
721
- M
722
- 1
723
- p
724
- 2
725
- x
726
- 9
727
- for_block
728
- t
729
- n
730
- x
731
- 9
732
- __block__
733
- i
734
- 33
735
- 5
736
- 7
737
- 0
738
- 64
739
- 47
740
- 49
741
- 1
742
- 1
743
- 5
744
- 7
745
- 2
746
- 64
747
- 7
748
- 3
749
- 64
750
- 7
751
- 4
752
- 64
753
- 35
754
- 3
755
- 47
756
- 49
757
- 5
758
- 1
759
- 4
760
- 11
761
- 49
762
- 6
763
- 1
764
- 49
765
- 7
766
- 1
767
- 11
768
- I
769
- 6
770
- I
771
- 0
772
- I
773
- 0
774
- I
775
- 0
776
- I
777
- -2
778
- p
779
- 8
780
- s
781
- 12
782
- foo,bar;baz
783
- x
784
- 7
785
- parsing
786
- s
787
- 3
788
- foo
789
- s
790
- 3
791
- bar
792
- s
793
- 3
794
- baz
795
- x
796
- 9
797
- result_in
798
- x
799
- 2
800
- at
801
- x
802
- 6
803
- should
804
- p
805
- 3
806
- I
807
- 0
808
- I
809
- 1a
810
- I
811
- 21
812
- x
813
- 80
814
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
815
- p
816
- 0
817
- x
818
- 2
819
- it
820
- p
821
- 3
822
- I
823
- 0
824
- I
825
- 19
826
- I
827
- b
828
- x
829
- 80
830
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
831
- p
832
- 0
833
- s
834
- 39
835
- with a separator not followed by a term
836
- M
837
- 1
838
- p
839
- 2
840
- x
841
- 9
842
- for_block
843
- t
844
- n
845
- x
846
- 9
847
- __block__
848
- i
849
- 11
850
- 5
851
- 7
852
- 0
853
- 64
854
- 56
855
- 1
856
- 47
857
- 50
858
- 2
859
- 1
860
- 11
861
- I
862
- 4
863
- I
864
- 0
865
- I
866
- 0
867
- I
868
- 0
869
- I
870
- -2
871
- p
872
- 3
873
- s
874
- 45
875
- matches without consuming the extra separator
876
- M
877
- 1
878
- p
879
- 2
880
- x
881
- 9
882
- for_block
883
- t
884
- n
885
- x
886
- 9
887
- __block__
888
- i
889
- 30
890
- 5
891
- 7
892
- 0
893
- 64
894
- 47
895
- 49
896
- 1
897
- 1
898
- 5
899
- 7
900
- 2
901
- 64
902
- 7
903
- 3
904
- 64
905
- 35
906
- 2
907
- 47
908
- 49
909
- 4
910
- 1
911
- 4
912
- 7
913
- 49
914
- 5
915
- 1
916
- 49
917
- 6
918
- 1
919
- 11
920
- I
921
- 5
922
- I
923
- 0
924
- I
925
- 0
926
- I
927
- 0
928
- I
929
- -2
930
- p
931
- 7
932
- s
933
- 8
934
- foo,bar,
935
- x
936
- 7
937
- parsing
938
- s
939
- 3
940
- foo
941
- s
942
- 3
943
- bar
944
- x
945
- 9
946
- result_in
947
- x
948
- 2
949
- at
950
- x
951
- 6
952
- should
953
- p
954
- 3
955
- I
956
- 0
957
- I
958
- 20
959
- I
960
- 1e
961
- x
962
- 80
963
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
964
- p
965
- 0
966
- x
967
- 2
968
- it
969
- p
970
- 3
971
- I
972
- 0
973
- I
974
- 1f
975
- I
976
- b
977
- x
978
- 80
979
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
980
- p
981
- 0
982
- p
983
- 11
984
- I
985
- 0
986
- I
987
- a
988
- I
989
- 8
990
- I
991
- c
992
- I
993
- 13
994
- I
995
- 12
996
- I
997
- 1e
998
- I
999
- 18
1000
- I
1001
- 29
1002
- I
1003
- 1e
1004
- I
1005
- 34
1006
- x
1007
- 80
1008
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1009
- p
1010
- 0
1011
- x
1012
- 7
1013
- context
1014
- s
1015
- 27
1016
- with a non-capturing parser
1017
- M
1018
- 1
1019
- p
1020
- 2
1021
- x
1022
- 9
1023
- for_block
1024
- t
1025
- n
1026
- x
1027
- 9
1028
- __block__
1029
- i
1030
- 41
1031
- 5
1032
- 56
1033
- 0
1034
- 47
1035
- 50
1036
- 1
1037
- 0
1038
- 15
1039
- 5
1040
- 7
1041
- 2
1042
- 64
1043
- 56
1044
- 3
1045
- 47
1046
- 50
1047
- 4
1048
- 1
1049
- 15
1050
- 5
1051
- 7
1052
- 5
1053
- 64
1054
- 56
1055
- 6
1056
- 47
1057
- 50
1058
- 4
1059
- 1
1060
- 15
1061
- 5
1062
- 7
1063
- 7
1064
- 64
1065
- 56
1066
- 8
1067
- 47
1068
- 50
1069
- 4
1070
- 1
1071
- 11
1072
- I
1073
- 4
1074
- I
1075
- 0
1076
- I
1077
- 0
1078
- I
1079
- 0
1080
- I
1081
- -2
1082
- p
1083
- 9
1084
- M
1085
- 1
1086
- p
1087
- 2
1088
- x
1089
- 9
1090
- for_block
1091
- t
1092
- n
1093
- x
1094
- 9
1095
- __block__
1096
- i
1097
- 61
1098
- 45
1099
- 0
1100
- 1
1101
- 45
1102
- 2
1103
- 3
1104
- 45
1105
- 4
1106
- 5
1107
- 7
1108
- 6
1109
- 13
1110
- 70
1111
- 9
1112
- 27
1113
- 15
1114
- 44
1115
- 43
1116
- 7
1117
- 7
1118
- 8
1119
- 78
1120
- 49
1121
- 9
1122
- 2
1123
- 6
1124
- 6
1125
- 49
1126
- 10
1127
- 1
1128
- 49
1129
- 10
1130
- 1
1131
- 45
1132
- 4
1133
- 11
1134
- 7
1135
- 12
1136
- 13
1137
- 70
1138
- 9
1139
- 54
1140
- 15
1141
- 44
1142
- 43
1143
- 7
1144
- 7
1145
- 13
1146
- 78
1147
- 49
1148
- 9
1149
- 2
1150
- 6
1151
- 12
1152
- 49
1153
- 10
1154
- 1
1155
- 49
1156
- 10
1157
- 2
1158
- 11
1159
- I
1160
- 7
1161
- I
1162
- 0
1163
- I
1164
- 0
1165
- I
1166
- 0
1167
- I
1168
- -2
1169
- p
1170
- 14
1171
- x
1172
- 5
1173
- List1
1174
- n
1175
- x
1176
- 4
1177
- Skip
1178
- n
1179
- x
1180
- 5
1181
- Match
1182
- n
1183
- n
1184
- x
1185
- 6
1186
- Regexp
1187
- s
1188
- 3
1189
- \w+
1190
- x
1191
- 3
1192
- new
1193
- x
1194
- 2
1195
- []
1196
- n
1197
- n
1198
- s
1199
- 4
1200
- [,;]
1201
- p
1202
- 3
1203
- I
1204
- 0
1205
- I
1206
- 27
1207
- I
1208
- 3d
1209
- x
1210
- 80
1211
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1212
- p
1213
- 0
1214
- x
1215
- 7
1216
- subject
1217
- s
1218
- 19
1219
- when no terms match
1220
- M
1221
- 1
1222
- p
1223
- 2
1224
- x
1225
- 9
1226
- for_block
1227
- t
1228
- n
1229
- x
1230
- 9
1231
- __block__
1232
- i
1233
- 11
1234
- 5
1235
- 7
1236
- 0
1237
- 64
1238
- 56
1239
- 1
1240
- 47
1241
- 50
1242
- 2
1243
- 1
1244
- 11
1245
- I
1246
- 4
1247
- I
1248
- 0
1249
- I
1250
- 0
1251
- I
1252
- 0
1253
- I
1254
- -2
1255
- p
1256
- 3
1257
- s
1258
- 5
1259
- fails
1260
- M
1261
- 1
1262
- p
1263
- 2
1264
- x
1265
- 9
1266
- for_block
1267
- t
1268
- n
1269
- x
1270
- 9
1271
- __block__
1272
- i
1273
- 15
1274
- 5
1275
- 7
1276
- 0
1277
- 64
1278
- 47
1279
- 49
1280
- 1
1281
- 1
1282
- 5
1283
- 48
1284
- 2
1285
- 49
1286
- 3
1287
- 1
1288
- 11
1289
- I
1290
- 3
1291
- I
1292
- 0
1293
- I
1294
- 0
1295
- I
1296
- 0
1297
- I
1298
- -2
1299
- p
1300
- 4
1301
- s
1302
- 3
1303
-
1304
- x
1305
- 7
1306
- parsing
1307
- x
1308
- 4
1309
- fail
1310
- x
1311
- 6
1312
- should
1313
- p
1314
- 3
1315
- I
1316
- 0
1317
- I
1318
- 2b
1319
- I
1320
- f
1321
- x
1322
- 80
1323
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1324
- p
1325
- 0
1326
- x
1327
- 2
1328
- it
1329
- p
1330
- 3
1331
- I
1332
- 0
1333
- I
1334
- 2a
1335
- I
1336
- b
1337
- x
1338
- 80
1339
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1340
- p
1341
- 0
1342
- x
1343
- 7
1344
- context
1345
- s
1346
- 26
1347
- when a single term matches
1348
- M
1349
- 1
1350
- p
1351
- 2
1352
- x
1353
- 9
1354
- for_block
1355
- t
1356
- n
1357
- x
1358
- 9
1359
- __block__
1360
- i
1361
- 11
1362
- 5
1363
- 7
1364
- 0
1365
- 64
1366
- 56
1367
- 1
1368
- 47
1369
- 50
1370
- 2
1371
- 1
1372
- 11
1373
- I
1374
- 4
1375
- I
1376
- 0
1377
- I
1378
- 0
1379
- I
1380
- 0
1381
- I
1382
- -2
1383
- p
1384
- 3
1385
- s
1386
- 31
1387
- returns true consuming the term
1388
- M
1389
- 1
1390
- p
1391
- 2
1392
- x
1393
- 9
1394
- for_block
1395
- t
1396
- n
1397
- x
1398
- 9
1399
- __block__
1400
- i
1401
- 23
1402
- 5
1403
- 7
1404
- 0
1405
- 64
1406
- 47
1407
- 49
1408
- 1
1409
- 1
1410
- 5
1411
- 2
1412
- 47
1413
- 49
1414
- 2
1415
- 1
1416
- 4
1417
- 3
1418
- 49
1419
- 3
1420
- 1
1421
- 49
1422
- 4
1423
- 1
1424
- 11
1425
- I
1426
- 4
1427
- I
1428
- 0
1429
- I
1430
- 0
1431
- I
1432
- 0
1433
- I
1434
- -2
1435
- p
1436
- 5
1437
- s
1438
- 5
1439
- foo
1440
- x
1441
- 7
1442
- parsing
1443
- x
1444
- 9
1445
- result_in
1446
- x
1447
- 2
1448
- at
1449
- x
1450
- 6
1451
- should
1452
- p
1453
- 3
1454
- I
1455
- 0
1456
- I
1457
- 31
1458
- I
1459
- 17
1460
- x
1461
- 80
1462
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1463
- p
1464
- 0
1465
- x
1466
- 2
1467
- it
1468
- p
1469
- 3
1470
- I
1471
- 0
1472
- I
1473
- 30
1474
- I
1475
- b
1476
- x
1477
- 80
1478
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1479
- p
1480
- 0
1481
- s
1482
- 25
1483
- when multiple terms match
1484
- M
1485
- 1
1486
- p
1487
- 2
1488
- x
1489
- 9
1490
- for_block
1491
- t
1492
- n
1493
- x
1494
- 9
1495
- __block__
1496
- i
1497
- 11
1498
- 5
1499
- 7
1500
- 0
1501
- 64
1502
- 56
1503
- 1
1504
- 47
1505
- 50
1506
- 2
1507
- 1
1508
- 11
1509
- I
1510
- 4
1511
- I
1512
- 0
1513
- I
1514
- 0
1515
- I
1516
- 0
1517
- I
1518
- -2
1519
- p
1520
- 3
1521
- s
1522
- 31
1523
- returns true consuming the list
1524
- M
1525
- 1
1526
- p
1527
- 2
1528
- x
1529
- 9
1530
- for_block
1531
- t
1532
- n
1533
- x
1534
- 9
1535
- __block__
1536
- i
1537
- 23
1538
- 5
1539
- 7
1540
- 0
1541
- 64
1542
- 47
1543
- 49
1544
- 1
1545
- 1
1546
- 5
1547
- 2
1548
- 47
1549
- 49
1550
- 2
1551
- 1
1552
- 4
1553
- 11
1554
- 49
1555
- 3
1556
- 1
1557
- 49
1558
- 4
1559
- 1
1560
- 11
1561
- I
1562
- 4
1563
- I
1564
- 0
1565
- I
1566
- 0
1567
- I
1568
- 0
1569
- I
1570
- -2
1571
- p
1572
- 5
1573
- s
1574
- 13
1575
- foo,bar;baz
1576
- x
1577
- 7
1578
- parsing
1579
- x
1580
- 9
1581
- result_in
1582
- x
1583
- 2
1584
- at
1585
- x
1586
- 6
1587
- should
1588
- p
1589
- 3
1590
- I
1591
- 0
1592
- I
1593
- 37
1594
- I
1595
- 17
1596
- x
1597
- 80
1598
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1599
- p
1600
- 0
1601
- x
1602
- 2
1603
- it
1604
- p
1605
- 3
1606
- I
1607
- 0
1608
- I
1609
- 36
1610
- I
1611
- b
1612
- x
1613
- 80
1614
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1615
- p
1616
- 0
1617
- p
1618
- 9
1619
- I
1620
- 0
1621
- I
1622
- 27
1623
- I
1624
- 8
1625
- I
1626
- 29
1627
- I
1628
- 13
1629
- I
1630
- 2f
1631
- I
1632
- 1e
1633
- I
1634
- 35
1635
- I
1636
- 29
1637
- x
1638
- 80
1639
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1640
- p
1641
- 0
1642
- p
1643
- 5
1644
- I
1645
- 0
1646
- I
1647
- 8
1648
- I
1649
- b
1650
- I
1651
- 25
1652
- I
1653
- 16
1654
- x
1655
- 80
1656
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1657
- p
1658
- 0
1659
- x
1660
- 8
1661
- describe
1662
- s
1663
- 11
1664
- #capturing?
1665
- M
1666
- 1
1667
- p
1668
- 2
1669
- x
1670
- 9
1671
- for_block
1672
- t
1673
- n
1674
- x
1675
- 9
1676
- __block__
1677
- i
1678
- 22
1679
- 5
1680
- 7
1681
- 0
1682
- 64
1683
- 56
1684
- 1
1685
- 47
1686
- 50
1687
- 2
1688
- 1
1689
- 15
1690
- 5
1691
- 7
1692
- 3
1693
- 64
1694
- 56
1695
- 4
1696
- 47
1697
- 50
1698
- 2
1699
- 1
1700
- 11
1701
- I
1702
- 4
1703
- I
1704
- 0
1705
- I
1706
- 0
1707
- I
1708
- 0
1709
- I
1710
- -2
1711
- p
1712
- 5
1713
- s
1714
- 28
1715
- with a capturing term parser
1716
- M
1717
- 1
1718
- p
1719
- 2
1720
- x
1721
- 9
1722
- for_block
1723
- t
1724
- n
1725
- x
1726
- 9
1727
- __block__
1728
- i
1729
- 19
1730
- 5
1731
- 56
1732
- 0
1733
- 47
1734
- 50
1735
- 1
1736
- 0
1737
- 15
1738
- 5
1739
- 7
1740
- 2
1741
- 64
1742
- 56
1743
- 3
1744
- 47
1745
- 50
1746
- 4
1747
- 1
1748
- 11
1749
- I
1750
- 4
1751
- I
1752
- 0
1753
- I
1754
- 0
1755
- I
1756
- 0
1757
- I
1758
- -2
1759
- p
1760
- 5
1761
- M
1762
- 1
1763
- p
1764
- 2
1765
- x
1766
- 9
1767
- for_block
1768
- t
1769
- n
1770
- x
1771
- 9
1772
- __block__
1773
- i
1774
- 55
1775
- 45
1776
- 0
1777
- 1
1778
- 45
1779
- 2
1780
- 3
1781
- 7
1782
- 4
1783
- 13
1784
- 70
1785
- 9
1786
- 24
1787
- 15
1788
- 44
1789
- 43
1790
- 5
1791
- 7
1792
- 6
1793
- 78
1794
- 49
1795
- 7
1796
- 2
1797
- 6
1798
- 4
1799
- 49
1800
- 8
1801
- 1
1802
- 45
1803
- 2
1804
- 9
1805
- 7
1806
- 10
1807
- 13
1808
- 70
1809
- 9
1810
- 48
1811
- 15
1812
- 44
1813
- 43
1814
- 5
1815
- 7
1816
- 11
1817
- 78
1818
- 49
1819
- 7
1820
- 2
1821
- 6
1822
- 10
1823
- 49
1824
- 8
1825
- 1
1826
- 49
1827
- 8
1828
- 2
1829
- 11
1830
- I
1831
- 7
1832
- I
1833
- 0
1834
- I
1835
- 0
1836
- I
1837
- 0
1838
- I
1839
- -2
1840
- p
1841
- 12
1842
- x
1843
- 5
1844
- List1
1845
- n
1846
- x
1847
- 5
1848
- Match
1849
- n
1850
- n
1851
- x
1852
- 6
1853
- Regexp
1854
- s
1855
- 3
1856
- \w+
1857
- x
1858
- 3
1859
- new
1860
- x
1861
- 2
1862
- []
1863
- n
1864
- n
1865
- s
1866
- 4
1867
- [,;]
1868
- p
1869
- 3
1870
- I
1871
- 0
1872
- I
1873
- 41
1874
- I
1875
- 37
1876
- x
1877
- 80
1878
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1879
- p
1880
- 0
1881
- x
1882
- 7
1883
- subject
1884
- s
1885
- 7
1886
- is true
1887
- M
1888
- 1
1889
- p
1890
- 2
1891
- x
1892
- 9
1893
- for_block
1894
- t
1895
- n
1896
- x
1897
- 9
1898
- __block__
1899
- i
1900
- 10
1901
- 5
1902
- 48
1903
- 0
1904
- 5
1905
- 48
1906
- 1
1907
- 49
1908
- 2
1909
- 1
1910
- 11
1911
- I
1912
- 3
1913
- I
1914
- 0
1915
- I
1916
- 0
1917
- I
1918
- 0
1919
- I
1920
- -2
1921
- p
1922
- 3
1923
- x
1924
- 7
1925
- subject
1926
- x
1927
- 12
1928
- be_capturing
1929
- x
1930
- 6
1931
- should
1932
- p
1933
- 3
1934
- I
1935
- 0
1936
- I
1937
- 44
1938
- I
1939
- a
1940
- x
1941
- 80
1942
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1943
- p
1944
- 0
1945
- x
1946
- 2
1947
- it
1948
- p
1949
- 5
1950
- I
1951
- 0
1952
- I
1953
- 41
1954
- I
1955
- 8
1956
- I
1957
- 43
1958
- I
1959
- 13
1960
- x
1961
- 80
1962
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
1963
- p
1964
- 0
1965
- x
1966
- 7
1967
- context
1968
- s
1969
- 32
1970
- with a non-capturing term parser
1971
- M
1972
- 1
1973
- p
1974
- 2
1975
- x
1976
- 9
1977
- for_block
1978
- t
1979
- n
1980
- x
1981
- 9
1982
- __block__
1983
- i
1984
- 19
1985
- 5
1986
- 56
1987
- 0
1988
- 47
1989
- 50
1990
- 1
1991
- 0
1992
- 15
1993
- 5
1994
- 7
1995
- 2
1996
- 64
1997
- 56
1998
- 3
1999
- 47
2000
- 50
2001
- 4
2002
- 1
2003
- 11
2004
- I
2005
- 4
2006
- I
2007
- 0
2008
- I
2009
- 0
2010
- I
2011
- 0
2012
- I
2013
- -2
2014
- p
2015
- 5
2016
- M
2017
- 1
2018
- p
2019
- 2
2020
- x
2021
- 9
2022
- for_block
2023
- t
2024
- n
2025
- x
2026
- 9
2027
- __block__
2028
- i
2029
- 61
2030
- 45
2031
- 0
2032
- 1
2033
- 45
2034
- 2
2035
- 3
2036
- 45
2037
- 4
2038
- 5
2039
- 7
2040
- 6
2041
- 13
2042
- 70
2043
- 9
2044
- 27
2045
- 15
2046
- 44
2047
- 43
2048
- 7
2049
- 7
2050
- 8
2051
- 78
2052
- 49
2053
- 9
2054
- 2
2055
- 6
2056
- 6
2057
- 49
2058
- 10
2059
- 1
2060
- 49
2061
- 10
2062
- 1
2063
- 45
2064
- 4
2065
- 11
2066
- 7
2067
- 12
2068
- 13
2069
- 70
2070
- 9
2071
- 54
2072
- 15
2073
- 44
2074
- 43
2075
- 7
2076
- 7
2077
- 13
2078
- 78
2079
- 49
2080
- 9
2081
- 2
2082
- 6
2083
- 12
2084
- 49
2085
- 10
2086
- 1
2087
- 49
2088
- 10
2089
- 2
2090
- 11
2091
- I
2092
- 7
2093
- I
2094
- 0
2095
- I
2096
- 0
2097
- I
2098
- 0
2099
- I
2100
- -2
2101
- p
2102
- 14
2103
- x
2104
- 5
2105
- List1
2106
- n
2107
- x
2108
- 4
2109
- Skip
2110
- n
2111
- x
2112
- 5
2113
- Match
2114
- n
2115
- n
2116
- x
2117
- 6
2118
- Regexp
2119
- s
2120
- 3
2121
- \w+
2122
- x
2123
- 3
2124
- new
2125
- x
2126
- 2
2127
- []
2128
- n
2129
- n
2130
- s
2131
- 4
2132
- [,;]
2133
- p
2134
- 3
2135
- I
2136
- 0
2137
- I
2138
- 4a
2139
- I
2140
- 3d
2141
- x
2142
- 80
2143
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2144
- p
2145
- 0
2146
- x
2147
- 7
2148
- subject
2149
- s
2150
- 7
2151
- is true
2152
- M
2153
- 1
2154
- p
2155
- 2
2156
- x
2157
- 9
2158
- for_block
2159
- t
2160
- n
2161
- x
2162
- 9
2163
- __block__
2164
- i
2165
- 10
2166
- 5
2167
- 48
2168
- 0
2169
- 5
2170
- 48
2171
- 1
2172
- 49
2173
- 2
2174
- 1
2175
- 11
2176
- I
2177
- 3
2178
- I
2179
- 0
2180
- I
2181
- 0
2182
- I
2183
- 0
2184
- I
2185
- -2
2186
- p
2187
- 3
2188
- x
2189
- 7
2190
- subject
2191
- x
2192
- 12
2193
- be_capturing
2194
- x
2195
- 10
2196
- should_not
2197
- p
2198
- 3
2199
- I
2200
- 0
2201
- I
2202
- 4d
2203
- I
2204
- a
2205
- x
2206
- 80
2207
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2208
- p
2209
- 0
2210
- x
2211
- 2
2212
- it
2213
- p
2214
- 5
2215
- I
2216
- 0
2217
- I
2218
- 4a
2219
- I
2220
- 8
2221
- I
2222
- 4c
2223
- I
2224
- 13
2225
- x
2226
- 80
2227
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2228
- p
2229
- 0
2230
- p
2231
- 5
2232
- I
2233
- 0
2234
- I
2235
- 3f
2236
- I
2237
- b
2238
- I
2239
- 48
2240
- I
2241
- 16
2242
- x
2243
- 80
2244
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2245
- p
2246
- 0
2247
- p
2248
- 7
2249
- I
2250
- 0
2251
- I
2252
- 4
2253
- I
2254
- 9
2255
- I
2256
- 6
2257
- I
2258
- 14
2259
- I
2260
- 3d
2261
- I
2262
- 1f
2263
- x
2264
- 80
2265
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2266
- p
2267
- 0
2268
- x
2269
- 8
2270
- describe
2271
- p
2272
- 5
2273
- I
2274
- 0
2275
- I
2276
- 1
2277
- I
2278
- 1b
2279
- I
2280
- 3
2281
- I
2282
- 28
2283
- x
2284
- 80
2285
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/list1_spec.rb
2286
- p
2287
- 0