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,2000 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 39
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
+ 49
29
+ 5
30
+ 2
31
+ 13
32
+ 99
33
+ 12
34
+ 7
35
+ 6
36
+ 12
37
+ 7
38
+ 7
39
+ 12
40
+ 65
41
+ 12
42
+ 49
43
+ 8
44
+ 4
45
+ 15
46
+ 49
47
+ 6
48
+ 0
49
+ 15
50
+ 2
51
+ 11
52
+ I
53
+ 6
54
+ I
55
+ 0
56
+ I
57
+ 0
58
+ I
59
+ 0
60
+ n
61
+ p
62
+ 9
63
+ s
64
+ 7
65
+ rattler
66
+ x
67
+ 7
68
+ require
69
+ x
70
+ 7
71
+ BackEnd
72
+ x
73
+ 7
74
+ Rattler
75
+ n
76
+ x
77
+ 17
78
+ open_module_under
79
+ x
80
+ 15
81
+ __module_init__
82
+ M
83
+ 1
84
+ n
85
+ n
86
+ x
87
+ 7
88
+ BackEnd
89
+ i
90
+ 28
91
+ 5
92
+ 66
93
+ 99
94
+ 7
95
+ 0
96
+ 65
97
+ 49
98
+ 1
99
+ 2
100
+ 13
101
+ 99
102
+ 12
103
+ 7
104
+ 2
105
+ 12
106
+ 7
107
+ 3
108
+ 12
109
+ 65
110
+ 12
111
+ 49
112
+ 4
113
+ 4
114
+ 15
115
+ 49
116
+ 2
117
+ 0
118
+ 11
119
+ I
120
+ 6
121
+ I
122
+ 0
123
+ I
124
+ 0
125
+ I
126
+ 0
127
+ n
128
+ p
129
+ 5
130
+ x
131
+ 9
132
+ Optimizer
133
+ x
134
+ 11
135
+ open_module
136
+ x
137
+ 15
138
+ __module_init__
139
+ M
140
+ 1
141
+ n
142
+ n
143
+ x
144
+ 9
145
+ Optimizer
146
+ i
147
+ 292
148
+ 5
149
+ 66
150
+ 5
151
+ 99
152
+ 12
153
+ 49
154
+ 0
155
+ 1
156
+ 13
157
+ 99
158
+ 12
159
+ 7
160
+ 1
161
+ 12
162
+ 7
163
+ 2
164
+ 12
165
+ 65
166
+ 12
167
+ 49
168
+ 3
169
+ 4
170
+ 15
171
+ 54
172
+ 50
173
+ 1
174
+ 0
175
+ 15
176
+ 5
177
+ 7
178
+ 4
179
+ 7
180
+ 5
181
+ 64
182
+ 47
183
+ 49
184
+ 6
185
+ 2
186
+ 15
187
+ 5
188
+ 7
189
+ 7
190
+ 7
191
+ 8
192
+ 64
193
+ 47
194
+ 49
195
+ 6
196
+ 2
197
+ 15
198
+ 5
199
+ 7
200
+ 9
201
+ 7
202
+ 10
203
+ 64
204
+ 47
205
+ 49
206
+ 6
207
+ 2
208
+ 15
209
+ 5
210
+ 7
211
+ 11
212
+ 7
213
+ 12
214
+ 64
215
+ 47
216
+ 49
217
+ 6
218
+ 2
219
+ 15
220
+ 5
221
+ 7
222
+ 13
223
+ 7
224
+ 14
225
+ 64
226
+ 47
227
+ 49
228
+ 6
229
+ 2
230
+ 15
231
+ 5
232
+ 7
233
+ 15
234
+ 7
235
+ 16
236
+ 64
237
+ 47
238
+ 49
239
+ 6
240
+ 2
241
+ 15
242
+ 5
243
+ 7
244
+ 17
245
+ 7
246
+ 18
247
+ 64
248
+ 47
249
+ 49
250
+ 6
251
+ 2
252
+ 15
253
+ 5
254
+ 7
255
+ 19
256
+ 7
257
+ 20
258
+ 64
259
+ 47
260
+ 49
261
+ 6
262
+ 2
263
+ 15
264
+ 5
265
+ 7
266
+ 21
267
+ 7
268
+ 22
269
+ 64
270
+ 47
271
+ 49
272
+ 6
273
+ 2
274
+ 15
275
+ 5
276
+ 7
277
+ 23
278
+ 7
279
+ 24
280
+ 64
281
+ 47
282
+ 49
283
+ 6
284
+ 2
285
+ 15
286
+ 5
287
+ 7
288
+ 25
289
+ 7
290
+ 26
291
+ 64
292
+ 47
293
+ 49
294
+ 6
295
+ 2
296
+ 15
297
+ 5
298
+ 7
299
+ 27
300
+ 7
301
+ 28
302
+ 64
303
+ 47
304
+ 49
305
+ 6
306
+ 2
307
+ 15
308
+ 5
309
+ 7
310
+ 29
311
+ 7
312
+ 30
313
+ 64
314
+ 47
315
+ 49
316
+ 6
317
+ 2
318
+ 15
319
+ 5
320
+ 7
321
+ 31
322
+ 7
323
+ 32
324
+ 64
325
+ 47
326
+ 49
327
+ 6
328
+ 2
329
+ 15
330
+ 5
331
+ 7
332
+ 33
333
+ 7
334
+ 34
335
+ 64
336
+ 47
337
+ 49
338
+ 6
339
+ 2
340
+ 15
341
+ 5
342
+ 7
343
+ 35
344
+ 7
345
+ 36
346
+ 64
347
+ 47
348
+ 49
349
+ 6
350
+ 2
351
+ 15
352
+ 5
353
+ 7
354
+ 37
355
+ 7
356
+ 38
357
+ 64
358
+ 47
359
+ 49
360
+ 6
361
+ 2
362
+ 15
363
+ 5
364
+ 7
365
+ 39
366
+ 7
367
+ 40
368
+ 64
369
+ 47
370
+ 49
371
+ 6
372
+ 2
373
+ 15
374
+ 5
375
+ 7
376
+ 41
377
+ 7
378
+ 42
379
+ 64
380
+ 47
381
+ 49
382
+ 6
383
+ 2
384
+ 15
385
+ 5
386
+ 7
387
+ 43
388
+ 7
389
+ 44
390
+ 64
391
+ 47
392
+ 49
393
+ 6
394
+ 2
395
+ 15
396
+ 5
397
+ 7
398
+ 45
399
+ 7
400
+ 46
401
+ 64
402
+ 47
403
+ 49
404
+ 6
405
+ 2
406
+ 15
407
+ 5
408
+ 7
409
+ 47
410
+ 7
411
+ 48
412
+ 64
413
+ 47
414
+ 49
415
+ 6
416
+ 2
417
+ 15
418
+ 5
419
+ 7
420
+ 49
421
+ 7
422
+ 50
423
+ 64
424
+ 47
425
+ 49
426
+ 6
427
+ 2
428
+ 15
429
+ 5
430
+ 7
431
+ 51
432
+ 7
433
+ 52
434
+ 64
435
+ 47
436
+ 49
437
+ 6
438
+ 2
439
+ 11
440
+ I
441
+ 6
442
+ I
443
+ 0
444
+ I
445
+ 0
446
+ I
447
+ 0
448
+ n
449
+ p
450
+ 53
451
+ x
452
+ 16
453
+ object_metaclass
454
+ x
455
+ 18
456
+ __metaclass_init__
457
+ M
458
+ 1
459
+ n
460
+ n
461
+ x
462
+ 18
463
+ __metaclass_init__
464
+ i
465
+ 104
466
+ 5
467
+ 66
468
+ 99
469
+ 7
470
+ 0
471
+ 7
472
+ 1
473
+ 65
474
+ 67
475
+ 49
476
+ 2
477
+ 0
478
+ 49
479
+ 3
480
+ 4
481
+ 15
482
+ 99
483
+ 7
484
+ 4
485
+ 7
486
+ 5
487
+ 65
488
+ 67
489
+ 49
490
+ 2
491
+ 0
492
+ 49
493
+ 3
494
+ 4
495
+ 15
496
+ 5
497
+ 48
498
+ 6
499
+ 15
500
+ 99
501
+ 7
502
+ 7
503
+ 7
504
+ 8
505
+ 65
506
+ 67
507
+ 49
508
+ 2
509
+ 0
510
+ 49
511
+ 3
512
+ 4
513
+ 15
514
+ 99
515
+ 7
516
+ 9
517
+ 7
518
+ 10
519
+ 65
520
+ 67
521
+ 49
522
+ 2
523
+ 0
524
+ 49
525
+ 3
526
+ 4
527
+ 15
528
+ 99
529
+ 7
530
+ 11
531
+ 7
532
+ 12
533
+ 65
534
+ 67
535
+ 49
536
+ 2
537
+ 0
538
+ 49
539
+ 3
540
+ 4
541
+ 15
542
+ 99
543
+ 7
544
+ 13
545
+ 7
546
+ 14
547
+ 65
548
+ 67
549
+ 49
550
+ 2
551
+ 0
552
+ 49
553
+ 3
554
+ 4
555
+ 15
556
+ 99
557
+ 7
558
+ 15
559
+ 7
560
+ 16
561
+ 65
562
+ 67
563
+ 49
564
+ 2
565
+ 0
566
+ 49
567
+ 3
568
+ 4
569
+ 11
570
+ I
571
+ 5
572
+ I
573
+ 0
574
+ I
575
+ 0
576
+ I
577
+ 0
578
+ n
579
+ p
580
+ 17
581
+ x
582
+ 13
583
+ optimizations
584
+ M
585
+ 1
586
+ n
587
+ n
588
+ x
589
+ 13
590
+ optimizations
591
+ i
592
+ 78
593
+ 39
594
+ 0
595
+ 13
596
+ 10
597
+ 77
598
+ 15
599
+ 45
600
+ 1
601
+ 2
602
+ 45
603
+ 3
604
+ 4
605
+ 49
606
+ 5
607
+ 1
608
+ 45
609
+ 6
610
+ 7
611
+ 49
612
+ 5
613
+ 1
614
+ 45
615
+ 8
616
+ 9
617
+ 49
618
+ 5
619
+ 1
620
+ 45
621
+ 10
622
+ 11
623
+ 49
624
+ 5
625
+ 1
626
+ 45
627
+ 12
628
+ 13
629
+ 49
630
+ 5
631
+ 1
632
+ 45
633
+ 14
634
+ 15
635
+ 49
636
+ 5
637
+ 1
638
+ 45
639
+ 16
640
+ 17
641
+ 49
642
+ 5
643
+ 1
644
+ 45
645
+ 18
646
+ 19
647
+ 49
648
+ 5
649
+ 1
650
+ 45
651
+ 20
652
+ 21
653
+ 49
654
+ 5
655
+ 1
656
+ 45
657
+ 22
658
+ 23
659
+ 49
660
+ 5
661
+ 1
662
+ 45
663
+ 24
664
+ 25
665
+ 49
666
+ 5
667
+ 1
668
+ 38
669
+ 0
670
+ 11
671
+ I
672
+ 2
673
+ I
674
+ 0
675
+ I
676
+ 0
677
+ I
678
+ 0
679
+ n
680
+ p
681
+ 26
682
+ x
683
+ 14
684
+ @optimizations
685
+ x
686
+ 16
687
+ OptimizeChildren
688
+ n
689
+ x
690
+ 18
691
+ InlineRegularRules
692
+ n
693
+ x
694
+ 2
695
+ >>
696
+ x
697
+ 23
698
+ SimplifyRedundantRepeat
699
+ n
700
+ x
701
+ 24
702
+ RemoveMeaninglessWrapper
703
+ n
704
+ x
705
+ 18
706
+ SimplifyTokenMatch
707
+ n
708
+ x
709
+ 15
710
+ FlattenSequence
711
+ n
712
+ x
713
+ 13
714
+ FlattenChoice
715
+ n
716
+ x
717
+ 17
718
+ ReduceRepeatMatch
719
+ n
720
+ x
721
+ 18
722
+ JoinPredicateMatch
723
+ n
724
+ x
725
+ 20
726
+ JoinPredicateOrMatch
727
+ n
728
+ x
729
+ 17
730
+ JoinMatchSequence
731
+ n
732
+ x
733
+ 15
734
+ JoinMatchChoice
735
+ n
736
+ p
737
+ 53
738
+ I
739
+ -1
740
+ I
741
+ 16
742
+ I
743
+ 0
744
+ I
745
+ 23
746
+ I
747
+ 6
748
+ I
749
+ 18
750
+ I
751
+ 9
752
+ I
753
+ 19
754
+ I
755
+ c
756
+ I
757
+ 18
758
+ I
759
+ f
760
+ I
761
+ 1a
762
+ I
763
+ 12
764
+ I
765
+ 18
766
+ I
767
+ 15
768
+ I
769
+ 1b
770
+ I
771
+ 18
772
+ I
773
+ 18
774
+ I
775
+ 1b
776
+ I
777
+ 1c
778
+ I
779
+ 1e
780
+ I
781
+ 18
782
+ I
783
+ 21
784
+ I
785
+ 1d
786
+ I
787
+ 24
788
+ I
789
+ 18
790
+ I
791
+ 27
792
+ I
793
+ 1e
794
+ I
795
+ 2a
796
+ I
797
+ 18
798
+ I
799
+ 2d
800
+ I
801
+ 1f
802
+ I
803
+ 30
804
+ I
805
+ 18
806
+ I
807
+ 33
808
+ I
809
+ 20
810
+ I
811
+ 36
812
+ I
813
+ 18
814
+ I
815
+ 39
816
+ I
817
+ 21
818
+ I
819
+ 3c
820
+ I
821
+ 18
822
+ I
823
+ 3f
824
+ I
825
+ 22
826
+ I
827
+ 42
828
+ I
829
+ 18
830
+ I
831
+ 45
832
+ I
833
+ 23
834
+ I
835
+ 48
836
+ I
837
+ 18
838
+ I
839
+ 4b
840
+ I
841
+ 17
842
+ I
843
+ 4e
844
+ x
845
+ 79
846
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
847
+ p
848
+ 0
849
+ x
850
+ 17
851
+ method_visibility
852
+ x
853
+ 15
854
+ add_defn_method
855
+ x
856
+ 8
857
+ optimize
858
+ M
859
+ 1
860
+ n
861
+ n
862
+ x
863
+ 8
864
+ optimize
865
+ i
866
+ 115
867
+ 23
868
+ 1
869
+ 10
870
+ 14
871
+ 44
872
+ 43
873
+ 0
874
+ 78
875
+ 49
876
+ 1
877
+ 1
878
+ 19
879
+ 1
880
+ 15
881
+ 20
882
+ 0
883
+ 13
884
+ 44
885
+ 43
886
+ 2
887
+ 43
888
+ 3
889
+ 43
890
+ 3
891
+ 12
892
+ 49
893
+ 4
894
+ 1
895
+ 9
896
+ 42
897
+ 15
898
+ 5
899
+ 20
900
+ 0
901
+ 20
902
+ 1
903
+ 47
904
+ 49
905
+ 5
906
+ 2
907
+ 8
908
+ 114
909
+ 13
910
+ 44
911
+ 43
912
+ 2
913
+ 43
914
+ 6
915
+ 43
916
+ 7
917
+ 12
918
+ 49
919
+ 4
920
+ 1
921
+ 9
922
+ 68
923
+ 15
924
+ 5
925
+ 20
926
+ 0
927
+ 20
928
+ 1
929
+ 47
930
+ 49
931
+ 8
932
+ 2
933
+ 8
934
+ 114
935
+ 13
936
+ 44
937
+ 43
938
+ 2
939
+ 43
940
+ 6
941
+ 43
942
+ 9
943
+ 12
944
+ 49
945
+ 4
946
+ 1
947
+ 9
948
+ 99
949
+ 15
950
+ 5
951
+ 20
952
+ 0
953
+ 5
954
+ 20
955
+ 1
956
+ 47
957
+ 49
958
+ 10
959
+ 1
960
+ 47
961
+ 49
962
+ 11
963
+ 2
964
+ 8
965
+ 114
966
+ 15
967
+ 5
968
+ 20
969
+ 0
970
+ 5
971
+ 20
972
+ 1
973
+ 47
974
+ 49
975
+ 10
976
+ 1
977
+ 47
978
+ 49
979
+ 12
980
+ 2
981
+ 11
982
+ I
983
+ 6
984
+ I
985
+ 2
986
+ I
987
+ 1
988
+ I
989
+ 2
990
+ n
991
+ p
992
+ 13
993
+ x
994
+ 4
995
+ Hash
996
+ x
997
+ 16
998
+ new_from_literal
999
+ x
1000
+ 7
1001
+ Rattler
1002
+ x
1003
+ 7
1004
+ Grammar
1005
+ x
1006
+ 3
1007
+ ===
1008
+ x
1009
+ 16
1010
+ optimize_grammar
1011
+ x
1012
+ 7
1013
+ Parsers
1014
+ x
1015
+ 7
1016
+ RuleSet
1017
+ x
1018
+ 17
1019
+ optimize_rule_set
1020
+ x
1021
+ 4
1022
+ Rule
1023
+ x
1024
+ 15
1025
+ default_context
1026
+ x
1027
+ 13
1028
+ optimize_rule
1029
+ x
1030
+ 13
1031
+ optimize_expr
1032
+ p
1033
+ 13
1034
+ I
1035
+ -1
1036
+ I
1037
+ 26
1038
+ I
1039
+ e
1040
+ I
1041
+ 27
1042
+ I
1043
+ 10
1044
+ I
1045
+ 28
1046
+ I
1047
+ 2a
1048
+ I
1049
+ 29
1050
+ I
1051
+ 44
1052
+ I
1053
+ 2a
1054
+ I
1055
+ 64
1056
+ I
1057
+ 2b
1058
+ I
1059
+ 73
1060
+ x
1061
+ 79
1062
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1063
+ p
1064
+ 2
1065
+ x
1066
+ 5
1067
+ model
1068
+ x
1069
+ 4
1070
+ opts
1071
+ x
1072
+ 7
1073
+ private
1074
+ x
1075
+ 15
1076
+ default_context
1077
+ M
1078
+ 1
1079
+ n
1080
+ n
1081
+ x
1082
+ 15
1083
+ default_context
1084
+ i
1085
+ 28
1086
+ 45
1087
+ 0
1088
+ 1
1089
+ 20
1090
+ 0
1091
+ 44
1092
+ 43
1093
+ 2
1094
+ 79
1095
+ 49
1096
+ 3
1097
+ 1
1098
+ 13
1099
+ 7
1100
+ 4
1101
+ 7
1102
+ 5
1103
+ 49
1104
+ 6
1105
+ 2
1106
+ 15
1107
+ 49
1108
+ 7
1109
+ 1
1110
+ 49
1111
+ 8
1112
+ 1
1113
+ 11
1114
+ I
1115
+ 7
1116
+ I
1117
+ 1
1118
+ I
1119
+ 1
1120
+ I
1121
+ 1
1122
+ n
1123
+ p
1124
+ 9
1125
+ x
1126
+ 19
1127
+ OptimizationContext
1128
+ n
1129
+ x
1130
+ 4
1131
+ Hash
1132
+ x
1133
+ 16
1134
+ new_from_literal
1135
+ x
1136
+ 4
1137
+ type
1138
+ x
1139
+ 9
1140
+ capturing
1141
+ x
1142
+ 3
1143
+ []=
1144
+ x
1145
+ 5
1146
+ merge
1147
+ x
1148
+ 2
1149
+ []
1150
+ p
1151
+ 5
1152
+ I
1153
+ -1
1154
+ I
1155
+ 31
1156
+ I
1157
+ 0
1158
+ I
1159
+ 32
1160
+ I
1161
+ 1c
1162
+ x
1163
+ 79
1164
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1165
+ p
1166
+ 1
1167
+ x
1168
+ 4
1169
+ opts
1170
+ x
1171
+ 16
1172
+ optimize_grammar
1173
+ M
1174
+ 1
1175
+ n
1176
+ n
1177
+ x
1178
+ 16
1179
+ optimize_grammar
1180
+ i
1181
+ 18
1182
+ 20
1183
+ 0
1184
+ 5
1185
+ 20
1186
+ 0
1187
+ 49
1188
+ 0
1189
+ 0
1190
+ 20
1191
+ 1
1192
+ 47
1193
+ 49
1194
+ 1
1195
+ 2
1196
+ 49
1197
+ 2
1198
+ 1
1199
+ 11
1200
+ I
1201
+ 6
1202
+ I
1203
+ 2
1204
+ I
1205
+ 2
1206
+ I
1207
+ 2
1208
+ n
1209
+ p
1210
+ 3
1211
+ x
1212
+ 5
1213
+ rules
1214
+ x
1215
+ 17
1216
+ optimize_rule_set
1217
+ x
1218
+ 10
1219
+ with_rules
1220
+ p
1221
+ 5
1222
+ I
1223
+ -1
1224
+ I
1225
+ 35
1226
+ I
1227
+ 0
1228
+ I
1229
+ 36
1230
+ I
1231
+ 12
1232
+ x
1233
+ 79
1234
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1235
+ p
1236
+ 2
1237
+ x
1238
+ 7
1239
+ grammar
1240
+ x
1241
+ 4
1242
+ opts
1243
+ x
1244
+ 17
1245
+ optimize_rule_set
1246
+ M
1247
+ 1
1248
+ n
1249
+ n
1250
+ x
1251
+ 17
1252
+ optimize_rule_set
1253
+ i
1254
+ 71
1255
+ 5
1256
+ 20
1257
+ 1
1258
+ 47
1259
+ 49
1260
+ 0
1261
+ 1
1262
+ 44
1263
+ 43
1264
+ 1
1265
+ 79
1266
+ 49
1267
+ 2
1268
+ 1
1269
+ 13
1270
+ 7
1271
+ 3
1272
+ 20
1273
+ 0
1274
+ 49
1275
+ 4
1276
+ 2
1277
+ 15
1278
+ 49
1279
+ 5
1280
+ 1
1281
+ 19
1282
+ 2
1283
+ 15
1284
+ 20
1285
+ 0
1286
+ 56
1287
+ 6
1288
+ 50
1289
+ 7
1290
+ 0
1291
+ 19
1292
+ 0
1293
+ 15
1294
+ 20
1295
+ 2
1296
+ 44
1297
+ 43
1298
+ 1
1299
+ 79
1300
+ 49
1301
+ 2
1302
+ 1
1303
+ 13
1304
+ 7
1305
+ 3
1306
+ 20
1307
+ 0
1308
+ 49
1309
+ 4
1310
+ 2
1311
+ 15
1312
+ 49
1313
+ 5
1314
+ 1
1315
+ 19
1316
+ 2
1317
+ 15
1318
+ 20
1319
+ 0
1320
+ 56
1321
+ 8
1322
+ 50
1323
+ 9
1324
+ 0
1325
+ 11
1326
+ I
1327
+ 8
1328
+ I
1329
+ 3
1330
+ I
1331
+ 2
1332
+ I
1333
+ 2
1334
+ n
1335
+ p
1336
+ 10
1337
+ x
1338
+ 15
1339
+ default_context
1340
+ x
1341
+ 4
1342
+ Hash
1343
+ x
1344
+ 16
1345
+ new_from_literal
1346
+ x
1347
+ 5
1348
+ rules
1349
+ x
1350
+ 3
1351
+ []=
1352
+ x
1353
+ 4
1354
+ with
1355
+ M
1356
+ 1
1357
+ p
1358
+ 2
1359
+ x
1360
+ 9
1361
+ for_block
1362
+ t
1363
+ n
1364
+ x
1365
+ 17
1366
+ optimize_rule_set
1367
+ i
1368
+ 15
1369
+ 57
1370
+ 19
1371
+ 0
1372
+ 15
1373
+ 5
1374
+ 20
1375
+ 0
1376
+ 21
1377
+ 1
1378
+ 2
1379
+ 47
1380
+ 49
1381
+ 0
1382
+ 2
1383
+ 11
1384
+ I
1385
+ 5
1386
+ I
1387
+ 1
1388
+ I
1389
+ 1
1390
+ I
1391
+ 1
1392
+ n
1393
+ p
1394
+ 1
1395
+ x
1396
+ 13
1397
+ optimize_rule
1398
+ p
1399
+ 3
1400
+ I
1401
+ 0
1402
+ I
1403
+ 3b
1404
+ I
1405
+ f
1406
+ x
1407
+ 79
1408
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1409
+ p
1410
+ 1
1411
+ x
1412
+ 1
1413
+ _
1414
+ x
1415
+ 9
1416
+ map_rules
1417
+ M
1418
+ 1
1419
+ p
1420
+ 2
1421
+ x
1422
+ 9
1423
+ for_block
1424
+ t
1425
+ n
1426
+ x
1427
+ 17
1428
+ optimize_rule_set
1429
+ i
1430
+ 13
1431
+ 57
1432
+ 19
1433
+ 0
1434
+ 15
1435
+ 21
1436
+ 1
1437
+ 2
1438
+ 20
1439
+ 0
1440
+ 49
1441
+ 0
1442
+ 1
1443
+ 11
1444
+ I
1445
+ 4
1446
+ I
1447
+ 1
1448
+ I
1449
+ 1
1450
+ I
1451
+ 1
1452
+ n
1453
+ p
1454
+ 1
1455
+ x
1456
+ 9
1457
+ relavent?
1458
+ p
1459
+ 3
1460
+ I
1461
+ 0
1462
+ I
1463
+ 3d
1464
+ I
1465
+ d
1466
+ x
1467
+ 79
1468
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1469
+ p
1470
+ 1
1471
+ x
1472
+ 1
1473
+ _
1474
+ x
1475
+ 12
1476
+ select_rules
1477
+ p
1478
+ 11
1479
+ I
1480
+ -1
1481
+ I
1482
+ 39
1483
+ I
1484
+ 0
1485
+ I
1486
+ 3a
1487
+ I
1488
+ 1d
1489
+ I
1490
+ 3b
1491
+ I
1492
+ 27
1493
+ I
1494
+ 3c
1495
+ I
1496
+ 3f
1497
+ I
1498
+ 3d
1499
+ I
1500
+ 47
1501
+ x
1502
+ 79
1503
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1504
+ p
1505
+ 3
1506
+ x
1507
+ 8
1508
+ rule_set
1509
+ x
1510
+ 4
1511
+ opts
1512
+ x
1513
+ 7
1514
+ context
1515
+ x
1516
+ 13
1517
+ optimize_rule
1518
+ M
1519
+ 1
1520
+ n
1521
+ n
1522
+ x
1523
+ 13
1524
+ optimize_rule
1525
+ i
1526
+ 19
1527
+ 20
1528
+ 0
1529
+ 5
1530
+ 48
1531
+ 0
1532
+ 20
1533
+ 0
1534
+ 49
1535
+ 1
1536
+ 0
1537
+ 20
1538
+ 1
1539
+ 49
1540
+ 2
1541
+ 2
1542
+ 49
1543
+ 3
1544
+ 1
1545
+ 11
1546
+ I
1547
+ 6
1548
+ I
1549
+ 2
1550
+ I
1551
+ 2
1552
+ I
1553
+ 2
1554
+ n
1555
+ p
1556
+ 4
1557
+ x
1558
+ 13
1559
+ optimizations
1560
+ x
1561
+ 4
1562
+ expr
1563
+ x
1564
+ 5
1565
+ apply
1566
+ x
1567
+ 9
1568
+ with_expr
1569
+ p
1570
+ 5
1571
+ I
1572
+ -1
1573
+ I
1574
+ 40
1575
+ I
1576
+ 0
1577
+ I
1578
+ 41
1579
+ I
1580
+ 13
1581
+ x
1582
+ 79
1583
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1584
+ p
1585
+ 2
1586
+ x
1587
+ 4
1588
+ rule
1589
+ x
1590
+ 7
1591
+ context
1592
+ x
1593
+ 13
1594
+ optimize_expr
1595
+ M
1596
+ 1
1597
+ n
1598
+ n
1599
+ x
1600
+ 13
1601
+ optimize_expr
1602
+ i
1603
+ 15
1604
+ 5
1605
+ 48
1606
+ 0
1607
+ 5
1608
+ 48
1609
+ 1
1610
+ 49
1611
+ 2
1612
+ 0
1613
+ 20
1614
+ 1
1615
+ 49
1616
+ 3
1617
+ 2
1618
+ 11
1619
+ I
1620
+ 5
1621
+ I
1622
+ 2
1623
+ I
1624
+ 2
1625
+ I
1626
+ 2
1627
+ n
1628
+ p
1629
+ 4
1630
+ x
1631
+ 13
1632
+ optimizations
1633
+ x
1634
+ 4
1635
+ rule
1636
+ x
1637
+ 4
1638
+ expr
1639
+ x
1640
+ 5
1641
+ apply
1642
+ p
1643
+ 5
1644
+ I
1645
+ -1
1646
+ I
1647
+ 44
1648
+ I
1649
+ 0
1650
+ I
1651
+ 45
1652
+ I
1653
+ f
1654
+ x
1655
+ 79
1656
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1657
+ p
1658
+ 2
1659
+ x
1660
+ 4
1661
+ expr
1662
+ x
1663
+ 7
1664
+ context
1665
+ p
1666
+ 17
1667
+ I
1668
+ 2
1669
+ I
1670
+ 16
1671
+ I
1672
+ 10
1673
+ I
1674
+ 26
1675
+ I
1676
+ 1e
1677
+ I
1678
+ 2f
1679
+ I
1680
+ 22
1681
+ I
1682
+ 31
1683
+ I
1684
+ 30
1685
+ I
1686
+ 35
1687
+ I
1688
+ 3e
1689
+ I
1690
+ 39
1691
+ I
1692
+ 4c
1693
+ I
1694
+ 40
1695
+ I
1696
+ 5a
1697
+ I
1698
+ 44
1699
+ I
1700
+ 68
1701
+ x
1702
+ 79
1703
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1704
+ p
1705
+ 0
1706
+ x
1707
+ 13
1708
+ attach_method
1709
+ x
1710
+ 19
1711
+ OptimizationContext
1712
+ s
1713
+ 47
1714
+ rattler/back_end/optimizer/optimization_context
1715
+ x
1716
+ 8
1717
+ autoload
1718
+ x
1719
+ 12
1720
+ Optimization
1721
+ s
1722
+ 39
1723
+ rattler/back_end/optimizer/optimization
1724
+ x
1725
+ 20
1726
+ OptimizationSequence
1727
+ s
1728
+ 48
1729
+ rattler/back_end/optimizer/optimization_sequence
1730
+ x
1731
+ 16
1732
+ OptimizeChildren
1733
+ s
1734
+ 44
1735
+ rattler/back_end/optimizer/optimize_children
1736
+ x
1737
+ 18
1738
+ InlineRegularRules
1739
+ s
1740
+ 47
1741
+ rattler/back_end/optimizer/inline_regular_rules
1742
+ x
1743
+ 23
1744
+ SimplifyRedundantRepeat
1745
+ s
1746
+ 52
1747
+ rattler/back_end/optimizer/simplify_redundant_repeat
1748
+ x
1749
+ 24
1750
+ RemoveMeaninglessWrapper
1751
+ s
1752
+ 53
1753
+ rattler/back_end/optimizer/remove_meaningless_wrapper
1754
+ x
1755
+ 18
1756
+ SimplifyTokenMatch
1757
+ s
1758
+ 47
1759
+ rattler/back_end/optimizer/simplify_token_match
1760
+ x
1761
+ 15
1762
+ FlattenSequence
1763
+ s
1764
+ 43
1765
+ rattler/back_end/optimizer/flatten_sequence
1766
+ x
1767
+ 13
1768
+ FlattenChoice
1769
+ s
1770
+ 41
1771
+ rattler/back_end/optimizer/flatten_choice
1772
+ x
1773
+ 17
1774
+ ReduceRepeatMatch
1775
+ s
1776
+ 46
1777
+ rattler/back_end/optimizer/reduce_repeat_match
1778
+ x
1779
+ 18
1780
+ JoinPredicateMatch
1781
+ s
1782
+ 47
1783
+ rattler/back_end/optimizer/join_predicate_match
1784
+ x
1785
+ 22
1786
+ JoinPredicateBareMatch
1787
+ s
1788
+ 52
1789
+ rattler/back_end/optimizer/join_predicate_bare_match
1790
+ x
1791
+ 24
1792
+ JoinPredicateNestedMatch
1793
+ s
1794
+ 54
1795
+ rattler/back_end/optimizer/join_predicate_nested_match
1796
+ x
1797
+ 20
1798
+ JoinPredicateOrMatch
1799
+ s
1800
+ 50
1801
+ rattler/back_end/optimizer/join_predicate_or_match
1802
+ x
1803
+ 24
1804
+ JoinPredicateOrBareMatch
1805
+ s
1806
+ 55
1807
+ rattler/back_end/optimizer/join_predicate_or_bare_match
1808
+ x
1809
+ 26
1810
+ JoinPredicateOrNestedMatch
1811
+ s
1812
+ 57
1813
+ rattler/back_end/optimizer/join_predicate_or_nested_match
1814
+ x
1815
+ 17
1816
+ JoinMatchSequence
1817
+ s
1818
+ 46
1819
+ rattler/back_end/optimizer/join_match_sequence
1820
+ x
1821
+ 26
1822
+ JoinMatchCapturingSequence
1823
+ s
1824
+ 56
1825
+ rattler/back_end/optimizer/join_match_capturing_sequence
1826
+ x
1827
+ 25
1828
+ JoinMatchMatchingSequence
1829
+ s
1830
+ 55
1831
+ rattler/back_end/optimizer/join_match_matching_sequence
1832
+ x
1833
+ 15
1834
+ JoinMatchChoice
1835
+ s
1836
+ 44
1837
+ rattler/back_end/optimizer/join_match_choice
1838
+ x
1839
+ 12
1840
+ MatchJoining
1841
+ s
1842
+ 40
1843
+ rattler/back_end/optimizer/match_joining
1844
+ x
1845
+ 10
1846
+ Flattening
1847
+ s
1848
+ 37
1849
+ rattler/back_end/optimizer/flattening
1850
+ x
1851
+ 17
1852
+ CompositeReducing
1853
+ s
1854
+ 45
1855
+ rattler/back_end/optimizer/composite_reducing
1856
+ p
1857
+ 51
1858
+ I
1859
+ 2
1860
+ I
1861
+ 15
1862
+ I
1863
+ 1c
1864
+ I
1865
+ 4a
1866
+ I
1867
+ 27
1868
+ I
1869
+ 4b
1870
+ I
1871
+ 32
1872
+ I
1873
+ 4c
1874
+ I
1875
+ 3d
1876
+ I
1877
+ 4d
1878
+ I
1879
+ 48
1880
+ I
1881
+ 4e
1882
+ I
1883
+ 53
1884
+ I
1885
+ 4f
1886
+ I
1887
+ 5e
1888
+ I
1889
+ 50
1890
+ I
1891
+ 69
1892
+ I
1893
+ 51
1894
+ I
1895
+ 74
1896
+ I
1897
+ 52
1898
+ I
1899
+ 7f
1900
+ I
1901
+ 53
1902
+ I
1903
+ 8a
1904
+ I
1905
+ 54
1906
+ I
1907
+ 95
1908
+ I
1909
+ 55
1910
+ I
1911
+ a0
1912
+ I
1913
+ 56
1914
+ I
1915
+ ab
1916
+ I
1917
+ 57
1918
+ I
1919
+ b6
1920
+ I
1921
+ 58
1922
+ I
1923
+ c1
1924
+ I
1925
+ 59
1926
+ I
1927
+ cc
1928
+ I
1929
+ 5a
1930
+ I
1931
+ d7
1932
+ I
1933
+ 5b
1934
+ I
1935
+ e2
1936
+ I
1937
+ 5c
1938
+ I
1939
+ ed
1940
+ I
1941
+ 5d
1942
+ I
1943
+ f8
1944
+ I
1945
+ 5e
1946
+ I
1947
+ 103
1948
+ I
1949
+ 5f
1950
+ I
1951
+ 10e
1952
+ I
1953
+ 60
1954
+ I
1955
+ 119
1956
+ I
1957
+ 61
1958
+ I
1959
+ 124
1960
+ x
1961
+ 79
1962
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1963
+ p
1964
+ 0
1965
+ x
1966
+ 13
1967
+ attach_method
1968
+ p
1969
+ 3
1970
+ I
1971
+ 2
1972
+ I
1973
+ 13
1974
+ I
1975
+ 1c
1976
+ x
1977
+ 79
1978
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1979
+ p
1980
+ 0
1981
+ x
1982
+ 13
1983
+ attach_method
1984
+ p
1985
+ 5
1986
+ I
1987
+ 0
1988
+ I
1989
+ 7
1990
+ I
1991
+ 9
1992
+ I
1993
+ 9
1994
+ I
1995
+ 27
1996
+ x
1997
+ 79
1998
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/optimizer.rb
1999
+ p
2000
+ 0