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