rattler 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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