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
@@ -0,0 +1,1454 @@
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
+ 7
67
+ rattler
68
+ x
69
+ 7
70
+ require
71
+ x
72
+ 9
73
+ Optimizer
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
+ 9
93
+ Optimizer
94
+ i
95
+ 28
96
+ 5
97
+ 66
98
+ 99
99
+ 7
100
+ 0
101
+ 65
102
+ 49
103
+ 1
104
+ 2
105
+ 13
106
+ 99
107
+ 12
108
+ 7
109
+ 2
110
+ 12
111
+ 7
112
+ 3
113
+ 12
114
+ 65
115
+ 12
116
+ 49
117
+ 4
118
+ 4
119
+ 15
120
+ 49
121
+ 2
122
+ 0
123
+ 11
124
+ I
125
+ 6
126
+ I
127
+ 0
128
+ I
129
+ 0
130
+ I
131
+ 0
132
+ n
133
+ p
134
+ 5
135
+ x
136
+ 12
137
+ MatchJoining
138
+ x
139
+ 11
140
+ open_module
141
+ x
142
+ 15
143
+ __module_init__
144
+ M
145
+ 1
146
+ n
147
+ n
148
+ x
149
+ 12
150
+ MatchJoining
151
+ i
152
+ 138
153
+ 5
154
+ 66
155
+ 5
156
+ 45
157
+ 0
158
+ 1
159
+ 47
160
+ 49
161
+ 2
162
+ 1
163
+ 15
164
+ 5
165
+ 45
166
+ 3
167
+ 4
168
+ 43
169
+ 5
170
+ 47
171
+ 49
172
+ 2
173
+ 1
174
+ 15
175
+ 5
176
+ 48
177
+ 6
178
+ 15
179
+ 99
180
+ 7
181
+ 7
182
+ 7
183
+ 8
184
+ 65
185
+ 67
186
+ 49
187
+ 9
188
+ 0
189
+ 49
190
+ 10
191
+ 4
192
+ 15
193
+ 99
194
+ 7
195
+ 11
196
+ 7
197
+ 12
198
+ 65
199
+ 67
200
+ 49
201
+ 9
202
+ 0
203
+ 49
204
+ 10
205
+ 4
206
+ 15
207
+ 99
208
+ 7
209
+ 13
210
+ 7
211
+ 14
212
+ 65
213
+ 67
214
+ 49
215
+ 9
216
+ 0
217
+ 49
218
+ 10
219
+ 4
220
+ 15
221
+ 99
222
+ 7
223
+ 15
224
+ 7
225
+ 16
226
+ 65
227
+ 67
228
+ 49
229
+ 9
230
+ 0
231
+ 49
232
+ 10
233
+ 4
234
+ 15
235
+ 99
236
+ 7
237
+ 17
238
+ 7
239
+ 18
240
+ 65
241
+ 67
242
+ 49
243
+ 9
244
+ 0
245
+ 49
246
+ 10
247
+ 4
248
+ 15
249
+ 99
250
+ 7
251
+ 19
252
+ 7
253
+ 20
254
+ 65
255
+ 67
256
+ 49
257
+ 9
258
+ 0
259
+ 49
260
+ 10
261
+ 4
262
+ 15
263
+ 99
264
+ 7
265
+ 21
266
+ 7
267
+ 22
268
+ 65
269
+ 67
270
+ 49
271
+ 9
272
+ 0
273
+ 49
274
+ 10
275
+ 4
276
+ 15
277
+ 99
278
+ 7
279
+ 23
280
+ 7
281
+ 24
282
+ 65
283
+ 67
284
+ 49
285
+ 9
286
+ 0
287
+ 49
288
+ 10
289
+ 4
290
+ 11
291
+ I
292
+ 5
293
+ I
294
+ 0
295
+ I
296
+ 0
297
+ I
298
+ 0
299
+ n
300
+ p
301
+ 25
302
+ x
303
+ 17
304
+ CompositeReducing
305
+ n
306
+ x
307
+ 7
308
+ include
309
+ x
310
+ 7
311
+ Rattler
312
+ n
313
+ x
314
+ 7
315
+ Parsers
316
+ x
317
+ 9
318
+ protected
319
+ x
320
+ 12
321
+ _applies_to?
322
+ M
323
+ 1
324
+ n
325
+ n
326
+ x
327
+ 12
328
+ _applies_to?
329
+ i
330
+ 10
331
+ 5
332
+ 20
333
+ 0
334
+ 56
335
+ 0
336
+ 47
337
+ 50
338
+ 1
339
+ 1
340
+ 11
341
+ I
342
+ 5
343
+ I
344
+ 2
345
+ I
346
+ 2
347
+ I
348
+ 2
349
+ n
350
+ p
351
+ 2
352
+ M
353
+ 1
354
+ p
355
+ 2
356
+ x
357
+ 9
358
+ for_block
359
+ t
360
+ n
361
+ x
362
+ 12
363
+ _applies_to?
364
+ i
365
+ 12
366
+ 57
367
+ 19
368
+ 0
369
+ 15
370
+ 5
371
+ 20
372
+ 0
373
+ 47
374
+ 49
375
+ 0
376
+ 1
377
+ 11
378
+ I
379
+ 4
380
+ I
381
+ 1
382
+ I
383
+ 1
384
+ I
385
+ 1
386
+ n
387
+ p
388
+ 1
389
+ x
390
+ 15
391
+ eligible_child?
392
+ p
393
+ 3
394
+ I
395
+ 0
396
+ I
397
+ e
398
+ I
399
+ c
400
+ x
401
+ 93
402
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
403
+ p
404
+ 1
405
+ x
406
+ 1
407
+ _
408
+ x
409
+ 14
410
+ any_neighbors?
411
+ p
412
+ 5
413
+ I
414
+ -1
415
+ I
416
+ d
417
+ I
418
+ 0
419
+ I
420
+ e
421
+ I
422
+ a
423
+ x
424
+ 93
425
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
426
+ p
427
+ 2
428
+ x
429
+ 6
430
+ parser
431
+ x
432
+ 7
433
+ context
434
+ x
435
+ 17
436
+ method_visibility
437
+ x
438
+ 15
439
+ add_defn_method
440
+ x
441
+ 6
442
+ _apply
443
+ M
444
+ 1
445
+ n
446
+ n
447
+ x
448
+ 6
449
+ _apply
450
+ i
451
+ 38
452
+ 35
453
+ 0
454
+ 19
455
+ 2
456
+ 15
457
+ 35
458
+ 0
459
+ 19
460
+ 3
461
+ 15
462
+ 20
463
+ 0
464
+ 56
465
+ 0
466
+ 50
467
+ 1
468
+ 0
469
+ 15
470
+ 5
471
+ 20
472
+ 3
473
+ 56
474
+ 2
475
+ 47
476
+ 50
477
+ 3
478
+ 1
479
+ 15
480
+ 5
481
+ 20
482
+ 0
483
+ 20
484
+ 2
485
+ 47
486
+ 49
487
+ 4
488
+ 2
489
+ 11
490
+ I
491
+ 8
492
+ I
493
+ 5
494
+ I
495
+ 2
496
+ I
497
+ 2
498
+ n
499
+ p
500
+ 5
501
+ M
502
+ 1
503
+ p
504
+ 2
505
+ x
506
+ 9
507
+ for_block
508
+ t
509
+ n
510
+ x
511
+ 6
512
+ _apply
513
+ i
514
+ 53
515
+ 57
516
+ 22
517
+ 1
518
+ 4
519
+ 15
520
+ 5
521
+ 21
522
+ 1
523
+ 4
524
+ 47
525
+ 49
526
+ 0
527
+ 1
528
+ 9
529
+ 26
530
+ 21
531
+ 1
532
+ 3
533
+ 21
534
+ 1
535
+ 4
536
+ 49
537
+ 1
538
+ 1
539
+ 8
540
+ 52
541
+ 5
542
+ 21
543
+ 1
544
+ 3
545
+ 56
546
+ 2
547
+ 47
548
+ 50
549
+ 3
550
+ 1
551
+ 15
552
+ 35
553
+ 0
554
+ 22
555
+ 1
556
+ 3
557
+ 15
558
+ 21
559
+ 1
560
+ 2
561
+ 21
562
+ 1
563
+ 4
564
+ 49
565
+ 1
566
+ 1
567
+ 11
568
+ I
569
+ 4
570
+ I
571
+ 0
572
+ I
573
+ 1
574
+ I
575
+ 1
576
+ n
577
+ p
578
+ 4
579
+ x
580
+ 15
581
+ eligible_child?
582
+ x
583
+ 2
584
+ <<
585
+ M
586
+ 1
587
+ p
588
+ 2
589
+ x
590
+ 9
591
+ for_block
592
+ t
593
+ n
594
+ x
595
+ 6
596
+ _apply
597
+ i
598
+ 13
599
+ 57
600
+ 19
601
+ 0
602
+ 15
603
+ 21
604
+ 2
605
+ 2
606
+ 20
607
+ 0
608
+ 49
609
+ 0
610
+ 1
611
+ 11
612
+ I
613
+ 4
614
+ I
615
+ 1
616
+ I
617
+ 1
618
+ I
619
+ 1
620
+ n
621
+ p
622
+ 1
623
+ x
624
+ 2
625
+ <<
626
+ p
627
+ 3
628
+ I
629
+ 0
630
+ I
631
+ 18
632
+ I
633
+ d
634
+ x
635
+ 93
636
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
637
+ p
638
+ 1
639
+ x
640
+ 5
641
+ match
642
+ x
643
+ 12
644
+ join_matches
645
+ p
646
+ 13
647
+ I
648
+ 0
649
+ I
650
+ 14
651
+ I
652
+ 5
653
+ I
654
+ 15
655
+ I
656
+ f
657
+ I
658
+ 16
659
+ I
660
+ 1a
661
+ I
662
+ 18
663
+ I
664
+ 25
665
+ I
666
+ 19
667
+ I
668
+ 2b
669
+ I
670
+ 1a
671
+ I
672
+ 35
673
+ x
674
+ 93
675
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
676
+ p
677
+ 0
678
+ x
679
+ 4
680
+ each
681
+ M
682
+ 1
683
+ p
684
+ 2
685
+ x
686
+ 9
687
+ for_block
688
+ t
689
+ n
690
+ x
691
+ 6
692
+ _apply
693
+ i
694
+ 13
695
+ 57
696
+ 19
697
+ 0
698
+ 15
699
+ 21
700
+ 1
701
+ 2
702
+ 20
703
+ 0
704
+ 49
705
+ 0
706
+ 1
707
+ 11
708
+ I
709
+ 4
710
+ I
711
+ 1
712
+ I
713
+ 1
714
+ I
715
+ 1
716
+ n
717
+ p
718
+ 1
719
+ x
720
+ 2
721
+ <<
722
+ p
723
+ 3
724
+ I
725
+ 0
726
+ I
727
+ 1d
728
+ I
729
+ d
730
+ x
731
+ 93
732
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
733
+ p
734
+ 1
735
+ x
736
+ 5
737
+ match
738
+ x
739
+ 12
740
+ join_matches
741
+ x
742
+ 13
743
+ finish_reduce
744
+ p
745
+ 13
746
+ I
747
+ -1
748
+ I
749
+ 11
750
+ I
751
+ 0
752
+ I
753
+ 12
754
+ I
755
+ 5
756
+ I
757
+ 13
758
+ I
759
+ a
760
+ I
761
+ 14
762
+ I
763
+ 12
764
+ I
765
+ 1d
766
+ I
767
+ 1c
768
+ I
769
+ 1e
770
+ I
771
+ 26
772
+ x
773
+ 93
774
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
775
+ p
776
+ 5
777
+ x
778
+ 6
779
+ parser
780
+ x
781
+ 7
782
+ context
783
+ x
784
+ 12
785
+ new_children
786
+ x
787
+ 7
788
+ matches
789
+ x
790
+ 5
791
+ child
792
+ x
793
+ 14
794
+ any_neighbors?
795
+ M
796
+ 1
797
+ n
798
+ n
799
+ x
800
+ 14
801
+ any_neighbors?
802
+ i
803
+ 12
804
+ 20
805
+ 0
806
+ 80
807
+ 49
808
+ 0
809
+ 1
810
+ 56
811
+ 1
812
+ 50
813
+ 2
814
+ 0
815
+ 11
816
+ I
817
+ 3
818
+ I
819
+ 1
820
+ I
821
+ 1
822
+ I
823
+ 1
824
+ n
825
+ p
826
+ 3
827
+ x
828
+ 9
829
+ each_cons
830
+ M
831
+ 1
832
+ p
833
+ 2
834
+ x
835
+ 9
836
+ for_block
837
+ t
838
+ n
839
+ x
840
+ 14
841
+ any_neighbors?
842
+ i
843
+ 12
844
+ 57
845
+ 19
846
+ 0
847
+ 15
848
+ 20
849
+ 0
850
+ 56
851
+ 0
852
+ 50
853
+ 1
854
+ 0
855
+ 11
856
+ I
857
+ 4
858
+ I
859
+ 1
860
+ I
861
+ 1
862
+ I
863
+ 1
864
+ n
865
+ p
866
+ 2
867
+ M
868
+ 1
869
+ p
870
+ 2
871
+ x
872
+ 9
873
+ for_block
874
+ t
875
+ n
876
+ x
877
+ 14
878
+ any_neighbors?
879
+ i
880
+ 9
881
+ 57
882
+ 19
883
+ 0
884
+ 15
885
+ 20
886
+ 0
887
+ 60
888
+ 1
889
+ 11
890
+ I
891
+ 3
892
+ I
893
+ 1
894
+ I
895
+ 1
896
+ I
897
+ 1
898
+ n
899
+ p
900
+ 0
901
+ p
902
+ 3
903
+ I
904
+ 0
905
+ I
906
+ 22
907
+ I
908
+ 9
909
+ x
910
+ 93
911
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
912
+ p
913
+ 1
914
+ x
915
+ 1
916
+ _
917
+ x
918
+ 4
919
+ all?
920
+ p
921
+ 3
922
+ I
923
+ 0
924
+ I
925
+ 22
926
+ I
927
+ c
928
+ x
929
+ 93
930
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
931
+ p
932
+ 1
933
+ x
934
+ 1
935
+ a
936
+ x
937
+ 4
938
+ any?
939
+ p
940
+ 5
941
+ I
942
+ -1
943
+ I
944
+ 21
945
+ I
946
+ 0
947
+ I
948
+ 22
949
+ I
950
+ c
951
+ x
952
+ 93
953
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
954
+ p
955
+ 1
956
+ x
957
+ 6
958
+ parser
959
+ x
960
+ 12
961
+ join_matches
962
+ M
963
+ 1
964
+ n
965
+ n
966
+ x
967
+ 12
968
+ join_matches
969
+ i
970
+ 30
971
+ 20
972
+ 0
973
+ 49
974
+ 0
975
+ 0
976
+ 9
977
+ 10
978
+ 1
979
+ 8
980
+ 29
981
+ 5
982
+ 5
983
+ 5
984
+ 20
985
+ 0
986
+ 47
987
+ 49
988
+ 1
989
+ 1
990
+ 47
991
+ 49
992
+ 2
993
+ 1
994
+ 47
995
+ 49
996
+ 3
997
+ 1
998
+ 60
999
+ 1
1000
+ 11
1001
+ I
1002
+ 5
1003
+ I
1004
+ 1
1005
+ I
1006
+ 1
1007
+ I
1008
+ 1
1009
+ n
1010
+ p
1011
+ 4
1012
+ x
1013
+ 6
1014
+ empty?
1015
+ x
1016
+ 15
1017
+ create_patterns
1018
+ x
1019
+ 13
1020
+ join_patterns
1021
+ x
1022
+ 12
1023
+ create_match
1024
+ p
1025
+ 7
1026
+ I
1027
+ -1
1028
+ I
1029
+ 25
1030
+ I
1031
+ 0
1032
+ I
1033
+ 26
1034
+ I
1035
+ a
1036
+ I
1037
+ 27
1038
+ I
1039
+ 1e
1040
+ x
1041
+ 93
1042
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1043
+ p
1044
+ 1
1045
+ x
1046
+ 7
1047
+ matches
1048
+ x
1049
+ 15
1050
+ create_patterns
1051
+ M
1052
+ 1
1053
+ n
1054
+ n
1055
+ x
1056
+ 15
1057
+ create_patterns
1058
+ i
1059
+ 8
1060
+ 20
1061
+ 0
1062
+ 56
1063
+ 0
1064
+ 50
1065
+ 1
1066
+ 0
1067
+ 11
1068
+ I
1069
+ 3
1070
+ I
1071
+ 1
1072
+ I
1073
+ 1
1074
+ I
1075
+ 1
1076
+ n
1077
+ p
1078
+ 2
1079
+ M
1080
+ 1
1081
+ p
1082
+ 2
1083
+ x
1084
+ 9
1085
+ for_block
1086
+ t
1087
+ n
1088
+ x
1089
+ 15
1090
+ create_patterns
1091
+ i
1092
+ 12
1093
+ 57
1094
+ 19
1095
+ 0
1096
+ 15
1097
+ 5
1098
+ 20
1099
+ 0
1100
+ 47
1101
+ 49
1102
+ 0
1103
+ 1
1104
+ 11
1105
+ I
1106
+ 4
1107
+ I
1108
+ 1
1109
+ I
1110
+ 1
1111
+ I
1112
+ 1
1113
+ n
1114
+ p
1115
+ 1
1116
+ x
1117
+ 14
1118
+ create_pattern
1119
+ p
1120
+ 3
1121
+ I
1122
+ 0
1123
+ I
1124
+ 2c
1125
+ I
1126
+ c
1127
+ x
1128
+ 93
1129
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1130
+ p
1131
+ 1
1132
+ x
1133
+ 1
1134
+ _
1135
+ x
1136
+ 3
1137
+ map
1138
+ p
1139
+ 5
1140
+ I
1141
+ -1
1142
+ I
1143
+ 2b
1144
+ I
1145
+ 0
1146
+ I
1147
+ 2c
1148
+ I
1149
+ 8
1150
+ x
1151
+ 93
1152
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1153
+ p
1154
+ 1
1155
+ x
1156
+ 7
1157
+ matches
1158
+ x
1159
+ 13
1160
+ join_patterns
1161
+ M
1162
+ 1
1163
+ n
1164
+ n
1165
+ x
1166
+ 13
1167
+ join_patterns
1168
+ i
1169
+ 6
1170
+ 20
1171
+ 0
1172
+ 49
1173
+ 0
1174
+ 0
1175
+ 11
1176
+ I
1177
+ 2
1178
+ I
1179
+ 1
1180
+ I
1181
+ 1
1182
+ I
1183
+ 1
1184
+ n
1185
+ p
1186
+ 1
1187
+ x
1188
+ 4
1189
+ join
1190
+ p
1191
+ 5
1192
+ I
1193
+ -1
1194
+ I
1195
+ 2f
1196
+ I
1197
+ 0
1198
+ I
1199
+ 30
1200
+ I
1201
+ 6
1202
+ x
1203
+ 93
1204
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1205
+ p
1206
+ 1
1207
+ x
1208
+ 8
1209
+ patterns
1210
+ x
1211
+ 14
1212
+ create_pattern
1213
+ M
1214
+ 1
1215
+ n
1216
+ n
1217
+ x
1218
+ 14
1219
+ create_pattern
1220
+ i
1221
+ 9
1222
+ 20
1223
+ 0
1224
+ 49
1225
+ 0
1226
+ 0
1227
+ 49
1228
+ 1
1229
+ 0
1230
+ 11
1231
+ I
1232
+ 2
1233
+ I
1234
+ 1
1235
+ I
1236
+ 1
1237
+ I
1238
+ 1
1239
+ n
1240
+ p
1241
+ 2
1242
+ x
1243
+ 2
1244
+ re
1245
+ x
1246
+ 6
1247
+ source
1248
+ p
1249
+ 5
1250
+ I
1251
+ -1
1252
+ I
1253
+ 33
1254
+ I
1255
+ 0
1256
+ I
1257
+ 34
1258
+ I
1259
+ 9
1260
+ x
1261
+ 93
1262
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1263
+ p
1264
+ 1
1265
+ x
1266
+ 5
1267
+ match
1268
+ x
1269
+ 12
1270
+ create_match
1271
+ M
1272
+ 1
1273
+ n
1274
+ n
1275
+ x
1276
+ 12
1277
+ create_match
1278
+ i
1279
+ 35
1280
+ 45
1281
+ 0
1282
+ 1
1283
+ 45
1284
+ 2
1285
+ 3
1286
+ 13
1287
+ 71
1288
+ 4
1289
+ 47
1290
+ 9
1291
+ 26
1292
+ 47
1293
+ 49
1294
+ 5
1295
+ 0
1296
+ 13
1297
+ 20
1298
+ 0
1299
+ 47
1300
+ 49
1301
+ 6
1302
+ 1
1303
+ 15
1304
+ 8
1305
+ 31
1306
+ 20
1307
+ 0
1308
+ 49
1309
+ 4
1310
+ 1
1311
+ 49
1312
+ 7
1313
+ 1
1314
+ 11
1315
+ I
1316
+ 5
1317
+ I
1318
+ 1
1319
+ I
1320
+ 1
1321
+ I
1322
+ 1
1323
+ n
1324
+ p
1325
+ 8
1326
+ x
1327
+ 5
1328
+ Match
1329
+ n
1330
+ x
1331
+ 6
1332
+ Regexp
1333
+ n
1334
+ x
1335
+ 3
1336
+ new
1337
+ x
1338
+ 8
1339
+ allocate
1340
+ x
1341
+ 10
1342
+ initialize
1343
+ x
1344
+ 2
1345
+ []
1346
+ p
1347
+ 5
1348
+ I
1349
+ -1
1350
+ I
1351
+ 37
1352
+ I
1353
+ 0
1354
+ I
1355
+ 38
1356
+ I
1357
+ 23
1358
+ x
1359
+ 93
1360
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1361
+ p
1362
+ 1
1363
+ x
1364
+ 7
1365
+ pattern
1366
+ p
1367
+ 23
1368
+ I
1369
+ 2
1370
+ I
1371
+ 7
1372
+ I
1373
+ b
1374
+ I
1375
+ 9
1376
+ I
1377
+ 16
1378
+ I
1379
+ b
1380
+ I
1381
+ 1a
1382
+ I
1383
+ d
1384
+ I
1385
+ 28
1386
+ I
1387
+ 11
1388
+ I
1389
+ 36
1390
+ I
1391
+ 21
1392
+ I
1393
+ 44
1394
+ I
1395
+ 25
1396
+ I
1397
+ 52
1398
+ I
1399
+ 2b
1400
+ I
1401
+ 60
1402
+ I
1403
+ 2f
1404
+ I
1405
+ 6e
1406
+ I
1407
+ 33
1408
+ I
1409
+ 7c
1410
+ I
1411
+ 37
1412
+ I
1413
+ 8a
1414
+ x
1415
+ 93
1416
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1417
+ p
1418
+ 0
1419
+ x
1420
+ 13
1421
+ attach_method
1422
+ p
1423
+ 3
1424
+ I
1425
+ 2
1426
+ I
1427
+ 5
1428
+ I
1429
+ 1c
1430
+ x
1431
+ 93
1432
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1433
+ p
1434
+ 0
1435
+ x
1436
+ 13
1437
+ attach_method
1438
+ p
1439
+ 5
1440
+ I
1441
+ 0
1442
+ I
1443
+ 1
1444
+ I
1445
+ 9
1446
+ I
1447
+ 3
1448
+ I
1449
+ 29
1450
+ x
1451
+ 93
1452
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/match_joining.rb
1453
+ p
1454
+ 0