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,244 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- include Rattler::BackEnd::ParserGenerator
4
- include Rattler::Parsers
5
-
6
- describe ZeroOrMoreGenerator do
7
-
8
- include ParserGeneratorSpecHelper
9
-
10
- let(:zero_or_more) { ZeroOrMore[Match[/w+/]] }
11
-
12
- describe '#gen_basic' do
13
-
14
- let :zero_or_more do
15
- ZeroOrMore[Choice[Match[/[[:alpha:]]/], Match[/[[:digit:]]/]]]
16
- end
17
-
18
- context 'when nested' do
19
- it 'generates nested zero-or-more matching code' do
20
- nested_code {|g| g.gen_basic zero_or_more }.
21
- should == (<<-CODE).strip
22
- begin
23
- a = []
24
- while r = begin
25
- @scanner.scan(/[[:alpha:]]/) ||
26
- @scanner.scan(/[[:digit:]]/)
27
- end
28
- a << r
29
- end
30
- a
31
- end
32
- CODE
33
- end
34
- end
35
-
36
- context 'when top-level' do
37
- it 'generates top level zero-or-more matching code' do
38
- top_level_code {|g| g.gen_basic zero_or_more }.
39
- should == (<<-CODE).strip
40
- a = []
41
- while r = begin
42
- @scanner.scan(/[[:alpha:]]/) ||
43
- @scanner.scan(/[[:digit:]]/)
44
- end
45
- a << r
46
- end
47
- a
48
- CODE
49
- end
50
- end
51
- end
52
-
53
- describe '#gen_assert' do
54
-
55
- context 'when nested' do
56
- it 'generates "true"' do
57
- nested_code {|g| g.gen_assert zero_or_more }.should == 'true'
58
- end
59
- end
60
-
61
- context 'when top-level' do
62
- it 'generates "true"' do
63
- top_level_code {|g| g.gen_assert zero_or_more }.should == 'true'
64
- end
65
- end
66
- end
67
-
68
- describe '#gen_disallow' do
69
-
70
- context 'when nested' do
71
- it 'generates "false"' do
72
- nested_code {|g| g.gen_disallow zero_or_more }.should == 'false'
73
- end
74
- end
75
-
76
- context 'when top-level' do
77
- it 'generates "false"' do
78
- top_level_code {|g| g.gen_disallow zero_or_more }.should == 'false'
79
- end
80
- end
81
- end
82
-
83
- describe '#gen_dispatch_action' do
84
-
85
- let(:code) { NodeCode.new('Word', 'parsed') }
86
-
87
- context 'when nested' do
88
- it 'generates nested zero-or-more matching code with a dispatch action' do
89
- nested_code {|g| g.gen_dispatch_action zero_or_more, code }.
90
- should == (<<-CODE).strip
91
- begin
92
- a = []
93
- while r = @scanner.scan(/w+/)
94
- a << r
95
- end
96
- Word.parsed(select_captures(a))
97
- end
98
- CODE
99
- end
100
- end
101
-
102
- context 'when top-level' do
103
- it 'generates top level zero-or-more matching code with a dispatch action' do
104
- top_level_code {|g| g.gen_dispatch_action zero_or_more, code }.
105
- should == (<<-CODE).strip
106
- a = []
107
- while r = @scanner.scan(/w+/)
108
- a << r
109
- end
110
- Word.parsed(select_captures(a))
111
- CODE
112
- end
113
- end
114
- end
115
-
116
- describe '#gen_direct_action' do
117
-
118
- let(:code) { ActionCode.new('|_| _.size') }
119
-
120
- context 'when nested' do
121
- it 'generates nested zero-or-more matching code with a direct action' do
122
- nested_code {|g| g.gen_direct_action zero_or_more, code }.
123
- should == (<<-CODE).strip
124
- begin
125
- a = []
126
- while r = @scanner.scan(/w+/)
127
- a << r
128
- end
129
- (select_captures(a).size)
130
- end
131
- CODE
132
- end
133
- end
134
-
135
- context 'when top-level' do
136
- it 'generates top level zero-or-more matching code with a direct action' do
137
- top_level_code {|g| g.gen_direct_action zero_or_more, code }.
138
- should == (<<-CODE).strip
139
- a = []
140
- while r = @scanner.scan(/w+/)
141
- a << r
142
- end
143
- (select_captures(a).size)
144
- CODE
145
- end
146
- end
147
- end
148
-
149
- describe '#gen_token' do
150
-
151
- context 'when nested' do
152
- it 'generates nested zero-or-more matching code' do
153
- nested_code {|g| g.gen_token zero_or_more }.
154
- should == (<<-CODE).strip
155
- begin
156
- a = []
157
- while r = @scanner.scan(/w+/)
158
- a << r
159
- end
160
- a.join
161
- end
162
- CODE
163
- end
164
- end
165
-
166
- context 'when top-level' do
167
- it 'generates top level zero-or-more matching code' do
168
- top_level_code {|g| g.gen_token zero_or_more }.
169
- should == (<<-CODE).strip
170
- a = []
171
- while r = @scanner.scan(/w+/)
172
- a << r
173
- end
174
- a.join
175
- CODE
176
- end
177
- end
178
- end
179
-
180
- describe '#gen_skip' do
181
-
182
- context 'when nested' do
183
- it 'generates nested zero-or-more skipping code' do
184
- nested_code {|g| g.gen_skip zero_or_more }.
185
- should == (<<-CODE).strip
186
- begin
187
- while @scanner.skip(/w+/); end
188
- true
189
- end
190
- CODE
191
- end
192
- end
193
-
194
- context 'when top-level' do
195
- it 'generates top level zero-or-more skipping code' do
196
- top_level_code {|g| g.gen_skip zero_or_more }.
197
- should == (<<-CODE).strip
198
- while @scanner.skip(/w+/); end
199
- true
200
- CODE
201
- end
202
- end
203
- end
204
-
205
- describe '#gen_intermediate' do
206
- it 'generates nested zero-or-more matching code' do
207
- nested_code {|g| g.gen_intermediate zero_or_more }.
208
- should == (<<-CODE).strip
209
- begin
210
- a = []
211
- while r = @scanner.scan(/w+/)
212
- a << r
213
- end
214
- a
215
- end
216
- CODE
217
- end
218
- end
219
-
220
- describe '#gen_intermediate_assert' do
221
- it 'generates "true"' do
222
- nested_code {|g| g.gen_intermediate_assert zero_or_more }.should == 'true'
223
- end
224
- end
225
-
226
- describe '#gen_intermediate_disallow' do
227
- it 'generates "false"' do
228
- nested_code {|g| g.gen_intermediate_disallow zero_or_more }.should == 'false'
229
- end
230
- end
231
-
232
- describe '#gen_intermediate_skip' do
233
- it 'generates nested zero-or-more skipping code' do
234
- nested_code {|g| g.gen_intermediate_skip zero_or_more }.
235
- should == (<<-CODE).strip
236
- begin
237
- while @scanner.skip(/w+/); end
238
- true
239
- end
240
- CODE
241
- end
242
- end
243
-
244
- end
@@ -1,4924 +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
- 64
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
- 43
45
- 11
46
- 43
47
- 12
48
- 47
49
- 49
50
- 13
51
- 1
52
- 15
53
- 5
54
- 45
55
- 9
56
- 14
57
- 43
58
- 15
59
- 47
60
- 49
61
- 13
62
- 1
63
- 15
64
- 5
65
- 45
66
- 16
67
- 17
68
- 56
69
- 18
70
- 47
71
- 50
72
- 19
73
- 1
74
- 15
75
- 2
76
- 11
77
- I
78
- 4
79
- I
80
- 0
81
- I
82
- 0
83
- I
84
- 0
85
- n
86
- p
87
- 20
88
- x
89
- 4
90
- File
91
- n
92
- n
93
- x
94
- 11
95
- active_path
96
- x
97
- 7
98
- dirname
99
- s
100
- 21
101
- /../../../spec_helper
102
- x
103
- 1
104
- +
105
- x
106
- 11
107
- expand_path
108
- x
109
- 7
110
- require
111
- x
112
- 7
113
- Rattler
114
- n
115
- x
116
- 7
117
- BackEnd
118
- x
119
- 15
120
- ParserGenerator
121
- x
122
- 7
123
- include
124
- n
125
- x
126
- 7
127
- Parsers
128
- x
129
- 19
130
- ZeroOrMoreGenerator
131
- n
132
- M
133
- 1
134
- p
135
- 2
136
- x
137
- 9
138
- for_block
139
- t
140
- n
141
- x
142
- 9
143
- __block__
144
- i
145
- 140
146
- 5
147
- 45
148
- 0
149
- 1
150
- 47
151
- 49
152
- 2
153
- 1
154
- 15
155
- 5
156
- 7
157
- 3
158
- 56
159
- 4
160
- 47
161
- 50
162
- 5
163
- 1
164
- 15
165
- 5
166
- 7
167
- 6
168
- 64
169
- 56
170
- 7
171
- 47
172
- 50
173
- 8
174
- 1
175
- 15
176
- 5
177
- 7
178
- 9
179
- 64
180
- 56
181
- 10
182
- 47
183
- 50
184
- 8
185
- 1
186
- 15
187
- 5
188
- 7
189
- 11
190
- 64
191
- 56
192
- 12
193
- 47
194
- 50
195
- 8
196
- 1
197
- 15
198
- 5
199
- 7
200
- 13
201
- 64
202
- 56
203
- 14
204
- 47
205
- 50
206
- 8
207
- 1
208
- 15
209
- 5
210
- 7
211
- 15
212
- 64
213
- 56
214
- 16
215
- 47
216
- 50
217
- 8
218
- 1
219
- 15
220
- 5
221
- 7
222
- 17
223
- 64
224
- 56
225
- 18
226
- 47
227
- 50
228
- 8
229
- 1
230
- 15
231
- 5
232
- 7
233
- 19
234
- 64
235
- 56
236
- 20
237
- 47
238
- 50
239
- 8
240
- 1
241
- 15
242
- 5
243
- 7
244
- 21
245
- 64
246
- 56
247
- 22
248
- 47
249
- 50
250
- 8
251
- 1
252
- 15
253
- 5
254
- 7
255
- 23
256
- 64
257
- 56
258
- 24
259
- 47
260
- 50
261
- 8
262
- 1
263
- 15
264
- 5
265
- 7
266
- 25
267
- 64
268
- 56
269
- 26
270
- 47
271
- 50
272
- 8
273
- 1
274
- 15
275
- 5
276
- 7
277
- 27
278
- 64
279
- 56
280
- 28
281
- 47
282
- 50
283
- 8
284
- 1
285
- 11
286
- I
287
- 4
288
- I
289
- 0
290
- I
291
- 0
292
- I
293
- 0
294
- I
295
- -2
296
- p
297
- 29
298
- x
299
- 25
300
- ParserGeneratorSpecHelper
301
- n
302
- x
303
- 7
304
- include
305
- x
306
- 12
307
- zero_or_more
308
- M
309
- 1
310
- p
311
- 2
312
- x
313
- 9
314
- for_block
315
- t
316
- n
317
- x
318
- 9
319
- __block__
320
- i
321
- 31
322
- 45
323
- 0
324
- 1
325
- 45
326
- 2
327
- 3
328
- 7
329
- 4
330
- 13
331
- 70
332
- 9
333
- 24
334
- 15
335
- 44
336
- 43
337
- 5
338
- 7
339
- 6
340
- 78
341
- 49
342
- 7
343
- 2
344
- 6
345
- 4
346
- 49
347
- 8
348
- 1
349
- 49
350
- 8
351
- 1
352
- 11
353
- I
354
- 6
355
- I
356
- 0
357
- I
358
- 0
359
- I
360
- 0
361
- I
362
- -2
363
- p
364
- 9
365
- x
366
- 10
367
- ZeroOrMore
368
- n
369
- x
370
- 5
371
- Match
372
- n
373
- n
374
- x
375
- 6
376
- Regexp
377
- s
378
- 2
379
- w+
380
- x
381
- 3
382
- new
383
- x
384
- 2
385
- []
386
- p
387
- 3
388
- I
389
- 0
390
- I
391
- a
392
- I
393
- 1f
394
- x
395
- 115
396
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
397
- p
398
- 0
399
- x
400
- 3
401
- let
402
- s
403
- 10
404
- #gen_basic
405
- M
406
- 1
407
- p
408
- 2
409
- x
410
- 9
411
- for_block
412
- t
413
- n
414
- x
415
- 9
416
- __block__
417
- i
418
- 32
419
- 5
420
- 7
421
- 0
422
- 56
423
- 1
424
- 47
425
- 50
426
- 2
427
- 1
428
- 15
429
- 5
430
- 7
431
- 3
432
- 64
433
- 56
434
- 4
435
- 47
436
- 50
437
- 5
438
- 1
439
- 15
440
- 5
441
- 7
442
- 6
443
- 64
444
- 56
445
- 7
446
- 47
447
- 50
448
- 5
449
- 1
450
- 11
451
- I
452
- 4
453
- I
454
- 0
455
- I
456
- 0
457
- I
458
- 0
459
- I
460
- -2
461
- p
462
- 8
463
- x
464
- 12
465
- zero_or_more
466
- M
467
- 1
468
- p
469
- 2
470
- x
471
- 9
472
- for_block
473
- t
474
- n
475
- x
476
- 9
477
- __block__
478
- i
479
- 61
480
- 45
481
- 0
482
- 1
483
- 45
484
- 2
485
- 3
486
- 45
487
- 4
488
- 5
489
- 7
490
- 6
491
- 13
492
- 70
493
- 9
494
- 27
495
- 15
496
- 44
497
- 43
498
- 7
499
- 7
500
- 8
501
- 78
502
- 49
503
- 9
504
- 2
505
- 6
506
- 6
507
- 49
508
- 10
509
- 1
510
- 45
511
- 4
512
- 11
513
- 7
514
- 12
515
- 13
516
- 70
517
- 9
518
- 51
519
- 15
520
- 44
521
- 43
522
- 7
523
- 7
524
- 13
525
- 78
526
- 49
527
- 9
528
- 2
529
- 6
530
- 12
531
- 49
532
- 10
533
- 1
534
- 49
535
- 10
536
- 2
537
- 49
538
- 10
539
- 1
540
- 11
541
- I
542
- 8
543
- I
544
- 0
545
- I
546
- 0
547
- I
548
- 0
549
- I
550
- -2
551
- p
552
- 14
553
- x
554
- 10
555
- ZeroOrMore
556
- n
557
- x
558
- 6
559
- Choice
560
- n
561
- x
562
- 5
563
- Match
564
- n
565
- n
566
- x
567
- 6
568
- Regexp
569
- s
570
- 11
571
- [[:alpha:]]
572
- x
573
- 3
574
- new
575
- x
576
- 2
577
- []
578
- n
579
- n
580
- s
581
- 11
582
- [[:digit:]]
583
- p
584
- 3
585
- I
586
- 0
587
- I
588
- f
589
- I
590
- 3d
591
- x
592
- 115
593
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
594
- p
595
- 0
596
- x
597
- 3
598
- let
599
- s
600
- 11
601
- when nested
602
- M
603
- 1
604
- p
605
- 2
606
- x
607
- 9
608
- for_block
609
- t
610
- n
611
- x
612
- 9
613
- __block__
614
- i
615
- 11
616
- 5
617
- 7
618
- 0
619
- 64
620
- 56
621
- 1
622
- 47
623
- 50
624
- 2
625
- 1
626
- 11
627
- I
628
- 4
629
- I
630
- 0
631
- I
632
- 0
633
- I
634
- 0
635
- I
636
- -2
637
- p
638
- 3
639
- s
640
- 43
641
- generates nested zero-or-more matching code
642
- M
643
- 1
644
- p
645
- 2
646
- x
647
- 9
648
- for_block
649
- t
650
- n
651
- x
652
- 9
653
- __block__
654
- i
655
- 19
656
- 5
657
- 56
658
- 0
659
- 47
660
- 50
661
- 1
662
- 0
663
- 49
664
- 2
665
- 0
666
- 7
667
- 3
668
- 64
669
- 49
670
- 4
671
- 0
672
- 83
673
- 5
674
- 11
675
- I
676
- 3
677
- I
678
- 0
679
- I
680
- 0
681
- I
682
- 0
683
- I
684
- -2
685
- p
686
- 6
687
- M
688
- 1
689
- p
690
- 2
691
- x
692
- 9
693
- for_block
694
- t
695
- n
696
- x
697
- 9
698
- __block__
699
- i
700
- 13
701
- 57
702
- 19
703
- 0
704
- 15
705
- 20
706
- 0
707
- 5
708
- 48
709
- 0
710
- 49
711
- 1
712
- 1
713
- 11
714
- I
715
- 4
716
- I
717
- 1
718
- I
719
- 1
720
- I
721
- 1
722
- n
723
- p
724
- 2
725
- x
726
- 12
727
- zero_or_more
728
- x
729
- 9
730
- gen_basic
731
- p
732
- 3
733
- I
734
- 0
735
- I
736
- 14
737
- I
738
- d
739
- x
740
- 115
741
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
742
- p
743
- 1
744
- x
745
- 1
746
- g
747
- x
748
- 11
749
- nested_code
750
- x
751
- 6
752
- should
753
- s
754
- 133
755
- begin
756
- a = []
757
- while r = begin
758
- @scanner.scan(/[[:alpha:]]/) ||
759
- @scanner.scan(/[[:digit:]]/)
760
- end
761
- a << r
762
- end
763
- a
764
- end
765
-
766
- x
767
- 5
768
- strip
769
- x
770
- 2
771
- ==
772
- p
773
- 5
774
- I
775
- 0
776
- I
777
- 14
778
- I
779
- a
780
- I
781
- 15
782
- I
783
- 13
784
- x
785
- 115
786
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
787
- p
788
- 0
789
- x
790
- 2
791
- it
792
- p
793
- 3
794
- I
795
- 0
796
- I
797
- 13
798
- I
799
- b
800
- x
801
- 115
802
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
803
- p
804
- 0
805
- x
806
- 7
807
- context
808
- s
809
- 14
810
- when top-level
811
- M
812
- 1
813
- p
814
- 2
815
- x
816
- 9
817
- for_block
818
- t
819
- n
820
- x
821
- 9
822
- __block__
823
- i
824
- 11
825
- 5
826
- 7
827
- 0
828
- 64
829
- 56
830
- 1
831
- 47
832
- 50
833
- 2
834
- 1
835
- 11
836
- I
837
- 4
838
- I
839
- 0
840
- I
841
- 0
842
- I
843
- 0
844
- I
845
- -2
846
- p
847
- 3
848
- s
849
- 46
850
- generates top level zero-or-more matching code
851
- M
852
- 1
853
- p
854
- 2
855
- x
856
- 9
857
- for_block
858
- t
859
- n
860
- x
861
- 9
862
- __block__
863
- i
864
- 19
865
- 5
866
- 56
867
- 0
868
- 47
869
- 50
870
- 1
871
- 0
872
- 49
873
- 2
874
- 0
875
- 7
876
- 3
877
- 64
878
- 49
879
- 4
880
- 0
881
- 83
882
- 5
883
- 11
884
- I
885
- 3
886
- I
887
- 0
888
- I
889
- 0
890
- I
891
- 0
892
- I
893
- -2
894
- p
895
- 6
896
- M
897
- 1
898
- p
899
- 2
900
- x
901
- 9
902
- for_block
903
- t
904
- n
905
- x
906
- 9
907
- __block__
908
- i
909
- 13
910
- 57
911
- 19
912
- 0
913
- 15
914
- 20
915
- 0
916
- 5
917
- 48
918
- 0
919
- 49
920
- 1
921
- 1
922
- 11
923
- I
924
- 4
925
- I
926
- 1
927
- I
928
- 1
929
- I
930
- 1
931
- n
932
- p
933
- 2
934
- x
935
- 12
936
- zero_or_more
937
- x
938
- 9
939
- gen_basic
940
- p
941
- 3
942
- I
943
- 0
944
- I
945
- 26
946
- I
947
- d
948
- x
949
- 115
950
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
951
- p
952
- 1
953
- x
954
- 1
955
- g
956
- x
957
- 14
958
- top_level_code
959
- x
960
- 6
961
- should
962
- s
963
- 107
964
- a = []
965
- while r = begin
966
- @scanner.scan(/[[:alpha:]]/) ||
967
- @scanner.scan(/[[:digit:]]/)
968
- end
969
- a << r
970
- end
971
- a
972
-
973
- x
974
- 5
975
- strip
976
- x
977
- 2
978
- ==
979
- p
980
- 5
981
- I
982
- 0
983
- I
984
- 26
985
- I
986
- a
987
- I
988
- 27
989
- I
990
- 13
991
- x
992
- 115
993
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
994
- p
995
- 0
996
- x
997
- 2
998
- it
999
- p
1000
- 3
1001
- I
1002
- 0
1003
- I
1004
- 25
1005
- I
1006
- b
1007
- x
1008
- 115
1009
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1010
- p
1011
- 0
1012
- p
1013
- 7
1014
- I
1015
- 0
1016
- I
1017
- e
1018
- I
1019
- a
1020
- I
1021
- 12
1022
- I
1023
- 15
1024
- I
1025
- 24
1026
- I
1027
- 20
1028
- x
1029
- 115
1030
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1031
- p
1032
- 0
1033
- x
1034
- 8
1035
- describe
1036
- s
1037
- 11
1038
- #gen_assert
1039
- M
1040
- 1
1041
- p
1042
- 2
1043
- x
1044
- 9
1045
- for_block
1046
- t
1047
- n
1048
- x
1049
- 9
1050
- __block__
1051
- i
1052
- 22
1053
- 5
1054
- 7
1055
- 0
1056
- 64
1057
- 56
1058
- 1
1059
- 47
1060
- 50
1061
- 2
1062
- 1
1063
- 15
1064
- 5
1065
- 7
1066
- 3
1067
- 64
1068
- 56
1069
- 4
1070
- 47
1071
- 50
1072
- 2
1073
- 1
1074
- 11
1075
- I
1076
- 4
1077
- I
1078
- 0
1079
- I
1080
- 0
1081
- I
1082
- 0
1083
- I
1084
- -2
1085
- p
1086
- 5
1087
- s
1088
- 11
1089
- when nested
1090
- M
1091
- 1
1092
- p
1093
- 2
1094
- x
1095
- 9
1096
- for_block
1097
- t
1098
- n
1099
- x
1100
- 9
1101
- __block__
1102
- i
1103
- 11
1104
- 5
1105
- 7
1106
- 0
1107
- 64
1108
- 56
1109
- 1
1110
- 47
1111
- 50
1112
- 2
1113
- 1
1114
- 11
1115
- I
1116
- 4
1117
- I
1118
- 0
1119
- I
1120
- 0
1121
- I
1122
- 0
1123
- I
1124
- -2
1125
- p
1126
- 3
1127
- s
1128
- 16
1129
- generates "true"
1130
- M
1131
- 1
1132
- p
1133
- 2
1134
- x
1135
- 9
1136
- for_block
1137
- t
1138
- n
1139
- x
1140
- 9
1141
- __block__
1142
- i
1143
- 16
1144
- 5
1145
- 56
1146
- 0
1147
- 47
1148
- 50
1149
- 1
1150
- 0
1151
- 49
1152
- 2
1153
- 0
1154
- 7
1155
- 3
1156
- 64
1157
- 83
1158
- 4
1159
- 11
1160
- I
1161
- 3
1162
- I
1163
- 0
1164
- I
1165
- 0
1166
- I
1167
- 0
1168
- I
1169
- -2
1170
- p
1171
- 5
1172
- M
1173
- 1
1174
- p
1175
- 2
1176
- x
1177
- 9
1178
- for_block
1179
- t
1180
- n
1181
- x
1182
- 9
1183
- __block__
1184
- i
1185
- 13
1186
- 57
1187
- 19
1188
- 0
1189
- 15
1190
- 20
1191
- 0
1192
- 5
1193
- 48
1194
- 0
1195
- 49
1196
- 1
1197
- 1
1198
- 11
1199
- I
1200
- 4
1201
- I
1202
- 1
1203
- I
1204
- 1
1205
- I
1206
- 1
1207
- n
1208
- p
1209
- 2
1210
- x
1211
- 12
1212
- zero_or_more
1213
- x
1214
- 10
1215
- gen_assert
1216
- p
1217
- 3
1218
- I
1219
- 0
1220
- I
1221
- 39
1222
- I
1223
- d
1224
- x
1225
- 115
1226
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1227
- p
1228
- 1
1229
- x
1230
- 1
1231
- g
1232
- x
1233
- 11
1234
- nested_code
1235
- x
1236
- 6
1237
- should
1238
- s
1239
- 4
1240
- true
1241
- x
1242
- 2
1243
- ==
1244
- p
1245
- 3
1246
- I
1247
- 0
1248
- I
1249
- 39
1250
- I
1251
- 10
1252
- x
1253
- 115
1254
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1255
- p
1256
- 0
1257
- x
1258
- 2
1259
- it
1260
- p
1261
- 3
1262
- I
1263
- 0
1264
- I
1265
- 38
1266
- I
1267
- b
1268
- x
1269
- 115
1270
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1271
- p
1272
- 0
1273
- x
1274
- 7
1275
- context
1276
- s
1277
- 14
1278
- when top-level
1279
- M
1280
- 1
1281
- p
1282
- 2
1283
- x
1284
- 9
1285
- for_block
1286
- t
1287
- n
1288
- x
1289
- 9
1290
- __block__
1291
- i
1292
- 11
1293
- 5
1294
- 7
1295
- 0
1296
- 64
1297
- 56
1298
- 1
1299
- 47
1300
- 50
1301
- 2
1302
- 1
1303
- 11
1304
- I
1305
- 4
1306
- I
1307
- 0
1308
- I
1309
- 0
1310
- I
1311
- 0
1312
- I
1313
- -2
1314
- p
1315
- 3
1316
- s
1317
- 16
1318
- generates "true"
1319
- M
1320
- 1
1321
- p
1322
- 2
1323
- x
1324
- 9
1325
- for_block
1326
- t
1327
- n
1328
- x
1329
- 9
1330
- __block__
1331
- i
1332
- 16
1333
- 5
1334
- 56
1335
- 0
1336
- 47
1337
- 50
1338
- 1
1339
- 0
1340
- 49
1341
- 2
1342
- 0
1343
- 7
1344
- 3
1345
- 64
1346
- 83
1347
- 4
1348
- 11
1349
- I
1350
- 3
1351
- I
1352
- 0
1353
- I
1354
- 0
1355
- I
1356
- 0
1357
- I
1358
- -2
1359
- p
1360
- 5
1361
- M
1362
- 1
1363
- p
1364
- 2
1365
- x
1366
- 9
1367
- for_block
1368
- t
1369
- n
1370
- x
1371
- 9
1372
- __block__
1373
- i
1374
- 13
1375
- 57
1376
- 19
1377
- 0
1378
- 15
1379
- 20
1380
- 0
1381
- 5
1382
- 48
1383
- 0
1384
- 49
1385
- 1
1386
- 1
1387
- 11
1388
- I
1389
- 4
1390
- I
1391
- 1
1392
- I
1393
- 1
1394
- I
1395
- 1
1396
- n
1397
- p
1398
- 2
1399
- x
1400
- 12
1401
- zero_or_more
1402
- x
1403
- 10
1404
- gen_assert
1405
- p
1406
- 3
1407
- I
1408
- 0
1409
- I
1410
- 3f
1411
- I
1412
- d
1413
- x
1414
- 115
1415
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1416
- p
1417
- 1
1418
- x
1419
- 1
1420
- g
1421
- x
1422
- 14
1423
- top_level_code
1424
- x
1425
- 6
1426
- should
1427
- s
1428
- 4
1429
- true
1430
- x
1431
- 2
1432
- ==
1433
- p
1434
- 3
1435
- I
1436
- 0
1437
- I
1438
- 3f
1439
- I
1440
- 10
1441
- x
1442
- 115
1443
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1444
- p
1445
- 0
1446
- x
1447
- 2
1448
- it
1449
- p
1450
- 3
1451
- I
1452
- 0
1453
- I
1454
- 3e
1455
- I
1456
- b
1457
- x
1458
- 115
1459
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1460
- p
1461
- 0
1462
- p
1463
- 5
1464
- I
1465
- 0
1466
- I
1467
- 37
1468
- I
1469
- b
1470
- I
1471
- 3d
1472
- I
1473
- 16
1474
- x
1475
- 115
1476
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1477
- p
1478
- 0
1479
- s
1480
- 13
1481
- #gen_disallow
1482
- M
1483
- 1
1484
- p
1485
- 2
1486
- x
1487
- 9
1488
- for_block
1489
- t
1490
- n
1491
- x
1492
- 9
1493
- __block__
1494
- i
1495
- 22
1496
- 5
1497
- 7
1498
- 0
1499
- 64
1500
- 56
1501
- 1
1502
- 47
1503
- 50
1504
- 2
1505
- 1
1506
- 15
1507
- 5
1508
- 7
1509
- 3
1510
- 64
1511
- 56
1512
- 4
1513
- 47
1514
- 50
1515
- 2
1516
- 1
1517
- 11
1518
- I
1519
- 4
1520
- I
1521
- 0
1522
- I
1523
- 0
1524
- I
1525
- 0
1526
- I
1527
- -2
1528
- p
1529
- 5
1530
- s
1531
- 11
1532
- when nested
1533
- M
1534
- 1
1535
- p
1536
- 2
1537
- x
1538
- 9
1539
- for_block
1540
- t
1541
- n
1542
- x
1543
- 9
1544
- __block__
1545
- i
1546
- 11
1547
- 5
1548
- 7
1549
- 0
1550
- 64
1551
- 56
1552
- 1
1553
- 47
1554
- 50
1555
- 2
1556
- 1
1557
- 11
1558
- I
1559
- 4
1560
- I
1561
- 0
1562
- I
1563
- 0
1564
- I
1565
- 0
1566
- I
1567
- -2
1568
- p
1569
- 3
1570
- s
1571
- 17
1572
- generates "false"
1573
- M
1574
- 1
1575
- p
1576
- 2
1577
- x
1578
- 9
1579
- for_block
1580
- t
1581
- n
1582
- x
1583
- 9
1584
- __block__
1585
- i
1586
- 16
1587
- 5
1588
- 56
1589
- 0
1590
- 47
1591
- 50
1592
- 1
1593
- 0
1594
- 49
1595
- 2
1596
- 0
1597
- 7
1598
- 3
1599
- 64
1600
- 83
1601
- 4
1602
- 11
1603
- I
1604
- 3
1605
- I
1606
- 0
1607
- I
1608
- 0
1609
- I
1610
- 0
1611
- I
1612
- -2
1613
- p
1614
- 5
1615
- M
1616
- 1
1617
- p
1618
- 2
1619
- x
1620
- 9
1621
- for_block
1622
- t
1623
- n
1624
- x
1625
- 9
1626
- __block__
1627
- i
1628
- 13
1629
- 57
1630
- 19
1631
- 0
1632
- 15
1633
- 20
1634
- 0
1635
- 5
1636
- 48
1637
- 0
1638
- 49
1639
- 1
1640
- 1
1641
- 11
1642
- I
1643
- 4
1644
- I
1645
- 1
1646
- I
1647
- 1
1648
- I
1649
- 1
1650
- n
1651
- p
1652
- 2
1653
- x
1654
- 12
1655
- zero_or_more
1656
- x
1657
- 12
1658
- gen_disallow
1659
- p
1660
- 3
1661
- I
1662
- 0
1663
- I
1664
- 48
1665
- I
1666
- d
1667
- x
1668
- 115
1669
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1670
- p
1671
- 1
1672
- x
1673
- 1
1674
- g
1675
- x
1676
- 11
1677
- nested_code
1678
- x
1679
- 6
1680
- should
1681
- s
1682
- 5
1683
- false
1684
- x
1685
- 2
1686
- ==
1687
- p
1688
- 3
1689
- I
1690
- 0
1691
- I
1692
- 48
1693
- I
1694
- 10
1695
- x
1696
- 115
1697
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1698
- p
1699
- 0
1700
- x
1701
- 2
1702
- it
1703
- p
1704
- 3
1705
- I
1706
- 0
1707
- I
1708
- 47
1709
- I
1710
- b
1711
- x
1712
- 115
1713
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1714
- p
1715
- 0
1716
- x
1717
- 7
1718
- context
1719
- s
1720
- 14
1721
- when top-level
1722
- M
1723
- 1
1724
- p
1725
- 2
1726
- x
1727
- 9
1728
- for_block
1729
- t
1730
- n
1731
- x
1732
- 9
1733
- __block__
1734
- i
1735
- 11
1736
- 5
1737
- 7
1738
- 0
1739
- 64
1740
- 56
1741
- 1
1742
- 47
1743
- 50
1744
- 2
1745
- 1
1746
- 11
1747
- I
1748
- 4
1749
- I
1750
- 0
1751
- I
1752
- 0
1753
- I
1754
- 0
1755
- I
1756
- -2
1757
- p
1758
- 3
1759
- s
1760
- 17
1761
- generates "false"
1762
- M
1763
- 1
1764
- p
1765
- 2
1766
- x
1767
- 9
1768
- for_block
1769
- t
1770
- n
1771
- x
1772
- 9
1773
- __block__
1774
- i
1775
- 16
1776
- 5
1777
- 56
1778
- 0
1779
- 47
1780
- 50
1781
- 1
1782
- 0
1783
- 49
1784
- 2
1785
- 0
1786
- 7
1787
- 3
1788
- 64
1789
- 83
1790
- 4
1791
- 11
1792
- I
1793
- 3
1794
- I
1795
- 0
1796
- I
1797
- 0
1798
- I
1799
- 0
1800
- I
1801
- -2
1802
- p
1803
- 5
1804
- M
1805
- 1
1806
- p
1807
- 2
1808
- x
1809
- 9
1810
- for_block
1811
- t
1812
- n
1813
- x
1814
- 9
1815
- __block__
1816
- i
1817
- 13
1818
- 57
1819
- 19
1820
- 0
1821
- 15
1822
- 20
1823
- 0
1824
- 5
1825
- 48
1826
- 0
1827
- 49
1828
- 1
1829
- 1
1830
- 11
1831
- I
1832
- 4
1833
- I
1834
- 1
1835
- I
1836
- 1
1837
- I
1838
- 1
1839
- n
1840
- p
1841
- 2
1842
- x
1843
- 12
1844
- zero_or_more
1845
- x
1846
- 12
1847
- gen_disallow
1848
- p
1849
- 3
1850
- I
1851
- 0
1852
- I
1853
- 4e
1854
- I
1855
- d
1856
- x
1857
- 115
1858
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1859
- p
1860
- 1
1861
- x
1862
- 1
1863
- g
1864
- x
1865
- 14
1866
- top_level_code
1867
- x
1868
- 6
1869
- should
1870
- s
1871
- 5
1872
- false
1873
- x
1874
- 2
1875
- ==
1876
- p
1877
- 3
1878
- I
1879
- 0
1880
- I
1881
- 4e
1882
- I
1883
- 10
1884
- x
1885
- 115
1886
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1887
- p
1888
- 0
1889
- x
1890
- 2
1891
- it
1892
- p
1893
- 3
1894
- I
1895
- 0
1896
- I
1897
- 4d
1898
- I
1899
- b
1900
- x
1901
- 115
1902
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1903
- p
1904
- 0
1905
- p
1906
- 5
1907
- I
1908
- 0
1909
- I
1910
- 46
1911
- I
1912
- b
1913
- I
1914
- 4c
1915
- I
1916
- 16
1917
- x
1918
- 115
1919
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
1920
- p
1921
- 0
1922
- s
1923
- 20
1924
- #gen_dispatch_action
1925
- M
1926
- 1
1927
- p
1928
- 2
1929
- x
1930
- 9
1931
- for_block
1932
- t
1933
- n
1934
- x
1935
- 9
1936
- __block__
1937
- i
1938
- 32
1939
- 5
1940
- 7
1941
- 0
1942
- 56
1943
- 1
1944
- 47
1945
- 50
1946
- 2
1947
- 1
1948
- 15
1949
- 5
1950
- 7
1951
- 3
1952
- 64
1953
- 56
1954
- 4
1955
- 47
1956
- 50
1957
- 5
1958
- 1
1959
- 15
1960
- 5
1961
- 7
1962
- 6
1963
- 64
1964
- 56
1965
- 7
1966
- 47
1967
- 50
1968
- 5
1969
- 1
1970
- 11
1971
- I
1972
- 4
1973
- I
1974
- 0
1975
- I
1976
- 0
1977
- I
1978
- 0
1979
- I
1980
- -2
1981
- p
1982
- 8
1983
- x
1984
- 4
1985
- code
1986
- M
1987
- 1
1988
- p
1989
- 2
1990
- x
1991
- 9
1992
- for_block
1993
- t
1994
- n
1995
- x
1996
- 9
1997
- __block__
1998
- i
1999
- 37
2000
- 45
2001
- 0
2002
- 1
2003
- 13
2004
- 71
2005
- 2
2006
- 47
2007
- 9
2008
- 27
2009
- 47
2010
- 49
2011
- 3
2012
- 0
2013
- 13
2014
- 7
2015
- 4
2016
- 64
2017
- 7
2018
- 5
2019
- 64
2020
- 47
2021
- 49
2022
- 6
2023
- 2
2024
- 15
2025
- 8
2026
- 36
2027
- 7
2028
- 4
2029
- 64
2030
- 7
2031
- 5
2032
- 64
2033
- 49
2034
- 2
2035
- 2
2036
- 11
2037
- I
2038
- 5
2039
- I
2040
- 0
2041
- I
2042
- 0
2043
- I
2044
- 0
2045
- I
2046
- -2
2047
- p
2048
- 7
2049
- x
2050
- 8
2051
- NodeCode
2052
- n
2053
- x
2054
- 3
2055
- new
2056
- x
2057
- 8
2058
- allocate
2059
- s
2060
- 4
2061
- Word
2062
- s
2063
- 6
2064
- parsed
2065
- x
2066
- 10
2067
- initialize
2068
- p
2069
- 3
2070
- I
2071
- 0
2072
- I
2073
- 55
2074
- I
2075
- 25
2076
- x
2077
- 115
2078
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2079
- p
2080
- 0
2081
- x
2082
- 3
2083
- let
2084
- s
2085
- 11
2086
- when nested
2087
- M
2088
- 1
2089
- p
2090
- 2
2091
- x
2092
- 9
2093
- for_block
2094
- t
2095
- n
2096
- x
2097
- 9
2098
- __block__
2099
- i
2100
- 11
2101
- 5
2102
- 7
2103
- 0
2104
- 64
2105
- 56
2106
- 1
2107
- 47
2108
- 50
2109
- 2
2110
- 1
2111
- 11
2112
- I
2113
- 4
2114
- I
2115
- 0
2116
- I
2117
- 0
2118
- I
2119
- 0
2120
- I
2121
- -2
2122
- p
2123
- 3
2124
- s
2125
- 66
2126
- generates nested zero-or-more matching code with a dispatch action
2127
- M
2128
- 1
2129
- p
2130
- 2
2131
- x
2132
- 9
2133
- for_block
2134
- t
2135
- n
2136
- x
2137
- 9
2138
- __block__
2139
- i
2140
- 19
2141
- 5
2142
- 56
2143
- 0
2144
- 47
2145
- 50
2146
- 1
2147
- 0
2148
- 49
2149
- 2
2150
- 0
2151
- 7
2152
- 3
2153
- 64
2154
- 49
2155
- 4
2156
- 0
2157
- 83
2158
- 5
2159
- 11
2160
- I
2161
- 3
2162
- I
2163
- 0
2164
- I
2165
- 0
2166
- I
2167
- 0
2168
- I
2169
- -2
2170
- p
2171
- 6
2172
- M
2173
- 1
2174
- p
2175
- 2
2176
- x
2177
- 9
2178
- for_block
2179
- t
2180
- n
2181
- x
2182
- 9
2183
- __block__
2184
- i
2185
- 16
2186
- 57
2187
- 19
2188
- 0
2189
- 15
2190
- 20
2191
- 0
2192
- 5
2193
- 48
2194
- 0
2195
- 5
2196
- 48
2197
- 1
2198
- 49
2199
- 2
2200
- 2
2201
- 11
2202
- I
2203
- 5
2204
- I
2205
- 1
2206
- I
2207
- 1
2208
- I
2209
- 1
2210
- n
2211
- p
2212
- 3
2213
- x
2214
- 12
2215
- zero_or_more
2216
- x
2217
- 4
2218
- code
2219
- x
2220
- 19
2221
- gen_dispatch_action
2222
- p
2223
- 3
2224
- I
2225
- 0
2226
- I
2227
- 59
2228
- I
2229
- 10
2230
- x
2231
- 115
2232
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2233
- p
2234
- 1
2235
- x
2236
- 1
2237
- g
2238
- x
2239
- 11
2240
- nested_code
2241
- x
2242
- 6
2243
- should
2244
- s
2245
- 102
2246
- begin
2247
- a = []
2248
- while r = @scanner.scan(/w+/)
2249
- a << r
2250
- end
2251
- Word.parsed(select_captures(a))
2252
- end
2253
-
2254
- x
2255
- 5
2256
- strip
2257
- x
2258
- 2
2259
- ==
2260
- p
2261
- 5
2262
- I
2263
- 0
2264
- I
2265
- 59
2266
- I
2267
- a
2268
- I
2269
- 5a
2270
- I
2271
- 13
2272
- x
2273
- 115
2274
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2275
- p
2276
- 0
2277
- x
2278
- 2
2279
- it
2280
- p
2281
- 3
2282
- I
2283
- 0
2284
- I
2285
- 58
2286
- I
2287
- b
2288
- x
2289
- 115
2290
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2291
- p
2292
- 0
2293
- x
2294
- 7
2295
- context
2296
- s
2297
- 14
2298
- when top-level
2299
- M
2300
- 1
2301
- p
2302
- 2
2303
- x
2304
- 9
2305
- for_block
2306
- t
2307
- n
2308
- x
2309
- 9
2310
- __block__
2311
- i
2312
- 11
2313
- 5
2314
- 7
2315
- 0
2316
- 64
2317
- 56
2318
- 1
2319
- 47
2320
- 50
2321
- 2
2322
- 1
2323
- 11
2324
- I
2325
- 4
2326
- I
2327
- 0
2328
- I
2329
- 0
2330
- I
2331
- 0
2332
- I
2333
- -2
2334
- p
2335
- 3
2336
- s
2337
- 69
2338
- generates top level zero-or-more matching code with a dispatch action
2339
- M
2340
- 1
2341
- p
2342
- 2
2343
- x
2344
- 9
2345
- for_block
2346
- t
2347
- n
2348
- x
2349
- 9
2350
- __block__
2351
- i
2352
- 19
2353
- 5
2354
- 56
2355
- 0
2356
- 47
2357
- 50
2358
- 1
2359
- 0
2360
- 49
2361
- 2
2362
- 0
2363
- 7
2364
- 3
2365
- 64
2366
- 49
2367
- 4
2368
- 0
2369
- 83
2370
- 5
2371
- 11
2372
- I
2373
- 3
2374
- I
2375
- 0
2376
- I
2377
- 0
2378
- I
2379
- 0
2380
- I
2381
- -2
2382
- p
2383
- 6
2384
- M
2385
- 1
2386
- p
2387
- 2
2388
- x
2389
- 9
2390
- for_block
2391
- t
2392
- n
2393
- x
2394
- 9
2395
- __block__
2396
- i
2397
- 16
2398
- 57
2399
- 19
2400
- 0
2401
- 15
2402
- 20
2403
- 0
2404
- 5
2405
- 48
2406
- 0
2407
- 5
2408
- 48
2409
- 1
2410
- 49
2411
- 2
2412
- 2
2413
- 11
2414
- I
2415
- 5
2416
- I
2417
- 1
2418
- I
2419
- 1
2420
- I
2421
- 1
2422
- n
2423
- p
2424
- 3
2425
- x
2426
- 12
2427
- zero_or_more
2428
- x
2429
- 4
2430
- code
2431
- x
2432
- 19
2433
- gen_dispatch_action
2434
- p
2435
- 3
2436
- I
2437
- 0
2438
- I
2439
- 68
2440
- I
2441
- 10
2442
- x
2443
- 115
2444
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2445
- p
2446
- 1
2447
- x
2448
- 1
2449
- g
2450
- x
2451
- 14
2452
- top_level_code
2453
- x
2454
- 6
2455
- should
2456
- s
2457
- 82
2458
- a = []
2459
- while r = @scanner.scan(/w+/)
2460
- a << r
2461
- end
2462
- Word.parsed(select_captures(a))
2463
-
2464
- x
2465
- 5
2466
- strip
2467
- x
2468
- 2
2469
- ==
2470
- p
2471
- 5
2472
- I
2473
- 0
2474
- I
2475
- 68
2476
- I
2477
- a
2478
- I
2479
- 69
2480
- I
2481
- 13
2482
- x
2483
- 115
2484
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2485
- p
2486
- 0
2487
- x
2488
- 2
2489
- it
2490
- p
2491
- 3
2492
- I
2493
- 0
2494
- I
2495
- 67
2496
- I
2497
- b
2498
- x
2499
- 115
2500
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2501
- p
2502
- 0
2503
- p
2504
- 7
2505
- I
2506
- 0
2507
- I
2508
- 55
2509
- I
2510
- a
2511
- I
2512
- 57
2513
- I
2514
- 15
2515
- I
2516
- 66
2517
- I
2518
- 20
2519
- x
2520
- 115
2521
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2522
- p
2523
- 0
2524
- s
2525
- 18
2526
- #gen_direct_action
2527
- M
2528
- 1
2529
- p
2530
- 2
2531
- x
2532
- 9
2533
- for_block
2534
- t
2535
- n
2536
- x
2537
- 9
2538
- __block__
2539
- i
2540
- 32
2541
- 5
2542
- 7
2543
- 0
2544
- 56
2545
- 1
2546
- 47
2547
- 50
2548
- 2
2549
- 1
2550
- 15
2551
- 5
2552
- 7
2553
- 3
2554
- 64
2555
- 56
2556
- 4
2557
- 47
2558
- 50
2559
- 5
2560
- 1
2561
- 15
2562
- 5
2563
- 7
2564
- 6
2565
- 64
2566
- 56
2567
- 7
2568
- 47
2569
- 50
2570
- 5
2571
- 1
2572
- 11
2573
- I
2574
- 4
2575
- I
2576
- 0
2577
- I
2578
- 0
2579
- I
2580
- 0
2581
- I
2582
- -2
2583
- p
2584
- 8
2585
- x
2586
- 4
2587
- code
2588
- M
2589
- 1
2590
- p
2591
- 2
2592
- x
2593
- 9
2594
- for_block
2595
- t
2596
- n
2597
- x
2598
- 9
2599
- __block__
2600
- i
2601
- 31
2602
- 45
2603
- 0
2604
- 1
2605
- 13
2606
- 71
2607
- 2
2608
- 47
2609
- 9
2610
- 24
2611
- 47
2612
- 49
2613
- 3
2614
- 0
2615
- 13
2616
- 7
2617
- 4
2618
- 64
2619
- 47
2620
- 49
2621
- 5
2622
- 1
2623
- 15
2624
- 8
2625
- 30
2626
- 7
2627
- 4
2628
- 64
2629
- 49
2630
- 2
2631
- 1
2632
- 11
2633
- I
2634
- 4
2635
- I
2636
- 0
2637
- I
2638
- 0
2639
- I
2640
- 0
2641
- I
2642
- -2
2643
- p
2644
- 6
2645
- x
2646
- 10
2647
- ActionCode
2648
- n
2649
- x
2650
- 3
2651
- new
2652
- x
2653
- 8
2654
- allocate
2655
- s
2656
- 10
2657
- |_| _.size
2658
- x
2659
- 10
2660
- initialize
2661
- p
2662
- 3
2663
- I
2664
- 0
2665
- I
2666
- 76
2667
- I
2668
- 1f
2669
- x
2670
- 115
2671
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2672
- p
2673
- 0
2674
- x
2675
- 3
2676
- let
2677
- s
2678
- 11
2679
- when nested
2680
- M
2681
- 1
2682
- p
2683
- 2
2684
- x
2685
- 9
2686
- for_block
2687
- t
2688
- n
2689
- x
2690
- 9
2691
- __block__
2692
- i
2693
- 11
2694
- 5
2695
- 7
2696
- 0
2697
- 64
2698
- 56
2699
- 1
2700
- 47
2701
- 50
2702
- 2
2703
- 1
2704
- 11
2705
- I
2706
- 4
2707
- I
2708
- 0
2709
- I
2710
- 0
2711
- I
2712
- 0
2713
- I
2714
- -2
2715
- p
2716
- 3
2717
- s
2718
- 64
2719
- generates nested zero-or-more matching code with a direct action
2720
- M
2721
- 1
2722
- p
2723
- 2
2724
- x
2725
- 9
2726
- for_block
2727
- t
2728
- n
2729
- x
2730
- 9
2731
- __block__
2732
- i
2733
- 19
2734
- 5
2735
- 56
2736
- 0
2737
- 47
2738
- 50
2739
- 1
2740
- 0
2741
- 49
2742
- 2
2743
- 0
2744
- 7
2745
- 3
2746
- 64
2747
- 49
2748
- 4
2749
- 0
2750
- 83
2751
- 5
2752
- 11
2753
- I
2754
- 3
2755
- I
2756
- 0
2757
- I
2758
- 0
2759
- I
2760
- 0
2761
- I
2762
- -2
2763
- p
2764
- 6
2765
- M
2766
- 1
2767
- p
2768
- 2
2769
- x
2770
- 9
2771
- for_block
2772
- t
2773
- n
2774
- x
2775
- 9
2776
- __block__
2777
- i
2778
- 16
2779
- 57
2780
- 19
2781
- 0
2782
- 15
2783
- 20
2784
- 0
2785
- 5
2786
- 48
2787
- 0
2788
- 5
2789
- 48
2790
- 1
2791
- 49
2792
- 2
2793
- 2
2794
- 11
2795
- I
2796
- 5
2797
- I
2798
- 1
2799
- I
2800
- 1
2801
- I
2802
- 1
2803
- n
2804
- p
2805
- 3
2806
- x
2807
- 12
2808
- zero_or_more
2809
- x
2810
- 4
2811
- code
2812
- x
2813
- 17
2814
- gen_direct_action
2815
- p
2816
- 3
2817
- I
2818
- 0
2819
- I
2820
- 7a
2821
- I
2822
- 10
2823
- x
2824
- 115
2825
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2826
- p
2827
- 1
2828
- x
2829
- 1
2830
- g
2831
- x
2832
- 11
2833
- nested_code
2834
- x
2835
- 6
2836
- should
2837
- s
2838
- 96
2839
- begin
2840
- a = []
2841
- while r = @scanner.scan(/w+/)
2842
- a << r
2843
- end
2844
- (select_captures(a).size)
2845
- end
2846
-
2847
- x
2848
- 5
2849
- strip
2850
- x
2851
- 2
2852
- ==
2853
- p
2854
- 5
2855
- I
2856
- 0
2857
- I
2858
- 7a
2859
- I
2860
- a
2861
- I
2862
- 7b
2863
- I
2864
- 13
2865
- x
2866
- 115
2867
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2868
- p
2869
- 0
2870
- x
2871
- 2
2872
- it
2873
- p
2874
- 3
2875
- I
2876
- 0
2877
- I
2878
- 79
2879
- I
2880
- b
2881
- x
2882
- 115
2883
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
2884
- p
2885
- 0
2886
- x
2887
- 7
2888
- context
2889
- s
2890
- 14
2891
- when top-level
2892
- M
2893
- 1
2894
- p
2895
- 2
2896
- x
2897
- 9
2898
- for_block
2899
- t
2900
- n
2901
- x
2902
- 9
2903
- __block__
2904
- i
2905
- 11
2906
- 5
2907
- 7
2908
- 0
2909
- 64
2910
- 56
2911
- 1
2912
- 47
2913
- 50
2914
- 2
2915
- 1
2916
- 11
2917
- I
2918
- 4
2919
- I
2920
- 0
2921
- I
2922
- 0
2923
- I
2924
- 0
2925
- I
2926
- -2
2927
- p
2928
- 3
2929
- s
2930
- 67
2931
- generates top level zero-or-more matching code with a direct action
2932
- M
2933
- 1
2934
- p
2935
- 2
2936
- x
2937
- 9
2938
- for_block
2939
- t
2940
- n
2941
- x
2942
- 9
2943
- __block__
2944
- i
2945
- 19
2946
- 5
2947
- 56
2948
- 0
2949
- 47
2950
- 50
2951
- 1
2952
- 0
2953
- 49
2954
- 2
2955
- 0
2956
- 7
2957
- 3
2958
- 64
2959
- 49
2960
- 4
2961
- 0
2962
- 83
2963
- 5
2964
- 11
2965
- I
2966
- 3
2967
- I
2968
- 0
2969
- I
2970
- 0
2971
- I
2972
- 0
2973
- I
2974
- -2
2975
- p
2976
- 6
2977
- M
2978
- 1
2979
- p
2980
- 2
2981
- x
2982
- 9
2983
- for_block
2984
- t
2985
- n
2986
- x
2987
- 9
2988
- __block__
2989
- i
2990
- 16
2991
- 57
2992
- 19
2993
- 0
2994
- 15
2995
- 20
2996
- 0
2997
- 5
2998
- 48
2999
- 0
3000
- 5
3001
- 48
3002
- 1
3003
- 49
3004
- 2
3005
- 2
3006
- 11
3007
- I
3008
- 5
3009
- I
3010
- 1
3011
- I
3012
- 1
3013
- I
3014
- 1
3015
- n
3016
- p
3017
- 3
3018
- x
3019
- 12
3020
- zero_or_more
3021
- x
3022
- 4
3023
- code
3024
- x
3025
- 17
3026
- gen_direct_action
3027
- p
3028
- 3
3029
- I
3030
- 0
3031
- I
3032
- 89
3033
- I
3034
- 10
3035
- x
3036
- 115
3037
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3038
- p
3039
- 1
3040
- x
3041
- 1
3042
- g
3043
- x
3044
- 14
3045
- top_level_code
3046
- x
3047
- 6
3048
- should
3049
- s
3050
- 76
3051
- a = []
3052
- while r = @scanner.scan(/w+/)
3053
- a << r
3054
- end
3055
- (select_captures(a).size)
3056
-
3057
- x
3058
- 5
3059
- strip
3060
- x
3061
- 2
3062
- ==
3063
- p
3064
- 5
3065
- I
3066
- 0
3067
- I
3068
- 89
3069
- I
3070
- a
3071
- I
3072
- 8a
3073
- I
3074
- 13
3075
- x
3076
- 115
3077
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3078
- p
3079
- 0
3080
- x
3081
- 2
3082
- it
3083
- p
3084
- 3
3085
- I
3086
- 0
3087
- I
3088
- 88
3089
- I
3090
- b
3091
- x
3092
- 115
3093
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3094
- p
3095
- 0
3096
- p
3097
- 7
3098
- I
3099
- 0
3100
- I
3101
- 76
3102
- I
3103
- a
3104
- I
3105
- 78
3106
- I
3107
- 15
3108
- I
3109
- 87
3110
- I
3111
- 20
3112
- x
3113
- 115
3114
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3115
- p
3116
- 0
3117
- s
3118
- 10
3119
- #gen_token
3120
- M
3121
- 1
3122
- p
3123
- 2
3124
- x
3125
- 9
3126
- for_block
3127
- t
3128
- n
3129
- x
3130
- 9
3131
- __block__
3132
- i
3133
- 22
3134
- 5
3135
- 7
3136
- 0
3137
- 64
3138
- 56
3139
- 1
3140
- 47
3141
- 50
3142
- 2
3143
- 1
3144
- 15
3145
- 5
3146
- 7
3147
- 3
3148
- 64
3149
- 56
3150
- 4
3151
- 47
3152
- 50
3153
- 2
3154
- 1
3155
- 11
3156
- I
3157
- 4
3158
- I
3159
- 0
3160
- I
3161
- 0
3162
- I
3163
- 0
3164
- I
3165
- -2
3166
- p
3167
- 5
3168
- s
3169
- 11
3170
- when nested
3171
- M
3172
- 1
3173
- p
3174
- 2
3175
- x
3176
- 9
3177
- for_block
3178
- t
3179
- n
3180
- x
3181
- 9
3182
- __block__
3183
- i
3184
- 11
3185
- 5
3186
- 7
3187
- 0
3188
- 64
3189
- 56
3190
- 1
3191
- 47
3192
- 50
3193
- 2
3194
- 1
3195
- 11
3196
- I
3197
- 4
3198
- I
3199
- 0
3200
- I
3201
- 0
3202
- I
3203
- 0
3204
- I
3205
- -2
3206
- p
3207
- 3
3208
- s
3209
- 43
3210
- generates nested zero-or-more matching code
3211
- M
3212
- 1
3213
- p
3214
- 2
3215
- x
3216
- 9
3217
- for_block
3218
- t
3219
- n
3220
- x
3221
- 9
3222
- __block__
3223
- i
3224
- 19
3225
- 5
3226
- 56
3227
- 0
3228
- 47
3229
- 50
3230
- 1
3231
- 0
3232
- 49
3233
- 2
3234
- 0
3235
- 7
3236
- 3
3237
- 64
3238
- 49
3239
- 4
3240
- 0
3241
- 83
3242
- 5
3243
- 11
3244
- I
3245
- 3
3246
- I
3247
- 0
3248
- I
3249
- 0
3250
- I
3251
- 0
3252
- I
3253
- -2
3254
- p
3255
- 6
3256
- M
3257
- 1
3258
- p
3259
- 2
3260
- x
3261
- 9
3262
- for_block
3263
- t
3264
- n
3265
- x
3266
- 9
3267
- __block__
3268
- i
3269
- 13
3270
- 57
3271
- 19
3272
- 0
3273
- 15
3274
- 20
3275
- 0
3276
- 5
3277
- 48
3278
- 0
3279
- 49
3280
- 1
3281
- 1
3282
- 11
3283
- I
3284
- 4
3285
- I
3286
- 1
3287
- I
3288
- 1
3289
- I
3290
- 1
3291
- n
3292
- p
3293
- 2
3294
- x
3295
- 12
3296
- zero_or_more
3297
- x
3298
- 9
3299
- gen_token
3300
- p
3301
- 3
3302
- I
3303
- 0
3304
- I
3305
- 99
3306
- I
3307
- d
3308
- x
3309
- 115
3310
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3311
- p
3312
- 1
3313
- x
3314
- 1
3315
- g
3316
- x
3317
- 11
3318
- nested_code
3319
- x
3320
- 6
3321
- should
3322
- s
3323
- 77
3324
- begin
3325
- a = []
3326
- while r = @scanner.scan(/w+/)
3327
- a << r
3328
- end
3329
- a.join
3330
- end
3331
-
3332
- x
3333
- 5
3334
- strip
3335
- x
3336
- 2
3337
- ==
3338
- p
3339
- 5
3340
- I
3341
- 0
3342
- I
3343
- 99
3344
- I
3345
- a
3346
- I
3347
- 9a
3348
- I
3349
- 13
3350
- x
3351
- 115
3352
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3353
- p
3354
- 0
3355
- x
3356
- 2
3357
- it
3358
- p
3359
- 3
3360
- I
3361
- 0
3362
- I
3363
- 98
3364
- I
3365
- b
3366
- x
3367
- 115
3368
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3369
- p
3370
- 0
3371
- x
3372
- 7
3373
- context
3374
- s
3375
- 14
3376
- when top-level
3377
- M
3378
- 1
3379
- p
3380
- 2
3381
- x
3382
- 9
3383
- for_block
3384
- t
3385
- n
3386
- x
3387
- 9
3388
- __block__
3389
- i
3390
- 11
3391
- 5
3392
- 7
3393
- 0
3394
- 64
3395
- 56
3396
- 1
3397
- 47
3398
- 50
3399
- 2
3400
- 1
3401
- 11
3402
- I
3403
- 4
3404
- I
3405
- 0
3406
- I
3407
- 0
3408
- I
3409
- 0
3410
- I
3411
- -2
3412
- p
3413
- 3
3414
- s
3415
- 46
3416
- generates top level zero-or-more matching code
3417
- M
3418
- 1
3419
- p
3420
- 2
3421
- x
3422
- 9
3423
- for_block
3424
- t
3425
- n
3426
- x
3427
- 9
3428
- __block__
3429
- i
3430
- 19
3431
- 5
3432
- 56
3433
- 0
3434
- 47
3435
- 50
3436
- 1
3437
- 0
3438
- 49
3439
- 2
3440
- 0
3441
- 7
3442
- 3
3443
- 64
3444
- 49
3445
- 4
3446
- 0
3447
- 83
3448
- 5
3449
- 11
3450
- I
3451
- 3
3452
- I
3453
- 0
3454
- I
3455
- 0
3456
- I
3457
- 0
3458
- I
3459
- -2
3460
- p
3461
- 6
3462
- M
3463
- 1
3464
- p
3465
- 2
3466
- x
3467
- 9
3468
- for_block
3469
- t
3470
- n
3471
- x
3472
- 9
3473
- __block__
3474
- i
3475
- 13
3476
- 57
3477
- 19
3478
- 0
3479
- 15
3480
- 20
3481
- 0
3482
- 5
3483
- 48
3484
- 0
3485
- 49
3486
- 1
3487
- 1
3488
- 11
3489
- I
3490
- 4
3491
- I
3492
- 1
3493
- I
3494
- 1
3495
- I
3496
- 1
3497
- n
3498
- p
3499
- 2
3500
- x
3501
- 12
3502
- zero_or_more
3503
- x
3504
- 9
3505
- gen_token
3506
- p
3507
- 3
3508
- I
3509
- 0
3510
- I
3511
- a8
3512
- I
3513
- d
3514
- x
3515
- 115
3516
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3517
- p
3518
- 1
3519
- x
3520
- 1
3521
- g
3522
- x
3523
- 14
3524
- top_level_code
3525
- x
3526
- 6
3527
- should
3528
- s
3529
- 57
3530
- a = []
3531
- while r = @scanner.scan(/w+/)
3532
- a << r
3533
- end
3534
- a.join
3535
-
3536
- x
3537
- 5
3538
- strip
3539
- x
3540
- 2
3541
- ==
3542
- p
3543
- 5
3544
- I
3545
- 0
3546
- I
3547
- a8
3548
- I
3549
- a
3550
- I
3551
- a9
3552
- I
3553
- 13
3554
- x
3555
- 115
3556
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3557
- p
3558
- 0
3559
- x
3560
- 2
3561
- it
3562
- p
3563
- 3
3564
- I
3565
- 0
3566
- I
3567
- a7
3568
- I
3569
- b
3570
- x
3571
- 115
3572
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3573
- p
3574
- 0
3575
- p
3576
- 5
3577
- I
3578
- 0
3579
- I
3580
- 97
3581
- I
3582
- b
3583
- I
3584
- a6
3585
- I
3586
- 16
3587
- x
3588
- 115
3589
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3590
- p
3591
- 0
3592
- s
3593
- 9
3594
- #gen_skip
3595
- M
3596
- 1
3597
- p
3598
- 2
3599
- x
3600
- 9
3601
- for_block
3602
- t
3603
- n
3604
- x
3605
- 9
3606
- __block__
3607
- i
3608
- 22
3609
- 5
3610
- 7
3611
- 0
3612
- 64
3613
- 56
3614
- 1
3615
- 47
3616
- 50
3617
- 2
3618
- 1
3619
- 15
3620
- 5
3621
- 7
3622
- 3
3623
- 64
3624
- 56
3625
- 4
3626
- 47
3627
- 50
3628
- 2
3629
- 1
3630
- 11
3631
- I
3632
- 4
3633
- I
3634
- 0
3635
- I
3636
- 0
3637
- I
3638
- 0
3639
- I
3640
- -2
3641
- p
3642
- 5
3643
- s
3644
- 11
3645
- when nested
3646
- M
3647
- 1
3648
- p
3649
- 2
3650
- x
3651
- 9
3652
- for_block
3653
- t
3654
- n
3655
- x
3656
- 9
3657
- __block__
3658
- i
3659
- 11
3660
- 5
3661
- 7
3662
- 0
3663
- 64
3664
- 56
3665
- 1
3666
- 47
3667
- 50
3668
- 2
3669
- 1
3670
- 11
3671
- I
3672
- 4
3673
- I
3674
- 0
3675
- I
3676
- 0
3677
- I
3678
- 0
3679
- I
3680
- -2
3681
- p
3682
- 3
3683
- s
3684
- 43
3685
- generates nested zero-or-more skipping code
3686
- M
3687
- 1
3688
- p
3689
- 2
3690
- x
3691
- 9
3692
- for_block
3693
- t
3694
- n
3695
- x
3696
- 9
3697
- __block__
3698
- i
3699
- 19
3700
- 5
3701
- 56
3702
- 0
3703
- 47
3704
- 50
3705
- 1
3706
- 0
3707
- 49
3708
- 2
3709
- 0
3710
- 7
3711
- 3
3712
- 64
3713
- 49
3714
- 4
3715
- 0
3716
- 83
3717
- 5
3718
- 11
3719
- I
3720
- 3
3721
- I
3722
- 0
3723
- I
3724
- 0
3725
- I
3726
- 0
3727
- I
3728
- -2
3729
- p
3730
- 6
3731
- M
3732
- 1
3733
- p
3734
- 2
3735
- x
3736
- 9
3737
- for_block
3738
- t
3739
- n
3740
- x
3741
- 9
3742
- __block__
3743
- i
3744
- 13
3745
- 57
3746
- 19
3747
- 0
3748
- 15
3749
- 20
3750
- 0
3751
- 5
3752
- 48
3753
- 0
3754
- 49
3755
- 1
3756
- 1
3757
- 11
3758
- I
3759
- 4
3760
- I
3761
- 1
3762
- I
3763
- 1
3764
- I
3765
- 1
3766
- n
3767
- p
3768
- 2
3769
- x
3770
- 12
3771
- zero_or_more
3772
- x
3773
- 8
3774
- gen_skip
3775
- p
3776
- 3
3777
- I
3778
- 0
3779
- I
3780
- b8
3781
- I
3782
- d
3783
- x
3784
- 115
3785
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3786
- p
3787
- 1
3788
- x
3789
- 1
3790
- g
3791
- x
3792
- 11
3793
- nested_code
3794
- x
3795
- 6
3796
- should
3797
- s
3798
- 50
3799
- begin
3800
- while @scanner.skip(/w+/); end
3801
- true
3802
- end
3803
-
3804
- x
3805
- 5
3806
- strip
3807
- x
3808
- 2
3809
- ==
3810
- p
3811
- 5
3812
- I
3813
- 0
3814
- I
3815
- b8
3816
- I
3817
- a
3818
- I
3819
- b9
3820
- I
3821
- 13
3822
- x
3823
- 115
3824
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3825
- p
3826
- 0
3827
- x
3828
- 2
3829
- it
3830
- p
3831
- 3
3832
- I
3833
- 0
3834
- I
3835
- b7
3836
- I
3837
- b
3838
- x
3839
- 115
3840
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3841
- p
3842
- 0
3843
- x
3844
- 7
3845
- context
3846
- s
3847
- 14
3848
- when top-level
3849
- M
3850
- 1
3851
- p
3852
- 2
3853
- x
3854
- 9
3855
- for_block
3856
- t
3857
- n
3858
- x
3859
- 9
3860
- __block__
3861
- i
3862
- 11
3863
- 5
3864
- 7
3865
- 0
3866
- 64
3867
- 56
3868
- 1
3869
- 47
3870
- 50
3871
- 2
3872
- 1
3873
- 11
3874
- I
3875
- 4
3876
- I
3877
- 0
3878
- I
3879
- 0
3880
- I
3881
- 0
3882
- I
3883
- -2
3884
- p
3885
- 3
3886
- s
3887
- 46
3888
- generates top level zero-or-more skipping code
3889
- M
3890
- 1
3891
- p
3892
- 2
3893
- x
3894
- 9
3895
- for_block
3896
- t
3897
- n
3898
- x
3899
- 9
3900
- __block__
3901
- i
3902
- 19
3903
- 5
3904
- 56
3905
- 0
3906
- 47
3907
- 50
3908
- 1
3909
- 0
3910
- 49
3911
- 2
3912
- 0
3913
- 7
3914
- 3
3915
- 64
3916
- 49
3917
- 4
3918
- 0
3919
- 83
3920
- 5
3921
- 11
3922
- I
3923
- 3
3924
- I
3925
- 0
3926
- I
3927
- 0
3928
- I
3929
- 0
3930
- I
3931
- -2
3932
- p
3933
- 6
3934
- M
3935
- 1
3936
- p
3937
- 2
3938
- x
3939
- 9
3940
- for_block
3941
- t
3942
- n
3943
- x
3944
- 9
3945
- __block__
3946
- i
3947
- 13
3948
- 57
3949
- 19
3950
- 0
3951
- 15
3952
- 20
3953
- 0
3954
- 5
3955
- 48
3956
- 0
3957
- 49
3958
- 1
3959
- 1
3960
- 11
3961
- I
3962
- 4
3963
- I
3964
- 1
3965
- I
3966
- 1
3967
- I
3968
- 1
3969
- n
3970
- p
3971
- 2
3972
- x
3973
- 12
3974
- zero_or_more
3975
- x
3976
- 8
3977
- gen_skip
3978
- p
3979
- 3
3980
- I
3981
- 0
3982
- I
3983
- c4
3984
- I
3985
- d
3986
- x
3987
- 115
3988
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
3989
- p
3990
- 1
3991
- x
3992
- 1
3993
- g
3994
- x
3995
- 14
3996
- top_level_code
3997
- x
3998
- 6
3999
- should
4000
- s
4001
- 36
4002
- while @scanner.skip(/w+/); end
4003
- true
4004
-
4005
- x
4006
- 5
4007
- strip
4008
- x
4009
- 2
4010
- ==
4011
- p
4012
- 5
4013
- I
4014
- 0
4015
- I
4016
- c4
4017
- I
4018
- a
4019
- I
4020
- c5
4021
- I
4022
- 13
4023
- x
4024
- 115
4025
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4026
- p
4027
- 0
4028
- x
4029
- 2
4030
- it
4031
- p
4032
- 3
4033
- I
4034
- 0
4035
- I
4036
- c3
4037
- I
4038
- b
4039
- x
4040
- 115
4041
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4042
- p
4043
- 0
4044
- p
4045
- 5
4046
- I
4047
- 0
4048
- I
4049
- b6
4050
- I
4051
- b
4052
- I
4053
- c2
4054
- I
4055
- 16
4056
- x
4057
- 115
4058
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4059
- p
4060
- 0
4061
- s
4062
- 17
4063
- #gen_intermediate
4064
- M
4065
- 1
4066
- p
4067
- 2
4068
- x
4069
- 9
4070
- for_block
4071
- t
4072
- n
4073
- x
4074
- 9
4075
- __block__
4076
- i
4077
- 11
4078
- 5
4079
- 7
4080
- 0
4081
- 64
4082
- 56
4083
- 1
4084
- 47
4085
- 50
4086
- 2
4087
- 1
4088
- 11
4089
- I
4090
- 4
4091
- I
4092
- 0
4093
- I
4094
- 0
4095
- I
4096
- 0
4097
- I
4098
- -2
4099
- p
4100
- 3
4101
- s
4102
- 43
4103
- generates nested zero-or-more matching code
4104
- M
4105
- 1
4106
- p
4107
- 2
4108
- x
4109
- 9
4110
- for_block
4111
- t
4112
- n
4113
- x
4114
- 9
4115
- __block__
4116
- i
4117
- 19
4118
- 5
4119
- 56
4120
- 0
4121
- 47
4122
- 50
4123
- 1
4124
- 0
4125
- 49
4126
- 2
4127
- 0
4128
- 7
4129
- 3
4130
- 64
4131
- 49
4132
- 4
4133
- 0
4134
- 83
4135
- 5
4136
- 11
4137
- I
4138
- 3
4139
- I
4140
- 0
4141
- I
4142
- 0
4143
- I
4144
- 0
4145
- I
4146
- -2
4147
- p
4148
- 6
4149
- M
4150
- 1
4151
- p
4152
- 2
4153
- x
4154
- 9
4155
- for_block
4156
- t
4157
- n
4158
- x
4159
- 9
4160
- __block__
4161
- i
4162
- 13
4163
- 57
4164
- 19
4165
- 0
4166
- 15
4167
- 20
4168
- 0
4169
- 5
4170
- 48
4171
- 0
4172
- 49
4173
- 1
4174
- 1
4175
- 11
4176
- I
4177
- 4
4178
- I
4179
- 1
4180
- I
4181
- 1
4182
- I
4183
- 1
4184
- n
4185
- p
4186
- 2
4187
- x
4188
- 12
4189
- zero_or_more
4190
- x
4191
- 16
4192
- gen_intermediate
4193
- p
4194
- 3
4195
- I
4196
- 0
4197
- I
4198
- cf
4199
- I
4200
- d
4201
- x
4202
- 115
4203
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4204
- p
4205
- 1
4206
- x
4207
- 1
4208
- g
4209
- x
4210
- 11
4211
- nested_code
4212
- x
4213
- 6
4214
- should
4215
- s
4216
- 72
4217
- begin
4218
- a = []
4219
- while r = @scanner.scan(/w+/)
4220
- a << r
4221
- end
4222
- a
4223
- end
4224
-
4225
- x
4226
- 5
4227
- strip
4228
- x
4229
- 2
4230
- ==
4231
- p
4232
- 5
4233
- I
4234
- 0
4235
- I
4236
- cf
4237
- I
4238
- a
4239
- I
4240
- d0
4241
- I
4242
- 13
4243
- x
4244
- 115
4245
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4246
- p
4247
- 0
4248
- x
4249
- 2
4250
- it
4251
- p
4252
- 3
4253
- I
4254
- 0
4255
- I
4256
- ce
4257
- I
4258
- b
4259
- x
4260
- 115
4261
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4262
- p
4263
- 0
4264
- s
4265
- 24
4266
- #gen_intermediate_assert
4267
- M
4268
- 1
4269
- p
4270
- 2
4271
- x
4272
- 9
4273
- for_block
4274
- t
4275
- n
4276
- x
4277
- 9
4278
- __block__
4279
- i
4280
- 11
4281
- 5
4282
- 7
4283
- 0
4284
- 64
4285
- 56
4286
- 1
4287
- 47
4288
- 50
4289
- 2
4290
- 1
4291
- 11
4292
- I
4293
- 4
4294
- I
4295
- 0
4296
- I
4297
- 0
4298
- I
4299
- 0
4300
- I
4301
- -2
4302
- p
4303
- 3
4304
- s
4305
- 16
4306
- generates "true"
4307
- M
4308
- 1
4309
- p
4310
- 2
4311
- x
4312
- 9
4313
- for_block
4314
- t
4315
- n
4316
- x
4317
- 9
4318
- __block__
4319
- i
4320
- 16
4321
- 5
4322
- 56
4323
- 0
4324
- 47
4325
- 50
4326
- 1
4327
- 0
4328
- 49
4329
- 2
4330
- 0
4331
- 7
4332
- 3
4333
- 64
4334
- 83
4335
- 4
4336
- 11
4337
- I
4338
- 3
4339
- I
4340
- 0
4341
- I
4342
- 0
4343
- I
4344
- 0
4345
- I
4346
- -2
4347
- p
4348
- 5
4349
- M
4350
- 1
4351
- p
4352
- 2
4353
- x
4354
- 9
4355
- for_block
4356
- t
4357
- n
4358
- x
4359
- 9
4360
- __block__
4361
- i
4362
- 13
4363
- 57
4364
- 19
4365
- 0
4366
- 15
4367
- 20
4368
- 0
4369
- 5
4370
- 48
4371
- 0
4372
- 49
4373
- 1
4374
- 1
4375
- 11
4376
- I
4377
- 4
4378
- I
4379
- 1
4380
- I
4381
- 1
4382
- I
4383
- 1
4384
- n
4385
- p
4386
- 2
4387
- x
4388
- 12
4389
- zero_or_more
4390
- x
4391
- 23
4392
- gen_intermediate_assert
4393
- p
4394
- 3
4395
- I
4396
- 0
4397
- I
4398
- de
4399
- I
4400
- d
4401
- x
4402
- 115
4403
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4404
- p
4405
- 1
4406
- x
4407
- 1
4408
- g
4409
- x
4410
- 11
4411
- nested_code
4412
- x
4413
- 6
4414
- should
4415
- s
4416
- 4
4417
- true
4418
- x
4419
- 2
4420
- ==
4421
- p
4422
- 3
4423
- I
4424
- 0
4425
- I
4426
- de
4427
- I
4428
- 10
4429
- x
4430
- 115
4431
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4432
- p
4433
- 0
4434
- x
4435
- 2
4436
- it
4437
- p
4438
- 3
4439
- I
4440
- 0
4441
- I
4442
- dd
4443
- I
4444
- b
4445
- x
4446
- 115
4447
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4448
- p
4449
- 0
4450
- s
4451
- 26
4452
- #gen_intermediate_disallow
4453
- M
4454
- 1
4455
- p
4456
- 2
4457
- x
4458
- 9
4459
- for_block
4460
- t
4461
- n
4462
- x
4463
- 9
4464
- __block__
4465
- i
4466
- 11
4467
- 5
4468
- 7
4469
- 0
4470
- 64
4471
- 56
4472
- 1
4473
- 47
4474
- 50
4475
- 2
4476
- 1
4477
- 11
4478
- I
4479
- 4
4480
- I
4481
- 0
4482
- I
4483
- 0
4484
- I
4485
- 0
4486
- I
4487
- -2
4488
- p
4489
- 3
4490
- s
4491
- 17
4492
- generates "false"
4493
- M
4494
- 1
4495
- p
4496
- 2
4497
- x
4498
- 9
4499
- for_block
4500
- t
4501
- n
4502
- x
4503
- 9
4504
- __block__
4505
- i
4506
- 16
4507
- 5
4508
- 56
4509
- 0
4510
- 47
4511
- 50
4512
- 1
4513
- 0
4514
- 49
4515
- 2
4516
- 0
4517
- 7
4518
- 3
4519
- 64
4520
- 83
4521
- 4
4522
- 11
4523
- I
4524
- 3
4525
- I
4526
- 0
4527
- I
4528
- 0
4529
- I
4530
- 0
4531
- I
4532
- -2
4533
- p
4534
- 5
4535
- M
4536
- 1
4537
- p
4538
- 2
4539
- x
4540
- 9
4541
- for_block
4542
- t
4543
- n
4544
- x
4545
- 9
4546
- __block__
4547
- i
4548
- 13
4549
- 57
4550
- 19
4551
- 0
4552
- 15
4553
- 20
4554
- 0
4555
- 5
4556
- 48
4557
- 0
4558
- 49
4559
- 1
4560
- 1
4561
- 11
4562
- I
4563
- 4
4564
- I
4565
- 1
4566
- I
4567
- 1
4568
- I
4569
- 1
4570
- n
4571
- p
4572
- 2
4573
- x
4574
- 12
4575
- zero_or_more
4576
- x
4577
- 25
4578
- gen_intermediate_disallow
4579
- p
4580
- 3
4581
- I
4582
- 0
4583
- I
4584
- e4
4585
- I
4586
- d
4587
- x
4588
- 115
4589
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4590
- p
4591
- 1
4592
- x
4593
- 1
4594
- g
4595
- x
4596
- 11
4597
- nested_code
4598
- x
4599
- 6
4600
- should
4601
- s
4602
- 5
4603
- false
4604
- x
4605
- 2
4606
- ==
4607
- p
4608
- 3
4609
- I
4610
- 0
4611
- I
4612
- e4
4613
- I
4614
- 10
4615
- x
4616
- 115
4617
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4618
- p
4619
- 0
4620
- x
4621
- 2
4622
- it
4623
- p
4624
- 3
4625
- I
4626
- 0
4627
- I
4628
- e3
4629
- I
4630
- b
4631
- x
4632
- 115
4633
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4634
- p
4635
- 0
4636
- s
4637
- 22
4638
- #gen_intermediate_skip
4639
- M
4640
- 1
4641
- p
4642
- 2
4643
- x
4644
- 9
4645
- for_block
4646
- t
4647
- n
4648
- x
4649
- 9
4650
- __block__
4651
- i
4652
- 11
4653
- 5
4654
- 7
4655
- 0
4656
- 64
4657
- 56
4658
- 1
4659
- 47
4660
- 50
4661
- 2
4662
- 1
4663
- 11
4664
- I
4665
- 4
4666
- I
4667
- 0
4668
- I
4669
- 0
4670
- I
4671
- 0
4672
- I
4673
- -2
4674
- p
4675
- 3
4676
- s
4677
- 43
4678
- generates nested zero-or-more skipping code
4679
- M
4680
- 1
4681
- p
4682
- 2
4683
- x
4684
- 9
4685
- for_block
4686
- t
4687
- n
4688
- x
4689
- 9
4690
- __block__
4691
- i
4692
- 19
4693
- 5
4694
- 56
4695
- 0
4696
- 47
4697
- 50
4698
- 1
4699
- 0
4700
- 49
4701
- 2
4702
- 0
4703
- 7
4704
- 3
4705
- 64
4706
- 49
4707
- 4
4708
- 0
4709
- 83
4710
- 5
4711
- 11
4712
- I
4713
- 3
4714
- I
4715
- 0
4716
- I
4717
- 0
4718
- I
4719
- 0
4720
- I
4721
- -2
4722
- p
4723
- 6
4724
- M
4725
- 1
4726
- p
4727
- 2
4728
- x
4729
- 9
4730
- for_block
4731
- t
4732
- n
4733
- x
4734
- 9
4735
- __block__
4736
- i
4737
- 13
4738
- 57
4739
- 19
4740
- 0
4741
- 15
4742
- 20
4743
- 0
4744
- 5
4745
- 48
4746
- 0
4747
- 49
4748
- 1
4749
- 1
4750
- 11
4751
- I
4752
- 4
4753
- I
4754
- 1
4755
- I
4756
- 1
4757
- I
4758
- 1
4759
- n
4760
- p
4761
- 2
4762
- x
4763
- 12
4764
- zero_or_more
4765
- x
4766
- 21
4767
- gen_intermediate_skip
4768
- p
4769
- 3
4770
- I
4771
- 0
4772
- I
4773
- ea
4774
- I
4775
- d
4776
- x
4777
- 115
4778
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4779
- p
4780
- 1
4781
- x
4782
- 1
4783
- g
4784
- x
4785
- 11
4786
- nested_code
4787
- x
4788
- 6
4789
- should
4790
- s
4791
- 50
4792
- begin
4793
- while @scanner.skip(/w+/); end
4794
- true
4795
- end
4796
-
4797
- x
4798
- 5
4799
- strip
4800
- x
4801
- 2
4802
- ==
4803
- p
4804
- 5
4805
- I
4806
- 0
4807
- I
4808
- ea
4809
- I
4810
- a
4811
- I
4812
- eb
4813
- I
4814
- 13
4815
- x
4816
- 115
4817
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4818
- p
4819
- 0
4820
- x
4821
- 2
4822
- it
4823
- p
4824
- 3
4825
- I
4826
- 0
4827
- I
4828
- e9
4829
- I
4830
- b
4831
- x
4832
- 115
4833
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4834
- p
4835
- 0
4836
- p
4837
- 27
4838
- I
4839
- 0
4840
- I
4841
- 8
4842
- I
4843
- 9
4844
- I
4845
- a
4846
- I
4847
- 13
4848
- I
4849
- c
4850
- I
4851
- 1e
4852
- I
4853
- 35
4854
- I
4855
- 29
4856
- I
4857
- 44
4858
- I
4859
- 34
4860
- I
4861
- 53
4862
- I
4863
- 3f
4864
- I
4865
- 74
4866
- I
4867
- 4a
4868
- I
4869
- 95
4870
- I
4871
- 55
4872
- I
4873
- b4
4874
- I
4875
- 60
4876
- I
4877
- cd
4878
- I
4879
- 6b
4880
- I
4881
- dc
4882
- I
4883
- 76
4884
- I
4885
- e2
4886
- I
4887
- 81
4888
- I
4889
- e8
4890
- I
4891
- 8c
4892
- x
4893
- 115
4894
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4895
- p
4896
- 0
4897
- x
4898
- 8
4899
- describe
4900
- p
4901
- 9
4902
- I
4903
- 0
4904
- I
4905
- 1
4906
- I
4907
- 1b
4908
- I
4909
- 3
4910
- I
4911
- 28
4912
- I
4913
- 4
4914
- I
4915
- 33
4916
- I
4917
- 6
4918
- I
4919
- 40
4920
- x
4921
- 115
4922
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb
4923
- p
4924
- 0