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,17 +15,11 @@ module Rattler::BackEnd::ParserGenerator
15
15
  @g << 'false'
16
16
  end
17
17
 
18
- def gen_skip_top_level(list, scope={})
19
- (@g << "#{saved_pos_name} = nil").newline
20
- @g << 'while '
21
- generate list.child, :intermediate_skip, scope
22
- @g.block '' do
23
- (@g << "#{saved_pos_name} = @scanner.pos").newline
24
- @g << 'break unless '
25
- generate list.sep_parser, :intermediate_skip, scope
26
- end.newline
27
- @g << "@scanner.pos = #{saved_pos_name} unless #{saved_pos_name}.nil?"
28
- @g.newline << true
18
+ def gen_skip(list, scope={})
19
+ expr :block do
20
+ gen_skipping list, scope
21
+ @g.newline << 'true'
22
+ end
29
23
  end
30
24
 
31
25
  protected
@@ -0,0 +1,1068 @@
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
+ 13
224
+ ListGenerator
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
+ 13
241
+ ListGenerator
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
+ 14
337
+ ListGenerating
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
+ 101
421
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_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
+ 101
511
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_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
+ 24
590
+ 5
591
+ 21
592
+ 1
593
+ 0
594
+ 21
595
+ 1
596
+ 1
597
+ 47
598
+ 49
599
+ 0
600
+ 2
601
+ 15
602
+ 39
603
+ 1
604
+ 49
605
+ 2
606
+ 0
607
+ 7
608
+ 3
609
+ 64
610
+ 49
611
+ 4
612
+ 1
613
+ 11
614
+ I
615
+ 4
616
+ I
617
+ 0
618
+ I
619
+ 0
620
+ I
621
+ 0
622
+ I
623
+ -2
624
+ p
625
+ 5
626
+ x
627
+ 12
628
+ gen_skipping
629
+ x
630
+ 2
631
+ @g
632
+ x
633
+ 7
634
+ newline
635
+ s
636
+ 4
637
+ true
638
+ x
639
+ 2
640
+ <<
641
+ p
642
+ 5
643
+ I
644
+ 0
645
+ I
646
+ 14
647
+ I
648
+ c
649
+ I
650
+ 15
651
+ I
652
+ 18
653
+ x
654
+ 101
655
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
656
+ p
657
+ 0
658
+ x
659
+ 4
660
+ expr
661
+ p
662
+ 5
663
+ I
664
+ -1
665
+ I
666
+ 12
667
+ I
668
+ e
669
+ I
670
+ 13
671
+ I
672
+ 18
673
+ x
674
+ 101
675
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
676
+ p
677
+ 2
678
+ x
679
+ 4
680
+ list
681
+ x
682
+ 5
683
+ scope
684
+ x
685
+ 9
686
+ protected
687
+ x
688
+ 10
689
+ gen_result
690
+ M
691
+ 1
692
+ n
693
+ n
694
+ x
695
+ 10
696
+ gen_result
697
+ i
698
+ 8
699
+ 39
700
+ 0
701
+ 20
702
+ 0
703
+ 49
704
+ 1
705
+ 1
706
+ 11
707
+ I
708
+ 3
709
+ I
710
+ 1
711
+ I
712
+ 1
713
+ I
714
+ 1
715
+ n
716
+ p
717
+ 2
718
+ x
719
+ 2
720
+ @g
721
+ x
722
+ 2
723
+ <<
724
+ p
725
+ 5
726
+ I
727
+ -1
728
+ I
729
+ 1b
730
+ I
731
+ 0
732
+ I
733
+ 1c
734
+ I
735
+ 8
736
+ x
737
+ 101
738
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
739
+ p
740
+ 1
741
+ x
742
+ 8
743
+ captures
744
+ p
745
+ 15
746
+ I
747
+ 2
748
+ I
749
+ 7
750
+ I
751
+ b
752
+ I
753
+ 8
754
+ I
755
+ 14
756
+ I
757
+ a
758
+ I
759
+ 22
760
+ I
761
+ e
762
+ I
763
+ 30
764
+ I
765
+ 12
766
+ I
767
+ 3e
768
+ I
769
+ 19
770
+ I
771
+ 42
772
+ I
773
+ 1b
774
+ I
775
+ 50
776
+ x
777
+ 101
778
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
779
+ p
780
+ 0
781
+ x
782
+ 13
783
+ attach_method
784
+ x
785
+ 19
786
+ NestedListGenerator
787
+ n
788
+ M
789
+ 1
790
+ n
791
+ n
792
+ x
793
+ 19
794
+ NestedListGenerator
795
+ i
796
+ 11
797
+ 5
798
+ 66
799
+ 5
800
+ 45
801
+ 0
802
+ 1
803
+ 47
804
+ 49
805
+ 2
806
+ 1
807
+ 11
808
+ I
809
+ 2
810
+ I
811
+ 0
812
+ I
813
+ 0
814
+ I
815
+ 0
816
+ n
817
+ p
818
+ 3
819
+ x
820
+ 6
821
+ Nested
822
+ n
823
+ x
824
+ 7
825
+ include
826
+ p
827
+ 3
828
+ I
829
+ 2
830
+ I
831
+ 23
832
+ I
833
+ b
834
+ x
835
+ 101
836
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
837
+ p
838
+ 0
839
+ x
840
+ 6
841
+ nested
842
+ M
843
+ 1
844
+ n
845
+ n
846
+ x
847
+ 6
848
+ nested
849
+ i
850
+ 11
851
+ 45
852
+ 0
853
+ 1
854
+ 20
855
+ 0
856
+ 36
857
+ 1
858
+ 51
859
+ 2
860
+ 0
861
+ 11
862
+ I
863
+ 4
864
+ I
865
+ 1
866
+ I
867
+ 0
868
+ I
869
+ 0
870
+ I
871
+ 0
872
+ p
873
+ 3
874
+ x
875
+ 19
876
+ NestedListGenerator
877
+ n
878
+ x
879
+ 3
880
+ new
881
+ p
882
+ 5
883
+ I
884
+ -1
885
+ I
886
+ 26
887
+ I
888
+ 0
889
+ I
890
+ 27
891
+ I
892
+ b
893
+ x
894
+ 101
895
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
896
+ p
897
+ 1
898
+ x
899
+ 4
900
+ args
901
+ n
902
+ x
903
+ 21
904
+ TopLevelListGenerator
905
+ n
906
+ M
907
+ 1
908
+ n
909
+ n
910
+ x
911
+ 21
912
+ TopLevelListGenerator
913
+ i
914
+ 11
915
+ 5
916
+ 66
917
+ 5
918
+ 45
919
+ 0
920
+ 1
921
+ 47
922
+ 49
923
+ 2
924
+ 1
925
+ 11
926
+ I
927
+ 2
928
+ I
929
+ 0
930
+ I
931
+ 0
932
+ I
933
+ 0
934
+ n
935
+ p
936
+ 3
937
+ x
938
+ 8
939
+ TopLevel
940
+ n
941
+ x
942
+ 7
943
+ include
944
+ p
945
+ 3
946
+ I
947
+ 2
948
+ I
949
+ 2c
950
+ I
951
+ b
952
+ x
953
+ 101
954
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
955
+ p
956
+ 0
957
+ x
958
+ 9
959
+ top_level
960
+ M
961
+ 1
962
+ n
963
+ n
964
+ x
965
+ 9
966
+ top_level
967
+ i
968
+ 11
969
+ 45
970
+ 0
971
+ 1
972
+ 20
973
+ 0
974
+ 36
975
+ 1
976
+ 51
977
+ 2
978
+ 0
979
+ 11
980
+ I
981
+ 4
982
+ I
983
+ 1
984
+ I
985
+ 0
986
+ I
987
+ 0
988
+ I
989
+ 0
990
+ p
991
+ 3
992
+ x
993
+ 21
994
+ TopLevelListGenerator
995
+ n
996
+ x
997
+ 3
998
+ new
999
+ p
1000
+ 5
1001
+ I
1002
+ -1
1003
+ I
1004
+ 2f
1005
+ I
1006
+ 0
1007
+ I
1008
+ 30
1009
+ I
1010
+ b
1011
+ x
1012
+ 101
1013
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
1014
+ p
1015
+ 1
1016
+ x
1017
+ 4
1018
+ args
1019
+ n
1020
+ p
1021
+ 11
1022
+ I
1023
+ 2
1024
+ I
1025
+ 6
1026
+ I
1027
+ 1f
1028
+ I
1029
+ 22
1030
+ I
1031
+ 3c
1032
+ I
1033
+ 26
1034
+ I
1035
+ 49
1036
+ I
1037
+ 2b
1038
+ I
1039
+ 66
1040
+ I
1041
+ 2f
1042
+ I
1043
+ 73
1044
+ x
1045
+ 101
1046
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
1047
+ p
1048
+ 0
1049
+ x
1050
+ 13
1051
+ attach_method
1052
+ p
1053
+ 5
1054
+ I
1055
+ 0
1056
+ I
1057
+ 1
1058
+ I
1059
+ 9
1060
+ I
1061
+ 3
1062
+ I
1063
+ 29
1064
+ x
1065
+ 101
1066
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generator.rb
1067
+ p
1068
+ 0