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