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,174 @@
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
+ 26
67
+ rattler/back_end/optimizer
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
+ 18
96
+ 5
97
+ 66
98
+ 65
99
+ 7
100
+ 0
101
+ 45
102
+ 1
103
+ 2
104
+ 45
105
+ 3
106
+ 4
107
+ 49
108
+ 5
109
+ 1
110
+ 49
111
+ 6
112
+ 2
113
+ 11
114
+ I
115
+ 4
116
+ I
117
+ 0
118
+ I
119
+ 0
120
+ I
121
+ 0
122
+ n
123
+ p
124
+ 7
125
+ x
126
+ 20
127
+ JoinPredicateOrMatch
128
+ x
129
+ 24
130
+ JoinPredicateOrBareMatch
131
+ n
132
+ x
133
+ 26
134
+ JoinPredicateOrNestedMatch
135
+ n
136
+ x
137
+ 2
138
+ >>
139
+ x
140
+ 9
141
+ const_set
142
+ p
143
+ 3
144
+ I
145
+ 2
146
+ I
147
+ 10
148
+ I
149
+ 12
150
+ x
151
+ 103
152
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_match.rb
153
+ p
154
+ 0
155
+ x
156
+ 13
157
+ attach_method
158
+ p
159
+ 5
160
+ I
161
+ 0
162
+ I
163
+ 7
164
+ I
165
+ 9
166
+ I
167
+ 9
168
+ I
169
+ 29
170
+ x
171
+ 103
172
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_match.rb
173
+ p
174
+ 0
@@ -0,0 +1,616 @@
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
+ 26
140
+ JoinPredicateOrNestedMatch
141
+ x
142
+ 24
143
+ JoinPredicateOrBareMatch
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
+ 26
157
+ JoinPredicateOrNestedMatch
158
+ i
159
+ 68
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
+ 11
228
+ I
229
+ 5
230
+ I
231
+ 0
232
+ I
233
+ 0
234
+ I
235
+ 0
236
+ n
237
+ p
238
+ 15
239
+ x
240
+ 17
241
+ CompositeReducing
242
+ n
243
+ x
244
+ 7
245
+ include
246
+ x
247
+ 7
248
+ Rattler
249
+ n
250
+ x
251
+ 7
252
+ Parsers
253
+ x
254
+ 9
255
+ protected
256
+ x
257
+ 6
258
+ reduce
259
+ M
260
+ 1
261
+ n
262
+ n
263
+ x
264
+ 6
265
+ reduce
266
+ i
267
+ 14
268
+ 20
269
+ 0
270
+ 56
271
+ 0
272
+ 50
273
+ 1
274
+ 0
275
+ 54
276
+ 89
277
+ 2
278
+ 49
279
+ 3
280
+ 1
281
+ 11
282
+ I
283
+ 3
284
+ I
285
+ 1
286
+ I
287
+ 0
288
+ I
289
+ 0
290
+ I
291
+ 0
292
+ p
293
+ 4
294
+ M
295
+ 1
296
+ p
297
+ 2
298
+ x
299
+ 9
300
+ for_block
301
+ t
302
+ n
303
+ x
304
+ 6
305
+ reduce
306
+ i
307
+ 13
308
+ 57
309
+ 19
310
+ 0
311
+ 15
312
+ 20
313
+ 0
314
+ 45
315
+ 0
316
+ 1
317
+ 49
318
+ 2
319
+ 1
320
+ 11
321
+ I
322
+ 4
323
+ I
324
+ 1
325
+ I
326
+ 1
327
+ I
328
+ 1
329
+ n
330
+ p
331
+ 3
332
+ x
333
+ 4
334
+ Skip
335
+ n
336
+ x
337
+ 5
338
+ is_a?
339
+ p
340
+ 3
341
+ I
342
+ 0
343
+ I
344
+ 18
345
+ I
346
+ d
347
+ x
348
+ 110
349
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
350
+ p
351
+ 1
352
+ x
353
+ 1
354
+ _
355
+ x
356
+ 4
357
+ find
358
+ x
359
+ 6
360
+ reduce
361
+ x
362
+ 10
363
+ with_child
364
+ p
365
+ 5
366
+ I
367
+ -1
368
+ I
369
+ 17
370
+ I
371
+ 0
372
+ I
373
+ 18
374
+ I
375
+ e
376
+ x
377
+ 110
378
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
379
+ p
380
+ 1
381
+ x
382
+ 4
383
+ pair
384
+ x
385
+ 17
386
+ method_visibility
387
+ x
388
+ 15
389
+ add_defn_method
390
+ x
391
+ 15
392
+ prepare_pattern
393
+ M
394
+ 1
395
+ n
396
+ n
397
+ x
398
+ 15
399
+ prepare_pattern
400
+ i
401
+ 24
402
+ 20
403
+ 0
404
+ 45
405
+ 0
406
+ 1
407
+ 49
408
+ 2
409
+ 1
410
+ 9
411
+ 17
412
+ 20
413
+ 0
414
+ 49
415
+ 3
416
+ 0
417
+ 8
418
+ 19
419
+ 20
420
+ 0
421
+ 54
422
+ 52
423
+ 4
424
+ 1
425
+ 11
426
+ I
427
+ 3
428
+ I
429
+ 1
430
+ I
431
+ 1
432
+ I
433
+ 1
434
+ n
435
+ p
436
+ 5
437
+ x
438
+ 4
439
+ Skip
440
+ n
441
+ x
442
+ 5
443
+ is_a?
444
+ x
445
+ 5
446
+ child
447
+ x
448
+ 15
449
+ prepare_pattern
450
+ p
451
+ 5
452
+ I
453
+ -1
454
+ I
455
+ 1b
456
+ I
457
+ 0
458
+ I
459
+ 1c
460
+ I
461
+ 18
462
+ x
463
+ 110
464
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
465
+ p
466
+ 1
467
+ x
468
+ 6
469
+ parser
470
+ x
471
+ 15
472
+ eligible_match?
473
+ M
474
+ 1
475
+ n
476
+ n
477
+ x
478
+ 15
479
+ eligible_match?
480
+ i
481
+ 22
482
+ 20
483
+ 0
484
+ 45
485
+ 0
486
+ 1
487
+ 49
488
+ 2
489
+ 1
490
+ 13
491
+ 9
492
+ 21
493
+ 15
494
+ 20
495
+ 0
496
+ 49
497
+ 3
498
+ 0
499
+ 54
500
+ 52
501
+ 4
502
+ 1
503
+ 11
504
+ I
505
+ 3
506
+ I
507
+ 1
508
+ I
509
+ 1
510
+ I
511
+ 1
512
+ n
513
+ p
514
+ 5
515
+ x
516
+ 4
517
+ Skip
518
+ n
519
+ x
520
+ 5
521
+ is_a?
522
+ x
523
+ 5
524
+ child
525
+ x
526
+ 15
527
+ eligible_match?
528
+ p
529
+ 5
530
+ I
531
+ -1
532
+ I
533
+ 1f
534
+ I
535
+ 0
536
+ I
537
+ 20
538
+ I
539
+ 16
540
+ x
541
+ 110
542
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
543
+ p
544
+ 1
545
+ x
546
+ 6
547
+ parser
548
+ p
549
+ 13
550
+ I
551
+ 2
552
+ I
553
+ 11
554
+ I
555
+ b
556
+ I
557
+ 13
558
+ I
559
+ 16
560
+ I
561
+ 15
562
+ I
563
+ 1a
564
+ I
565
+ 17
566
+ I
567
+ 28
568
+ I
569
+ 1b
570
+ I
571
+ 36
572
+ I
573
+ 1f
574
+ I
575
+ 44
576
+ x
577
+ 110
578
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
579
+ p
580
+ 0
581
+ x
582
+ 13
583
+ attach_method
584
+ p
585
+ 3
586
+ I
587
+ 2
588
+ I
589
+ 10
590
+ I
591
+ 1f
592
+ x
593
+ 110
594
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
595
+ p
596
+ 0
597
+ x
598
+ 13
599
+ attach_method
600
+ p
601
+ 5
602
+ I
603
+ 0
604
+ I
605
+ 7
606
+ I
607
+ 9
608
+ I
609
+ 9
610
+ I
611
+ 29
612
+ x
613
+ 110
614
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rb
615
+ p
616
+ 0