rattler 0.4.1 → 0.4.2

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 (243) hide show
  1. data/README.rdoc +2 -2
  2. data/bin/rtlr.compiled.rbc +201 -0
  3. data/features/command_line/dest_option.feature +1 -0
  4. data/features/command_line/lib_option.feature +2 -0
  5. data/features/command_line/output_option.feature +2 -0
  6. data/features/command_line/parser_generator.feature +3 -0
  7. data/features/step_definitions/cli_steps.rbc +149 -0
  8. data/features/step_definitions/grammar_steps.rbc +1211 -0
  9. data/features/support/env.rb +4 -0
  10. data/features/support/env.rbc +389 -0
  11. data/lib/rattler.rbc +1231 -0
  12. data/lib/rattler/back_end.rbc +286 -0
  13. data/lib/rattler/back_end/compiler.rbc +1394 -0
  14. data/lib/rattler/back_end/optimizer.rbc +2000 -0
  15. data/lib/rattler/back_end/optimizer/composite_reducing.rbc +337 -0
  16. data/lib/rattler/back_end/optimizer/flatten_choice.rbc +443 -0
  17. data/lib/rattler/back_end/optimizer/flatten_sequence.rbc +827 -0
  18. data/lib/rattler/back_end/optimizer/flattening.rbc +570 -0
  19. data/lib/rattler/back_end/optimizer/inline_regular_rules.rbc +691 -0
  20. data/lib/rattler/back_end/optimizer/join_match_capturing_sequence.rbc +1299 -0
  21. data/lib/rattler/back_end/optimizer/join_match_choice.rbc +523 -0
  22. data/lib/rattler/back_end/optimizer/join_match_matching_sequence.rbc +619 -0
  23. data/lib/rattler/back_end/optimizer/join_match_sequence.rbc +174 -0
  24. data/lib/rattler/back_end/optimizer/join_predicate_bare_match.rbc +1505 -0
  25. data/lib/rattler/back_end/optimizer/join_predicate_match.rbc +174 -0
  26. data/lib/rattler/back_end/optimizer/join_predicate_nested_match.rbc +620 -0
  27. data/lib/rattler/back_end/optimizer/join_predicate_or_bare_match.rbc +1502 -0
  28. data/lib/rattler/back_end/optimizer/join_predicate_or_match.rbc +174 -0
  29. data/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rbc +616 -0
  30. data/lib/rattler/back_end/optimizer/match_joining.rbc +1454 -0
  31. data/lib/rattler/back_end/optimizer/optimization.rbc +1366 -0
  32. data/lib/rattler/back_end/optimizer/optimization_context.rbc +1386 -0
  33. data/lib/rattler/back_end/optimizer/optimization_sequence.rbc +520 -0
  34. data/lib/rattler/back_end/optimizer/optimize_children.rbc +793 -0
  35. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rbc +788 -0
  36. data/lib/rattler/back_end/optimizer/remove_meaningless_wrapper.rbc +508 -0
  37. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rbc +807 -0
  38. data/lib/rattler/back_end/optimizer/simplify_token_match.rbc +561 -0
  39. data/lib/rattler/back_end/parser_generator.rbc +1326 -0
  40. data/lib/rattler/back_end/parser_generator/apply_generator.rb +30 -37
  41. data/lib/rattler/back_end/parser_generator/apply_generator.rbc +2148 -0
  42. data/lib/rattler/back_end/parser_generator/assert_generator.rb +8 -24
  43. data/lib/rattler/back_end/parser_generator/assert_generator.rbc +1967 -0
  44. data/lib/rattler/back_end/parser_generator/back_reference_generator.rb +15 -39
  45. data/lib/rattler/back_end/parser_generator/back_reference_generator.rbc +1665 -0
  46. data/lib/rattler/back_end/parser_generator/choice_generator.rb +28 -40
  47. data/lib/rattler/back_end/parser_generator/choice_generator.rbc +2793 -0
  48. data/lib/rattler/back_end/parser_generator/direct_action_generator.rb +6 -20
  49. data/lib/rattler/back_end/parser_generator/direct_action_generator.rbc +1071 -0
  50. data/lib/rattler/back_end/parser_generator/disallow_generator.rb +8 -24
  51. data/lib/rattler/back_end/parser_generator/disallow_generator.rbc +1967 -0
  52. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rb +6 -20
  53. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rbc +1071 -0
  54. data/lib/rattler/back_end/parser_generator/expr_generator.rb +33 -65
  55. data/lib/rattler/back_end/parser_generator/expr_generator.rbc +2295 -0
  56. data/lib/rattler/back_end/parser_generator/fail_generator.rb +10 -30
  57. data/lib/rattler/back_end/parser_generator/fail_generator.rbc +1216 -0
  58. data/lib/rattler/back_end/parser_generator/gen_method_names.rbc +296 -0
  59. data/lib/rattler/back_end/parser_generator/group_match.rbc +612 -0
  60. data/lib/rattler/back_end/parser_generator/group_match_generator.rb +11 -18
  61. data/lib/rattler/back_end/parser_generator/group_match_generator.rbc +1647 -0
  62. data/lib/rattler/back_end/parser_generator/label_generator.rb +7 -10
  63. data/lib/rattler/back_end/parser_generator/label_generator.rbc +1401 -0
  64. data/lib/rattler/back_end/parser_generator/list1_generator.rb +8 -15
  65. data/lib/rattler/back_end/parser_generator/list1_generator.rbc +1237 -0
  66. data/lib/rattler/back_end/parser_generator/list_generating.rb +28 -27
  67. data/lib/rattler/back_end/parser_generator/list_generating.rbc +1900 -0
  68. data/lib/rattler/back_end/parser_generator/list_generator.rb +5 -11
  69. data/lib/rattler/back_end/parser_generator/list_generator.rbc +1068 -0
  70. data/lib/rattler/back_end/parser_generator/match_generator.rb +15 -39
  71. data/lib/rattler/back_end/parser_generator/match_generator.rbc +1743 -0
  72. data/lib/rattler/back_end/parser_generator/nested.rb +11 -5
  73. data/lib/rattler/back_end/parser_generator/nested.rbc +496 -0
  74. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rb +10 -8
  75. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rbc +1277 -0
  76. data/lib/rattler/back_end/parser_generator/optional_generator.rb +29 -49
  77. data/lib/rattler/back_end/parser_generator/optional_generator.rbc +2025 -0
  78. data/lib/rattler/back_end/parser_generator/predicate_propogating.rbc +648 -0
  79. data/lib/rattler/back_end/parser_generator/repeat_generating.rb +26 -36
  80. data/lib/rattler/back_end/parser_generator/repeat_generating.rbc +1549 -0
  81. data/lib/rattler/back_end/parser_generator/rule_generator.rbc +1239 -0
  82. data/lib/rattler/back_end/parser_generator/rule_set_generator.rbc +2641 -0
  83. data/lib/rattler/back_end/parser_generator/sequence_generator.rb +37 -61
  84. data/lib/rattler/back_end/parser_generator/sequence_generator.rbc +4867 -0
  85. data/lib/rattler/back_end/parser_generator/skip_generator.rb +10 -14
  86. data/lib/rattler/back_end/parser_generator/skip_generator.rbc +1278 -0
  87. data/lib/rattler/back_end/parser_generator/skip_propogating.rbc +432 -0
  88. data/lib/rattler/back_end/parser_generator/sub_generating.rb +52 -33
  89. data/lib/rattler/back_end/parser_generator/sub_generating.rbc +2785 -0
  90. data/lib/rattler/back_end/parser_generator/token_generator.rb +0 -19
  91. data/lib/rattler/back_end/parser_generator/token_generator.rbc +755 -0
  92. data/lib/rattler/back_end/parser_generator/token_propogating.rbc +324 -0
  93. data/lib/rattler/back_end/parser_generator/top_level.rb +8 -6
  94. data/lib/rattler/back_end/parser_generator/top_level.rbc +352 -0
  95. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb +7 -5
  96. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rbc +1111 -0
  97. data/lib/rattler/back_end/ruby_generator.rbc +1841 -0
  98. data/lib/rattler/grammar.rbc +557 -0
  99. data/lib/rattler/grammar/analysis.rbc +1944 -0
  100. data/lib/rattler/grammar/grammar.rbc +1090 -0
  101. data/lib/rattler/grammar/grammar_dsl.rbc +1401 -0
  102. data/lib/rattler/grammar/grammar_parser.rbc +2096 -0
  103. data/lib/rattler/grammar/metagrammar.rb +1 -1
  104. data/lib/rattler/grammar/metagrammar.rbc +11014 -0
  105. data/lib/rattler/grammar/rattler.rtlr +1 -1
  106. data/lib/rattler/parsers.rb +1 -1
  107. data/lib/rattler/parsers.rbc +1006 -0
  108. data/lib/rattler/parsers/action_code.rb +20 -26
  109. data/lib/rattler/parsers/action_code.rbc +1577 -0
  110. data/lib/rattler/parsers/apply.rbc +562 -0
  111. data/lib/rattler/parsers/assert.rbc +378 -0
  112. data/lib/rattler/parsers/back_reference.rbc +871 -0
  113. data/lib/rattler/parsers/choice.rbc +607 -0
  114. data/lib/rattler/parsers/combinator_parser.rbc +612 -0
  115. data/lib/rattler/parsers/combining.rbc +570 -0
  116. data/lib/rattler/parsers/direct_action.rbc +1472 -0
  117. data/lib/rattler/parsers/disallow.rbc +379 -0
  118. data/lib/rattler/parsers/dispatch_action.rbc +2078 -0
  119. data/lib/rattler/parsers/eof.rbc +567 -0
  120. data/lib/rattler/parsers/fail.rbc +745 -0
  121. data/lib/rattler/parsers/label.rbc +749 -0
  122. data/lib/rattler/parsers/list.rbc +292 -0
  123. data/lib/rattler/parsers/{list.rb → list0.rb} +3 -3
  124. data/lib/rattler/parsers/list0.rbc +292 -0
  125. data/lib/rattler/parsers/list1.rbc +305 -0
  126. data/lib/rattler/parsers/list_parser.rbc +886 -0
  127. data/lib/rattler/parsers/match.rbc +621 -0
  128. data/lib/rattler/parsers/node_code.rbc +1064 -0
  129. data/lib/rattler/parsers/one_or_more.rbc +475 -0
  130. data/lib/rattler/parsers/optional.rbc +450 -0
  131. data/lib/rattler/parsers/parser.rbc +994 -0
  132. data/lib/rattler/parsers/parser_dsl.rb +6 -4
  133. data/lib/rattler/parsers/parser_dsl.rbc +4765 -0
  134. data/lib/rattler/parsers/predicate.rbc +490 -0
  135. data/lib/rattler/parsers/rule.rbc +777 -0
  136. data/lib/rattler/parsers/rule_set.rbc +1438 -0
  137. data/lib/rattler/parsers/sequence.rbc +1040 -0
  138. data/lib/rattler/parsers/skip.rbc +613 -0
  139. data/lib/rattler/parsers/token.rbc +457 -0
  140. data/lib/rattler/parsers/zero_or_more.rbc +462 -0
  141. data/lib/rattler/runner.rbc +3813 -0
  142. data/lib/rattler/runtime.rbc +370 -0
  143. data/lib/rattler/runtime/extended_packrat_parser.rbc +2351 -0
  144. data/lib/rattler/runtime/packrat_parser.rbc +1390 -0
  145. data/lib/rattler/runtime/parse_failure.rbc +909 -0
  146. data/lib/rattler/runtime/parse_node.rbc +1007 -0
  147. data/lib/rattler/runtime/parser.rbc +2267 -0
  148. data/lib/rattler/runtime/parser_helper.rbc +337 -0
  149. data/lib/rattler/runtime/recursive_descent_parser.rbc +942 -0
  150. data/lib/rattler/util.rbc +286 -0
  151. data/lib/rattler/util/graphviz.rbc +327 -0
  152. data/lib/rattler/util/graphviz/node_builder.rbc +2207 -0
  153. data/lib/rattler/util/line_counter.rbc +988 -0
  154. data/lib/rattler/util/node.rbc +2393 -0
  155. data/lib/rattler/util/parser_spec_helper.rbc +2533 -0
  156. data/spec/rattler/back_end/compiler_spec.rbc +1187 -0
  157. data/spec/rattler/back_end/optimizer/flatten_choice_spec.rbc +2093 -0
  158. data/spec/rattler/back_end/optimizer/flatten_sequence_spec.rbc +4055 -0
  159. data/spec/rattler/back_end/optimizer/inline_regular_rules_spec.rbc +2345 -0
  160. data/spec/rattler/back_end/optimizer/join_match_capturing_sequence_spec.rbc +7006 -0
  161. data/spec/rattler/back_end/optimizer/join_match_choice_spec.rbc +3252 -0
  162. data/spec/rattler/back_end/optimizer/join_match_matching_sequence_spec.rbc +3681 -0
  163. data/spec/rattler/back_end/optimizer/join_predicate_bare_match_spec.rbc +5603 -0
  164. data/spec/rattler/back_end/optimizer/join_predicate_nested_match_spec.rbc +5232 -0
  165. data/spec/rattler/back_end/optimizer/join_predicate_or_bare_match_spec.rbc +4272 -0
  166. data/spec/rattler/back_end/optimizer/join_predicate_or_nested_match_spec.rbc +4342 -0
  167. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rbc +2960 -0
  168. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rbc +6929 -0
  169. data/spec/rattler/back_end/optimizer/simplify_token_match_spec.rbc +2327 -0
  170. data/spec/rattler/back_end/optimizer_spec.rbc +372 -0
  171. data/spec/rattler/back_end/parser_generator/apply_generator_spec.rbc +4710 -0
  172. data/spec/rattler/back_end/parser_generator/assert_generator_spec.rbc +4697 -0
  173. data/spec/rattler/back_end/parser_generator/back_reference_generator_spec.rbc +4855 -0
  174. data/spec/rattler/back_end/parser_generator/choice_generator_spec.rbc +5350 -0
  175. data/spec/rattler/back_end/parser_generator/direct_action_generator_spec.rbc +4737 -0
  176. data/spec/rattler/back_end/parser_generator/disallow_generator_spec.rbc +4697 -0
  177. data/spec/rattler/back_end/parser_generator/dispatch_action_generator_spec.rbc +4731 -0
  178. data/spec/rattler/back_end/parser_generator/fail_generator_spec.rbc +2115 -0
  179. data/spec/rattler/back_end/parser_generator/group_match_generator_spec.rbc +4195 -0
  180. data/spec/rattler/back_end/parser_generator/group_match_spec.rbc +1414 -0
  181. data/spec/rattler/back_end/parser_generator/label_generator_spec.rbc +4696 -0
  182. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rbc +5213 -0
  183. data/spec/rattler/back_end/parser_generator/list_generator_spec.rb +3 -3
  184. data/spec/rattler/back_end/parser_generator/list_generator_spec.rbc +5179 -0
  185. data/spec/rattler/back_end/parser_generator/match_generator_spec.rbc +4681 -0
  186. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rbc +4957 -0
  187. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rbc +4704 -0
  188. data/spec/rattler/back_end/parser_generator/rule_generator_spec.rbc +545 -0
  189. data/spec/rattler/back_end/parser_generator/rule_set_generator_spec.rbc +1110 -0
  190. data/spec/rattler/back_end/parser_generator/sequence_generator_spec.rbc +5453 -0
  191. data/spec/rattler/back_end/parser_generator/skip_generator_spec.rbc +4691 -0
  192. data/spec/rattler/back_end/parser_generator/token_generator_spec.rbc +4691 -0
  193. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rbc +4924 -0
  194. data/spec/rattler/back_end/ruby_generator_spec.rbc +2460 -0
  195. data/spec/rattler/back_end/shared_compiler_examples.rbc +41886 -0
  196. data/spec/rattler/grammar/analysis_spec.rbc +4365 -0
  197. data/spec/rattler/grammar/grammar_parser_spec.rbc +10344 -0
  198. data/spec/rattler/grammar/grammar_spec.rbc +1701 -0
  199. data/spec/rattler/parsers/action_code_spec.rb +0 -29
  200. data/spec/rattler/parsers/action_code_spec.rbc +4674 -0
  201. data/spec/rattler/parsers/apply_spec.rbc +851 -0
  202. data/spec/rattler/parsers/assert_spec.rbc +752 -0
  203. data/spec/rattler/parsers/back_reference_spec.rbc +1002 -0
  204. data/spec/rattler/parsers/choice_spec.rbc +1696 -0
  205. data/spec/rattler/parsers/combinator_parser_spec.rbc +361 -0
  206. data/spec/rattler/parsers/direct_action_spec.rbc +5222 -0
  207. data/spec/rattler/parsers/disallow_spec.rbc +752 -0
  208. data/spec/rattler/parsers/dispatch_action_spec.rbc +3033 -0
  209. data/spec/rattler/parsers/eof_spec.rbc +728 -0
  210. data/spec/rattler/parsers/fail_spec.rbc +548 -0
  211. data/spec/rattler/parsers/label_spec.rbc +1091 -0
  212. data/spec/rattler/parsers/{list_spec.rb → list0_spec.rb} +5 -5
  213. data/spec/rattler/parsers/list0_spec.rbc +2308 -0
  214. data/spec/rattler/parsers/list1_spec.rbc +2287 -0
  215. data/spec/rattler/parsers/list_spec.rbc +2308 -0
  216. data/spec/rattler/parsers/match_spec.rbc +780 -0
  217. data/spec/rattler/parsers/node_code_spec.rbc +1754 -0
  218. data/spec/rattler/parsers/one_or_more_spec.rbc +1698 -0
  219. data/spec/rattler/parsers/optional_spec.rbc +1717 -0
  220. data/spec/rattler/parsers/parser_dsl_spec.rb +2 -2
  221. data/spec/rattler/parsers/parser_dsl_spec.rbc +10150 -0
  222. data/spec/rattler/parsers/rule_set_spec.rbc +1060 -0
  223. data/spec/rattler/parsers/sequence_spec.rbc +2899 -0
  224. data/spec/rattler/parsers/skip_spec.rbc +753 -0
  225. data/spec/rattler/parsers/token_spec.rbc +1511 -0
  226. data/spec/rattler/parsers/zero_or_more_spec.rbc +1719 -0
  227. data/spec/rattler/runtime/extended_packrat_parser_spec.rbc +1341 -0
  228. data/spec/rattler/runtime/packrat_parser_spec.rbc +210 -0
  229. data/spec/rattler/runtime/parse_failure_spec.rbc +2244 -0
  230. data/spec/rattler/runtime/parse_node_spec.rbc +2008 -0
  231. data/spec/rattler/runtime/parser_spec.rbc +2757 -0
  232. data/spec/rattler/runtime/recursive_descent_parser_spec.rbc +210 -0
  233. data/spec/rattler/runtime/shared_parser_examples.rbc +2567 -0
  234. data/spec/rattler/util/graphviz/node_builder_spec.rbc +3439 -0
  235. data/spec/rattler/util/line_counter_spec.rbc +2272 -0
  236. data/spec/rattler/util/node_spec.rbc +15023 -0
  237. data/spec/rattler_spec.rbc +1591 -0
  238. data/spec/spec_helper.rbc +336 -0
  239. data/spec/support/combinator_parser_spec_helper.rbc +1284 -0
  240. data/spec/support/compiler_spec_helper.rbc +1941 -0
  241. data/spec/support/parser_generator_spec_helper.rbc +718 -0
  242. data/spec/support/runtime_parser_spec_helper.rbc +313 -0
  243. metadata +421 -82
@@ -8,12 +8,14 @@ module Rattler::BackEnd::ParserGenerator
8
8
  include NestedSubGenerating
9
9
  include PredicatePropogating
10
10
 
11
- def gen_skip_top_level(one_or_more, scope={})
12
- (@g << "#{result_name} = false").newline
13
- @g << 'while '
14
- generate one_or_more.child, :intermediate_skip, scope
15
- @g.block('') { @g << "#{result_name} = true" }.newline
16
- @g << result_name
11
+ def gen_skip(one_or_more, scope={})
12
+ expr :block do
13
+ (@g << "#{result_name} = false").newline
14
+ @g << 'while '
15
+ generate one_or_more.child, :intermediate_skip, scope
16
+ @g.block('') { @g << "#{result_name} = true" }.newline
17
+ @g << result_name
18
+ end
17
19
  end
18
20
 
19
21
  protected
@@ -38,11 +40,11 @@ module Rattler::BackEnd::ParserGenerator
38
40
  include TopLevel
39
41
 
40
42
  def gen_assert(parser, scope = {})
41
- generate parser.child, :assert_top_level, scope
43
+ gen_top_level parser.child, :assert, scope
42
44
  end
43
45
 
44
46
  def gen_disallow(parser, scope = {})
45
- generate parser.child, :disallow_top_level, scope
47
+ gen_top_level parser.child, :disallow, scope
46
48
  end
47
49
 
48
50
  end
@@ -0,0 +1,1277 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 41
13
+ 5
14
+ 7
15
+ 0
16
+ 64
17
+ 47
18
+ 49
19
+ 1
20
+ 1
21
+ 15
22
+ 99
23
+ 7
24
+ 2
25
+ 45
26
+ 3
27
+ 4
28
+ 43
29
+ 5
30
+ 49
31
+ 6
32
+ 2
33
+ 13
34
+ 99
35
+ 12
36
+ 7
37
+ 7
38
+ 12
39
+ 7
40
+ 8
41
+ 12
42
+ 65
43
+ 12
44
+ 49
45
+ 9
46
+ 4
47
+ 15
48
+ 49
49
+ 7
50
+ 0
51
+ 15
52
+ 2
53
+ 11
54
+ I
55
+ 6
56
+ I
57
+ 0
58
+ I
59
+ 0
60
+ I
61
+ 0
62
+ n
63
+ p
64
+ 10
65
+ s
66
+ 33
67
+ rattler/back_end/parser_generator
68
+ x
69
+ 7
70
+ require
71
+ x
72
+ 15
73
+ ParserGenerator
74
+ x
75
+ 7
76
+ Rattler
77
+ n
78
+ x
79
+ 7
80
+ BackEnd
81
+ x
82
+ 17
83
+ open_module_under
84
+ x
85
+ 15
86
+ __module_init__
87
+ M
88
+ 1
89
+ n
90
+ n
91
+ x
92
+ 15
93
+ ParserGenerator
94
+ i
95
+ 115
96
+ 5
97
+ 66
98
+ 99
99
+ 7
100
+ 0
101
+ 45
102
+ 1
103
+ 2
104
+ 65
105
+ 49
106
+ 3
107
+ 3
108
+ 13
109
+ 99
110
+ 12
111
+ 7
112
+ 4
113
+ 12
114
+ 7
115
+ 5
116
+ 12
117
+ 65
118
+ 12
119
+ 49
120
+ 6
121
+ 4
122
+ 15
123
+ 49
124
+ 4
125
+ 0
126
+ 15
127
+ 99
128
+ 7
129
+ 7
130
+ 45
131
+ 0
132
+ 8
133
+ 65
134
+ 49
135
+ 3
136
+ 3
137
+ 13
138
+ 99
139
+ 12
140
+ 7
141
+ 4
142
+ 12
143
+ 7
144
+ 9
145
+ 12
146
+ 65
147
+ 12
148
+ 49
149
+ 6
150
+ 4
151
+ 15
152
+ 49
153
+ 4
154
+ 0
155
+ 15
156
+ 99
157
+ 7
158
+ 10
159
+ 7
160
+ 11
161
+ 65
162
+ 45
163
+ 0
164
+ 12
165
+ 49
166
+ 6
167
+ 4
168
+ 15
169
+ 99
170
+ 7
171
+ 13
172
+ 45
173
+ 0
174
+ 14
175
+ 65
176
+ 49
177
+ 3
178
+ 3
179
+ 13
180
+ 99
181
+ 12
182
+ 7
183
+ 4
184
+ 12
185
+ 7
186
+ 15
187
+ 12
188
+ 65
189
+ 12
190
+ 49
191
+ 6
192
+ 4
193
+ 15
194
+ 49
195
+ 4
196
+ 0
197
+ 15
198
+ 99
199
+ 7
200
+ 16
201
+ 7
202
+ 17
203
+ 65
204
+ 45
205
+ 0
206
+ 18
207
+ 49
208
+ 6
209
+ 4
210
+ 11
211
+ I
212
+ 6
213
+ I
214
+ 0
215
+ I
216
+ 0
217
+ I
218
+ 0
219
+ n
220
+ p
221
+ 19
222
+ x
223
+ 18
224
+ OneOrMoreGenerator
225
+ x
226
+ 13
227
+ ExprGenerator
228
+ n
229
+ x
230
+ 10
231
+ open_class
232
+ x
233
+ 14
234
+ __class_init__
235
+ M
236
+ 1
237
+ n
238
+ n
239
+ x
240
+ 18
241
+ OneOrMoreGenerator
242
+ i
243
+ 61
244
+ 5
245
+ 66
246
+ 5
247
+ 45
248
+ 0
249
+ 1
250
+ 47
251
+ 49
252
+ 2
253
+ 1
254
+ 15
255
+ 5
256
+ 45
257
+ 3
258
+ 4
259
+ 47
260
+ 49
261
+ 2
262
+ 1
263
+ 15
264
+ 5
265
+ 45
266
+ 5
267
+ 6
268
+ 47
269
+ 49
270
+ 2
271
+ 1
272
+ 15
273
+ 99
274
+ 7
275
+ 7
276
+ 7
277
+ 8
278
+ 65
279
+ 67
280
+ 49
281
+ 9
282
+ 0
283
+ 49
284
+ 10
285
+ 4
286
+ 15
287
+ 5
288
+ 48
289
+ 11
290
+ 15
291
+ 99
292
+ 7
293
+ 12
294
+ 7
295
+ 13
296
+ 65
297
+ 67
298
+ 49
299
+ 9
300
+ 0
301
+ 49
302
+ 10
303
+ 4
304
+ 11
305
+ I
306
+ 5
307
+ I
308
+ 0
309
+ I
310
+ 0
311
+ I
312
+ 0
313
+ n
314
+ p
315
+ 14
316
+ x
317
+ 16
318
+ RepeatGenerating
319
+ n
320
+ x
321
+ 7
322
+ include
323
+ x
324
+ 19
325
+ NestedSubGenerating
326
+ n
327
+ x
328
+ 20
329
+ PredicatePropogating
330
+ n
331
+ x
332
+ 8
333
+ gen_skip
334
+ M
335
+ 1
336
+ n
337
+ n
338
+ x
339
+ 8
340
+ gen_skip
341
+ i
342
+ 24
343
+ 23
344
+ 1
345
+ 10
346
+ 14
347
+ 44
348
+ 43
349
+ 0
350
+ 78
351
+ 49
352
+ 1
353
+ 1
354
+ 19
355
+ 1
356
+ 15
357
+ 5
358
+ 7
359
+ 2
360
+ 56
361
+ 3
362
+ 47
363
+ 50
364
+ 4
365
+ 1
366
+ 11
367
+ I
368
+ 5
369
+ I
370
+ 2
371
+ I
372
+ 1
373
+ I
374
+ 2
375
+ n
376
+ p
377
+ 5
378
+ x
379
+ 4
380
+ Hash
381
+ x
382
+ 16
383
+ new_from_literal
384
+ x
385
+ 5
386
+ block
387
+ M
388
+ 1
389
+ p
390
+ 2
391
+ x
392
+ 9
393
+ for_block
394
+ t
395
+ n
396
+ x
397
+ 8
398
+ gen_skip
399
+ i
400
+ 68
401
+ 39
402
+ 0
403
+ 5
404
+ 48
405
+ 1
406
+ 47
407
+ 101
408
+ 2
409
+ 7
410
+ 3
411
+ 63
412
+ 2
413
+ 49
414
+ 4
415
+ 1
416
+ 49
417
+ 5
418
+ 0
419
+ 15
420
+ 39
421
+ 0
422
+ 7
423
+ 6
424
+ 64
425
+ 49
426
+ 4
427
+ 1
428
+ 15
429
+ 5
430
+ 21
431
+ 1
432
+ 0
433
+ 49
434
+ 7
435
+ 0
436
+ 7
437
+ 8
438
+ 21
439
+ 1
440
+ 1
441
+ 47
442
+ 49
443
+ 9
444
+ 3
445
+ 15
446
+ 39
447
+ 0
448
+ 7
449
+ 10
450
+ 64
451
+ 56
452
+ 11
453
+ 50
454
+ 12
455
+ 1
456
+ 49
457
+ 5
458
+ 0
459
+ 15
460
+ 39
461
+ 0
462
+ 5
463
+ 48
464
+ 1
465
+ 49
466
+ 4
467
+ 1
468
+ 11
469
+ I
470
+ 5
471
+ I
472
+ 0
473
+ I
474
+ 0
475
+ I
476
+ 0
477
+ I
478
+ -2
479
+ p
480
+ 13
481
+ x
482
+ 2
483
+ @g
484
+ x
485
+ 11
486
+ result_name
487
+ x
488
+ 4
489
+ to_s
490
+ s
491
+ 8
492
+ = false
493
+ x
494
+ 2
495
+ <<
496
+ x
497
+ 7
498
+ newline
499
+ s
500
+ 6
501
+ while
502
+ x
503
+ 5
504
+ child
505
+ x
506
+ 17
507
+ intermediate_skip
508
+ x
509
+ 8
510
+ generate
511
+ s
512
+ 0
513
+
514
+ M
515
+ 1
516
+ p
517
+ 2
518
+ x
519
+ 9
520
+ for_block
521
+ t
522
+ n
523
+ x
524
+ 8
525
+ gen_skip
526
+ i
527
+ 16
528
+ 39
529
+ 0
530
+ 5
531
+ 48
532
+ 1
533
+ 47
534
+ 101
535
+ 2
536
+ 7
537
+ 3
538
+ 63
539
+ 2
540
+ 49
541
+ 4
542
+ 1
543
+ 11
544
+ I
545
+ 4
546
+ I
547
+ 0
548
+ I
549
+ 0
550
+ I
551
+ 0
552
+ I
553
+ -2
554
+ p
555
+ 5
556
+ x
557
+ 2
558
+ @g
559
+ x
560
+ 11
561
+ result_name
562
+ x
563
+ 4
564
+ to_s
565
+ s
566
+ 7
567
+ = true
568
+ x
569
+ 2
570
+ <<
571
+ p
572
+ 3
573
+ I
574
+ 0
575
+ I
576
+ 10
577
+ I
578
+ 10
579
+ x
580
+ 108
581
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
582
+ p
583
+ 0
584
+ x
585
+ 5
586
+ block
587
+ p
588
+ 11
589
+ I
590
+ 0
591
+ I
592
+ d
593
+ I
594
+ 13
595
+ I
596
+ e
597
+ I
598
+ 1c
599
+ I
600
+ f
601
+ I
602
+ 2d
603
+ I
604
+ 10
605
+ I
606
+ 3b
607
+ I
608
+ 11
609
+ I
610
+ 44
611
+ x
612
+ 108
613
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
614
+ p
615
+ 0
616
+ x
617
+ 4
618
+ expr
619
+ p
620
+ 5
621
+ I
622
+ -1
623
+ I
624
+ b
625
+ I
626
+ e
627
+ I
628
+ c
629
+ I
630
+ 18
631
+ x
632
+ 108
633
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
634
+ p
635
+ 2
636
+ x
637
+ 11
638
+ one_or_more
639
+ x
640
+ 5
641
+ scope
642
+ x
643
+ 17
644
+ method_visibility
645
+ x
646
+ 15
647
+ add_defn_method
648
+ x
649
+ 9
650
+ protected
651
+ x
652
+ 10
653
+ gen_result
654
+ M
655
+ 1
656
+ n
657
+ n
658
+ x
659
+ 10
660
+ gen_result
661
+ i
662
+ 23
663
+ 39
664
+ 0
665
+ 20
666
+ 0
667
+ 49
668
+ 1
669
+ 1
670
+ 7
671
+ 2
672
+ 5
673
+ 48
674
+ 3
675
+ 47
676
+ 101
677
+ 4
678
+ 7
679
+ 5
680
+ 63
681
+ 3
682
+ 49
683
+ 1
684
+ 1
685
+ 11
686
+ I
687
+ 5
688
+ I
689
+ 1
690
+ I
691
+ 1
692
+ I
693
+ 1
694
+ n
695
+ p
696
+ 6
697
+ x
698
+ 2
699
+ @g
700
+ x
701
+ 2
702
+ <<
703
+ s
704
+ 8
705
+ unless
706
+ x
707
+ 16
708
+ accumulator_name
709
+ x
710
+ 4
711
+ to_s
712
+ s
713
+ 7
714
+ .empty?
715
+ p
716
+ 5
717
+ I
718
+ -1
719
+ I
720
+ 17
721
+ I
722
+ 0
723
+ I
724
+ 18
725
+ I
726
+ 17
727
+ x
728
+ 108
729
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
730
+ p
731
+ 1
732
+ x
733
+ 8
734
+ captures
735
+ p
736
+ 13
737
+ I
738
+ 2
739
+ I
740
+ 7
741
+ I
742
+ b
743
+ I
744
+ 8
745
+ I
746
+ 14
747
+ I
748
+ 9
749
+ I
750
+ 1d
751
+ I
752
+ b
753
+ I
754
+ 2b
755
+ I
756
+ 15
757
+ I
758
+ 2f
759
+ I
760
+ 17
761
+ I
762
+ 3d
763
+ x
764
+ 108
765
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
766
+ p
767
+ 0
768
+ x
769
+ 13
770
+ attach_method
771
+ x
772
+ 24
773
+ NestedOneOrMoreGenerator
774
+ n
775
+ M
776
+ 1
777
+ n
778
+ n
779
+ x
780
+ 24
781
+ NestedOneOrMoreGenerator
782
+ i
783
+ 11
784
+ 5
785
+ 66
786
+ 5
787
+ 45
788
+ 0
789
+ 1
790
+ 47
791
+ 49
792
+ 2
793
+ 1
794
+ 11
795
+ I
796
+ 2
797
+ I
798
+ 0
799
+ I
800
+ 0
801
+ I
802
+ 0
803
+ n
804
+ p
805
+ 3
806
+ x
807
+ 6
808
+ Nested
809
+ n
810
+ x
811
+ 7
812
+ include
813
+ p
814
+ 3
815
+ I
816
+ 2
817
+ I
818
+ 1f
819
+ I
820
+ b
821
+ x
822
+ 108
823
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
824
+ p
825
+ 0
826
+ x
827
+ 6
828
+ nested
829
+ M
830
+ 1
831
+ n
832
+ n
833
+ x
834
+ 6
835
+ nested
836
+ i
837
+ 11
838
+ 45
839
+ 0
840
+ 1
841
+ 20
842
+ 0
843
+ 36
844
+ 1
845
+ 51
846
+ 2
847
+ 0
848
+ 11
849
+ I
850
+ 4
851
+ I
852
+ 1
853
+ I
854
+ 0
855
+ I
856
+ 0
857
+ I
858
+ 0
859
+ p
860
+ 3
861
+ x
862
+ 24
863
+ NestedOneOrMoreGenerator
864
+ n
865
+ x
866
+ 3
867
+ new
868
+ p
869
+ 5
870
+ I
871
+ -1
872
+ I
873
+ 22
874
+ I
875
+ 0
876
+ I
877
+ 23
878
+ I
879
+ b
880
+ x
881
+ 108
882
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
883
+ p
884
+ 1
885
+ x
886
+ 4
887
+ args
888
+ n
889
+ x
890
+ 26
891
+ TopLevelOneOrMoreGenerator
892
+ n
893
+ M
894
+ 1
895
+ n
896
+ n
897
+ x
898
+ 26
899
+ TopLevelOneOrMoreGenerator
900
+ i
901
+ 39
902
+ 5
903
+ 66
904
+ 5
905
+ 45
906
+ 0
907
+ 1
908
+ 47
909
+ 49
910
+ 2
911
+ 1
912
+ 15
913
+ 99
914
+ 7
915
+ 3
916
+ 7
917
+ 4
918
+ 65
919
+ 67
920
+ 49
921
+ 5
922
+ 0
923
+ 49
924
+ 6
925
+ 4
926
+ 15
927
+ 99
928
+ 7
929
+ 7
930
+ 7
931
+ 8
932
+ 65
933
+ 67
934
+ 49
935
+ 5
936
+ 0
937
+ 49
938
+ 6
939
+ 4
940
+ 11
941
+ I
942
+ 5
943
+ I
944
+ 0
945
+ I
946
+ 0
947
+ I
948
+ 0
949
+ n
950
+ p
951
+ 9
952
+ x
953
+ 8
954
+ TopLevel
955
+ n
956
+ x
957
+ 7
958
+ include
959
+ x
960
+ 10
961
+ gen_assert
962
+ M
963
+ 1
964
+ n
965
+ n
966
+ x
967
+ 10
968
+ gen_assert
969
+ i
970
+ 29
971
+ 23
972
+ 1
973
+ 10
974
+ 14
975
+ 44
976
+ 43
977
+ 0
978
+ 78
979
+ 49
980
+ 1
981
+ 1
982
+ 19
983
+ 1
984
+ 15
985
+ 5
986
+ 20
987
+ 0
988
+ 49
989
+ 2
990
+ 0
991
+ 7
992
+ 3
993
+ 20
994
+ 1
995
+ 47
996
+ 49
997
+ 4
998
+ 3
999
+ 11
1000
+ I
1001
+ 6
1002
+ I
1003
+ 2
1004
+ I
1005
+ 1
1006
+ I
1007
+ 2
1008
+ n
1009
+ p
1010
+ 5
1011
+ x
1012
+ 4
1013
+ Hash
1014
+ x
1015
+ 16
1016
+ new_from_literal
1017
+ x
1018
+ 5
1019
+ child
1020
+ x
1021
+ 6
1022
+ assert
1023
+ x
1024
+ 13
1025
+ gen_top_level
1026
+ p
1027
+ 5
1028
+ I
1029
+ -1
1030
+ I
1031
+ 2a
1032
+ I
1033
+ e
1034
+ I
1035
+ 2b
1036
+ I
1037
+ 1d
1038
+ x
1039
+ 108
1040
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1041
+ p
1042
+ 2
1043
+ x
1044
+ 6
1045
+ parser
1046
+ x
1047
+ 5
1048
+ scope
1049
+ x
1050
+ 17
1051
+ method_visibility
1052
+ x
1053
+ 15
1054
+ add_defn_method
1055
+ x
1056
+ 12
1057
+ gen_disallow
1058
+ M
1059
+ 1
1060
+ n
1061
+ n
1062
+ x
1063
+ 12
1064
+ gen_disallow
1065
+ i
1066
+ 29
1067
+ 23
1068
+ 1
1069
+ 10
1070
+ 14
1071
+ 44
1072
+ 43
1073
+ 0
1074
+ 78
1075
+ 49
1076
+ 1
1077
+ 1
1078
+ 19
1079
+ 1
1080
+ 15
1081
+ 5
1082
+ 20
1083
+ 0
1084
+ 49
1085
+ 2
1086
+ 0
1087
+ 7
1088
+ 3
1089
+ 20
1090
+ 1
1091
+ 47
1092
+ 49
1093
+ 4
1094
+ 3
1095
+ 11
1096
+ I
1097
+ 6
1098
+ I
1099
+ 2
1100
+ I
1101
+ 1
1102
+ I
1103
+ 2
1104
+ n
1105
+ p
1106
+ 5
1107
+ x
1108
+ 4
1109
+ Hash
1110
+ x
1111
+ 16
1112
+ new_from_literal
1113
+ x
1114
+ 5
1115
+ child
1116
+ x
1117
+ 8
1118
+ disallow
1119
+ x
1120
+ 13
1121
+ gen_top_level
1122
+ p
1123
+ 5
1124
+ I
1125
+ -1
1126
+ I
1127
+ 2e
1128
+ I
1129
+ e
1130
+ I
1131
+ 2f
1132
+ I
1133
+ 1d
1134
+ x
1135
+ 108
1136
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1137
+ p
1138
+ 2
1139
+ x
1140
+ 6
1141
+ parser
1142
+ x
1143
+ 5
1144
+ scope
1145
+ p
1146
+ 7
1147
+ I
1148
+ 2
1149
+ I
1150
+ 28
1151
+ I
1152
+ b
1153
+ I
1154
+ 2a
1155
+ I
1156
+ 19
1157
+ I
1158
+ 2e
1159
+ I
1160
+ 27
1161
+ x
1162
+ 108
1163
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1164
+ p
1165
+ 0
1166
+ x
1167
+ 9
1168
+ top_level
1169
+ M
1170
+ 1
1171
+ n
1172
+ n
1173
+ x
1174
+ 9
1175
+ top_level
1176
+ i
1177
+ 11
1178
+ 45
1179
+ 0
1180
+ 1
1181
+ 20
1182
+ 0
1183
+ 36
1184
+ 1
1185
+ 51
1186
+ 2
1187
+ 0
1188
+ 11
1189
+ I
1190
+ 4
1191
+ I
1192
+ 1
1193
+ I
1194
+ 0
1195
+ I
1196
+ 0
1197
+ I
1198
+ 0
1199
+ p
1200
+ 3
1201
+ x
1202
+ 26
1203
+ TopLevelOneOrMoreGenerator
1204
+ n
1205
+ x
1206
+ 3
1207
+ new
1208
+ p
1209
+ 5
1210
+ I
1211
+ -1
1212
+ I
1213
+ 34
1214
+ I
1215
+ 0
1216
+ I
1217
+ 35
1218
+ I
1219
+ b
1220
+ x
1221
+ 108
1222
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1223
+ p
1224
+ 1
1225
+ x
1226
+ 4
1227
+ args
1228
+ n
1229
+ p
1230
+ 11
1231
+ I
1232
+ 2
1233
+ I
1234
+ 6
1235
+ I
1236
+ 1f
1237
+ I
1238
+ 1e
1239
+ I
1240
+ 3c
1241
+ I
1242
+ 22
1243
+ I
1244
+ 49
1245
+ I
1246
+ 27
1247
+ I
1248
+ 66
1249
+ I
1250
+ 34
1251
+ I
1252
+ 73
1253
+ x
1254
+ 108
1255
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1256
+ p
1257
+ 0
1258
+ x
1259
+ 13
1260
+ attach_method
1261
+ p
1262
+ 5
1263
+ I
1264
+ 0
1265
+ I
1266
+ 1
1267
+ I
1268
+ 9
1269
+ I
1270
+ 3
1271
+ I
1272
+ 29
1273
+ x
1274
+ 108
1275
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/one_or_more_generator.rb
1276
+ p
1277
+ 0