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
@@ -15,11 +15,13 @@ module Rattler::BackEnd::ParserGenerator
15
15
  @g << 'false'
16
16
  end
17
17
 
18
- def gen_skip_top_level(repeat, scope={})
19
- @g << 'while '
20
- generate repeat.child, :intermediate_skip, scope
21
- (@g << '; end').newline
22
- @g << 'true'
18
+ def gen_skip(repeat, scope={})
19
+ expr :block do
20
+ @g << 'while '
21
+ generate repeat.child, :intermediate_skip, scope
22
+ (@g << '; end').newline
23
+ @g << 'true'
24
+ end
23
25
  end
24
26
 
25
27
  protected
@@ -0,0 +1,1111 @@
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
+ 19
224
+ ZeroOrMoreGenerator
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
+ 19
241
+ ZeroOrMoreGenerator
242
+ i
243
+ 80
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
+ 99
265
+ 7
266
+ 5
267
+ 7
268
+ 6
269
+ 65
270
+ 67
271
+ 49
272
+ 7
273
+ 0
274
+ 49
275
+ 8
276
+ 4
277
+ 15
278
+ 99
279
+ 7
280
+ 9
281
+ 7
282
+ 10
283
+ 65
284
+ 67
285
+ 49
286
+ 7
287
+ 0
288
+ 49
289
+ 8
290
+ 4
291
+ 15
292
+ 99
293
+ 7
294
+ 11
295
+ 7
296
+ 12
297
+ 65
298
+ 67
299
+ 49
300
+ 7
301
+ 0
302
+ 49
303
+ 8
304
+ 4
305
+ 15
306
+ 5
307
+ 48
308
+ 13
309
+ 15
310
+ 99
311
+ 7
312
+ 14
313
+ 7
314
+ 15
315
+ 65
316
+ 67
317
+ 49
318
+ 7
319
+ 0
320
+ 49
321
+ 8
322
+ 4
323
+ 11
324
+ I
325
+ 5
326
+ I
327
+ 0
328
+ I
329
+ 0
330
+ I
331
+ 0
332
+ n
333
+ p
334
+ 16
335
+ x
336
+ 16
337
+ RepeatGenerating
338
+ n
339
+ x
340
+ 7
341
+ include
342
+ x
343
+ 19
344
+ NestedSubGenerating
345
+ n
346
+ x
347
+ 10
348
+ gen_assert
349
+ M
350
+ 1
351
+ n
352
+ n
353
+ x
354
+ 10
355
+ gen_assert
356
+ i
357
+ 23
358
+ 23
359
+ 1
360
+ 10
361
+ 14
362
+ 44
363
+ 43
364
+ 0
365
+ 78
366
+ 49
367
+ 1
368
+ 1
369
+ 19
370
+ 1
371
+ 15
372
+ 39
373
+ 2
374
+ 7
375
+ 3
376
+ 64
377
+ 49
378
+ 4
379
+ 1
380
+ 11
381
+ I
382
+ 4
383
+ I
384
+ 2
385
+ I
386
+ 1
387
+ I
388
+ 2
389
+ n
390
+ p
391
+ 5
392
+ x
393
+ 4
394
+ Hash
395
+ x
396
+ 16
397
+ new_from_literal
398
+ x
399
+ 2
400
+ @g
401
+ s
402
+ 4
403
+ true
404
+ x
405
+ 2
406
+ <<
407
+ p
408
+ 5
409
+ I
410
+ -1
411
+ I
412
+ a
413
+ I
414
+ e
415
+ I
416
+ b
417
+ I
418
+ 17
419
+ x
420
+ 109
421
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
422
+ p
423
+ 2
424
+ x
425
+ 8
426
+ optional
427
+ x
428
+ 5
429
+ scope
430
+ x
431
+ 17
432
+ method_visibility
433
+ x
434
+ 15
435
+ add_defn_method
436
+ x
437
+ 12
438
+ gen_disallow
439
+ M
440
+ 1
441
+ n
442
+ n
443
+ x
444
+ 12
445
+ gen_disallow
446
+ i
447
+ 23
448
+ 23
449
+ 1
450
+ 10
451
+ 14
452
+ 44
453
+ 43
454
+ 0
455
+ 78
456
+ 49
457
+ 1
458
+ 1
459
+ 19
460
+ 1
461
+ 15
462
+ 39
463
+ 2
464
+ 7
465
+ 3
466
+ 64
467
+ 49
468
+ 4
469
+ 1
470
+ 11
471
+ I
472
+ 4
473
+ I
474
+ 2
475
+ I
476
+ 1
477
+ I
478
+ 2
479
+ n
480
+ p
481
+ 5
482
+ x
483
+ 4
484
+ Hash
485
+ x
486
+ 16
487
+ new_from_literal
488
+ x
489
+ 2
490
+ @g
491
+ s
492
+ 5
493
+ false
494
+ x
495
+ 2
496
+ <<
497
+ p
498
+ 5
499
+ I
500
+ -1
501
+ I
502
+ e
503
+ I
504
+ e
505
+ I
506
+ f
507
+ I
508
+ 17
509
+ x
510
+ 109
511
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
512
+ p
513
+ 2
514
+ x
515
+ 8
516
+ optional
517
+ x
518
+ 5
519
+ scope
520
+ x
521
+ 8
522
+ gen_skip
523
+ M
524
+ 1
525
+ n
526
+ n
527
+ x
528
+ 8
529
+ gen_skip
530
+ i
531
+ 24
532
+ 23
533
+ 1
534
+ 10
535
+ 14
536
+ 44
537
+ 43
538
+ 0
539
+ 78
540
+ 49
541
+ 1
542
+ 1
543
+ 19
544
+ 1
545
+ 15
546
+ 5
547
+ 7
548
+ 2
549
+ 56
550
+ 3
551
+ 47
552
+ 50
553
+ 4
554
+ 1
555
+ 11
556
+ I
557
+ 5
558
+ I
559
+ 2
560
+ I
561
+ 1
562
+ I
563
+ 2
564
+ n
565
+ p
566
+ 5
567
+ x
568
+ 4
569
+ Hash
570
+ x
571
+ 16
572
+ new_from_literal
573
+ x
574
+ 5
575
+ block
576
+ M
577
+ 1
578
+ p
579
+ 2
580
+ x
581
+ 9
582
+ for_block
583
+ t
584
+ n
585
+ x
586
+ 8
587
+ gen_skip
588
+ i
589
+ 47
590
+ 39
591
+ 0
592
+ 7
593
+ 1
594
+ 64
595
+ 49
596
+ 2
597
+ 1
598
+ 15
599
+ 5
600
+ 21
601
+ 1
602
+ 0
603
+ 49
604
+ 3
605
+ 0
606
+ 7
607
+ 4
608
+ 21
609
+ 1
610
+ 1
611
+ 47
612
+ 49
613
+ 5
614
+ 3
615
+ 15
616
+ 39
617
+ 0
618
+ 7
619
+ 6
620
+ 64
621
+ 49
622
+ 2
623
+ 1
624
+ 49
625
+ 7
626
+ 0
627
+ 15
628
+ 39
629
+ 0
630
+ 7
631
+ 8
632
+ 64
633
+ 49
634
+ 2
635
+ 1
636
+ 11
637
+ I
638
+ 5
639
+ I
640
+ 0
641
+ I
642
+ 0
643
+ I
644
+ 0
645
+ I
646
+ -2
647
+ p
648
+ 9
649
+ x
650
+ 2
651
+ @g
652
+ s
653
+ 6
654
+ while
655
+ x
656
+ 2
657
+ <<
658
+ x
659
+ 5
660
+ child
661
+ x
662
+ 17
663
+ intermediate_skip
664
+ x
665
+ 8
666
+ generate
667
+ s
668
+ 5
669
+ ; end
670
+ x
671
+ 7
672
+ newline
673
+ s
674
+ 4
675
+ true
676
+ p
677
+ 9
678
+ I
679
+ 0
680
+ I
681
+ 14
682
+ I
683
+ 9
684
+ I
685
+ 15
686
+ I
687
+ 1a
688
+ I
689
+ 16
690
+ I
691
+ 26
692
+ I
693
+ 17
694
+ I
695
+ 2f
696
+ x
697
+ 109
698
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
699
+ p
700
+ 0
701
+ x
702
+ 4
703
+ expr
704
+ p
705
+ 5
706
+ I
707
+ -1
708
+ I
709
+ 12
710
+ I
711
+ e
712
+ I
713
+ 13
714
+ I
715
+ 18
716
+ x
717
+ 109
718
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
719
+ p
720
+ 2
721
+ x
722
+ 6
723
+ repeat
724
+ x
725
+ 5
726
+ scope
727
+ x
728
+ 9
729
+ protected
730
+ x
731
+ 10
732
+ gen_result
733
+ M
734
+ 1
735
+ n
736
+ n
737
+ x
738
+ 10
739
+ gen_result
740
+ i
741
+ 8
742
+ 39
743
+ 0
744
+ 20
745
+ 0
746
+ 49
747
+ 1
748
+ 1
749
+ 11
750
+ I
751
+ 3
752
+ I
753
+ 1
754
+ I
755
+ 1
756
+ I
757
+ 1
758
+ n
759
+ p
760
+ 2
761
+ x
762
+ 2
763
+ @g
764
+ x
765
+ 2
766
+ <<
767
+ p
768
+ 5
769
+ I
770
+ -1
771
+ I
772
+ 1d
773
+ I
774
+ 0
775
+ I
776
+ 1e
777
+ I
778
+ 8
779
+ x
780
+ 109
781
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
782
+ p
783
+ 1
784
+ x
785
+ 8
786
+ captures
787
+ p
788
+ 15
789
+ I
790
+ 2
791
+ I
792
+ 7
793
+ I
794
+ b
795
+ I
796
+ 8
797
+ I
798
+ 14
799
+ I
800
+ a
801
+ I
802
+ 22
803
+ I
804
+ e
805
+ I
806
+ 30
807
+ I
808
+ 12
809
+ I
810
+ 3e
811
+ I
812
+ 1b
813
+ I
814
+ 42
815
+ I
816
+ 1d
817
+ I
818
+ 50
819
+ x
820
+ 109
821
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
822
+ p
823
+ 0
824
+ x
825
+ 13
826
+ attach_method
827
+ x
828
+ 25
829
+ NestedZeroOrMoreGenerator
830
+ n
831
+ M
832
+ 1
833
+ n
834
+ n
835
+ x
836
+ 25
837
+ NestedZeroOrMoreGenerator
838
+ i
839
+ 11
840
+ 5
841
+ 66
842
+ 5
843
+ 45
844
+ 0
845
+ 1
846
+ 47
847
+ 49
848
+ 2
849
+ 1
850
+ 11
851
+ I
852
+ 2
853
+ I
854
+ 0
855
+ I
856
+ 0
857
+ I
858
+ 0
859
+ n
860
+ p
861
+ 3
862
+ x
863
+ 6
864
+ Nested
865
+ n
866
+ x
867
+ 7
868
+ include
869
+ p
870
+ 3
871
+ I
872
+ 2
873
+ I
874
+ 25
875
+ I
876
+ b
877
+ x
878
+ 109
879
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
880
+ p
881
+ 0
882
+ x
883
+ 6
884
+ nested
885
+ M
886
+ 1
887
+ n
888
+ n
889
+ x
890
+ 6
891
+ nested
892
+ i
893
+ 11
894
+ 45
895
+ 0
896
+ 1
897
+ 20
898
+ 0
899
+ 36
900
+ 1
901
+ 51
902
+ 2
903
+ 0
904
+ 11
905
+ I
906
+ 4
907
+ I
908
+ 1
909
+ I
910
+ 0
911
+ I
912
+ 0
913
+ I
914
+ 0
915
+ p
916
+ 3
917
+ x
918
+ 25
919
+ NestedZeroOrMoreGenerator
920
+ n
921
+ x
922
+ 3
923
+ new
924
+ p
925
+ 5
926
+ I
927
+ -1
928
+ I
929
+ 28
930
+ I
931
+ 0
932
+ I
933
+ 29
934
+ I
935
+ b
936
+ x
937
+ 109
938
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
939
+ p
940
+ 1
941
+ x
942
+ 4
943
+ args
944
+ n
945
+ x
946
+ 27
947
+ TopLevelZeroOrMoreGenerator
948
+ n
949
+ M
950
+ 1
951
+ n
952
+ n
953
+ x
954
+ 27
955
+ TopLevelZeroOrMoreGenerator
956
+ i
957
+ 11
958
+ 5
959
+ 66
960
+ 5
961
+ 45
962
+ 0
963
+ 1
964
+ 47
965
+ 49
966
+ 2
967
+ 1
968
+ 11
969
+ I
970
+ 2
971
+ I
972
+ 0
973
+ I
974
+ 0
975
+ I
976
+ 0
977
+ n
978
+ p
979
+ 3
980
+ x
981
+ 8
982
+ TopLevel
983
+ n
984
+ x
985
+ 7
986
+ include
987
+ p
988
+ 3
989
+ I
990
+ 2
991
+ I
992
+ 2e
993
+ I
994
+ b
995
+ x
996
+ 109
997
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
998
+ p
999
+ 0
1000
+ x
1001
+ 9
1002
+ top_level
1003
+ M
1004
+ 1
1005
+ n
1006
+ n
1007
+ x
1008
+ 9
1009
+ top_level
1010
+ i
1011
+ 11
1012
+ 45
1013
+ 0
1014
+ 1
1015
+ 20
1016
+ 0
1017
+ 36
1018
+ 1
1019
+ 51
1020
+ 2
1021
+ 0
1022
+ 11
1023
+ I
1024
+ 4
1025
+ I
1026
+ 1
1027
+ I
1028
+ 0
1029
+ I
1030
+ 0
1031
+ I
1032
+ 0
1033
+ p
1034
+ 3
1035
+ x
1036
+ 27
1037
+ TopLevelZeroOrMoreGenerator
1038
+ n
1039
+ x
1040
+ 3
1041
+ new
1042
+ p
1043
+ 5
1044
+ I
1045
+ -1
1046
+ I
1047
+ 31
1048
+ I
1049
+ 0
1050
+ I
1051
+ 32
1052
+ I
1053
+ b
1054
+ x
1055
+ 109
1056
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
1057
+ p
1058
+ 1
1059
+ x
1060
+ 4
1061
+ args
1062
+ n
1063
+ p
1064
+ 11
1065
+ I
1066
+ 2
1067
+ I
1068
+ 6
1069
+ I
1070
+ 1f
1071
+ I
1072
+ 24
1073
+ I
1074
+ 3c
1075
+ I
1076
+ 28
1077
+ I
1078
+ 49
1079
+ I
1080
+ 2d
1081
+ I
1082
+ 66
1083
+ I
1084
+ 31
1085
+ I
1086
+ 73
1087
+ x
1088
+ 109
1089
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
1090
+ p
1091
+ 0
1092
+ x
1093
+ 13
1094
+ attach_method
1095
+ p
1096
+ 5
1097
+ I
1098
+ 0
1099
+ I
1100
+ 1
1101
+ I
1102
+ 9
1103
+ I
1104
+ 3
1105
+ I
1106
+ 29
1107
+ x
1108
+ 109
1109
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb
1110
+ p
1111
+ 0