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,372 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 71
13
+ 5
14
+ 45
15
+ 0
16
+ 1
17
+ 45
18
+ 0
19
+ 2
20
+ 65
21
+ 49
22
+ 3
23
+ 0
24
+ 49
25
+ 4
26
+ 1
27
+ 7
28
+ 5
29
+ 64
30
+ 81
31
+ 6
32
+ 49
33
+ 7
34
+ 1
35
+ 47
36
+ 49
37
+ 8
38
+ 1
39
+ 15
40
+ 5
41
+ 45
42
+ 0
43
+ 9
44
+ 45
45
+ 0
46
+ 10
47
+ 65
48
+ 49
49
+ 3
50
+ 0
51
+ 49
52
+ 4
53
+ 1
54
+ 7
55
+ 11
56
+ 64
57
+ 81
58
+ 6
59
+ 49
60
+ 7
61
+ 1
62
+ 47
63
+ 49
64
+ 8
65
+ 1
66
+ 15
67
+ 5
68
+ 45
69
+ 12
70
+ 13
71
+ 43
72
+ 14
73
+ 43
74
+ 15
75
+ 56
76
+ 16
77
+ 47
78
+ 50
79
+ 17
80
+ 1
81
+ 15
82
+ 2
83
+ 11
84
+ I
85
+ 4
86
+ I
87
+ 0
88
+ I
89
+ 0
90
+ I
91
+ 0
92
+ n
93
+ p
94
+ 18
95
+ x
96
+ 4
97
+ File
98
+ n
99
+ n
100
+ x
101
+ 11
102
+ active_path
103
+ x
104
+ 7
105
+ dirname
106
+ s
107
+ 18
108
+ /../../spec_helper
109
+ x
110
+ 1
111
+ +
112
+ x
113
+ 11
114
+ expand_path
115
+ x
116
+ 7
117
+ require
118
+ n
119
+ n
120
+ s
121
+ 25
122
+ /shared_compiler_examples
123
+ x
124
+ 7
125
+ Rattler
126
+ n
127
+ x
128
+ 7
129
+ BackEnd
130
+ x
131
+ 9
132
+ Optimizer
133
+ M
134
+ 1
135
+ p
136
+ 2
137
+ x
138
+ 9
139
+ for_block
140
+ t
141
+ n
142
+ x
143
+ 9
144
+ __block__
145
+ i
146
+ 20
147
+ 5
148
+ 45
149
+ 0
150
+ 1
151
+ 47
152
+ 49
153
+ 2
154
+ 1
155
+ 15
156
+ 5
157
+ 7
158
+ 3
159
+ 64
160
+ 56
161
+ 4
162
+ 47
163
+ 50
164
+ 5
165
+ 1
166
+ 11
167
+ I
168
+ 4
169
+ I
170
+ 0
171
+ I
172
+ 0
173
+ I
174
+ 0
175
+ I
176
+ -2
177
+ p
178
+ 6
179
+ x
180
+ 18
181
+ CompilerSpecHelper
182
+ n
183
+ x
184
+ 7
185
+ include
186
+ s
187
+ 16
188
+ .optimize result
189
+ M
190
+ 1
191
+ p
192
+ 2
193
+ x
194
+ 9
195
+ for_block
196
+ t
197
+ n
198
+ x
199
+ 9
200
+ __block__
201
+ i
202
+ 19
203
+ 5
204
+ 7
205
+ 0
206
+ 56
207
+ 1
208
+ 47
209
+ 50
210
+ 2
211
+ 1
212
+ 15
213
+ 5
214
+ 7
215
+ 3
216
+ 64
217
+ 47
218
+ 49
219
+ 4
220
+ 1
221
+ 11
222
+ I
223
+ 4
224
+ I
225
+ 0
226
+ I
227
+ 0
228
+ I
229
+ 0
230
+ I
231
+ -2
232
+ p
233
+ 5
234
+ x
235
+ 15
236
+ compiled_parser
237
+ M
238
+ 1
239
+ p
240
+ 2
241
+ x
242
+ 9
243
+ for_block
244
+ t
245
+ n
246
+ x
247
+ 9
248
+ __block__
249
+ i
250
+ 15
251
+ 5
252
+ 5
253
+ 48
254
+ 0
255
+ 5
256
+ 48
257
+ 1
258
+ 49
259
+ 2
260
+ 1
261
+ 47
262
+ 49
263
+ 3
264
+ 1
265
+ 11
266
+ I
267
+ 4
268
+ I
269
+ 0
270
+ I
271
+ 0
272
+ I
273
+ 0
274
+ I
275
+ -2
276
+ p
277
+ 4
278
+ x
279
+ 15
280
+ described_class
281
+ x
282
+ 7
283
+ grammar
284
+ x
285
+ 8
286
+ optimize
287
+ x
288
+ 17
289
+ combinator_parser
290
+ p
291
+ 3
292
+ I
293
+ 0
294
+ I
295
+ a
296
+ I
297
+ f
298
+ x
299
+ 85
300
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/optimizer_spec.rb
301
+ p
302
+ 0
303
+ x
304
+ 3
305
+ let
306
+ s
307
+ 17
308
+ a compiled parser
309
+ x
310
+ 15
311
+ it_behaves_like
312
+ p
313
+ 5
314
+ I
315
+ 0
316
+ I
317
+ 9
318
+ I
319
+ a
320
+ I
321
+ d
322
+ I
323
+ 13
324
+ x
325
+ 85
326
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/optimizer_spec.rb
327
+ p
328
+ 0
329
+ x
330
+ 8
331
+ describe
332
+ p
333
+ 5
334
+ I
335
+ 0
336
+ I
337
+ 5
338
+ I
339
+ 9
340
+ I
341
+ 7
342
+ I
343
+ 14
344
+ x
345
+ 85
346
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/optimizer_spec.rb
347
+ p
348
+ 0
349
+ x
350
+ 8
351
+ describe
352
+ p
353
+ 7
354
+ I
355
+ 0
356
+ I
357
+ 1
358
+ I
359
+ 1b
360
+ I
361
+ 2
362
+ I
363
+ 36
364
+ I
365
+ 4
366
+ I
367
+ 47
368
+ x
369
+ 85
370
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/optimizer_spec.rb
371
+ p
372
+ 0
@@ -0,0 +1,4710 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 64
13
+ 5
14
+ 45
15
+ 0
16
+ 1
17
+ 45
18
+ 0
19
+ 2
20
+ 65
21
+ 49
22
+ 3
23
+ 0
24
+ 49
25
+ 4
26
+ 1
27
+ 7
28
+ 5
29
+ 64
30
+ 81
31
+ 6
32
+ 49
33
+ 7
34
+ 1
35
+ 47
36
+ 49
37
+ 8
38
+ 1
39
+ 15
40
+ 5
41
+ 45
42
+ 9
43
+ 10
44
+ 43
45
+ 11
46
+ 43
47
+ 12
48
+ 47
49
+ 49
50
+ 13
51
+ 1
52
+ 15
53
+ 5
54
+ 45
55
+ 9
56
+ 14
57
+ 43
58
+ 15
59
+ 47
60
+ 49
61
+ 13
62
+ 1
63
+ 15
64
+ 5
65
+ 45
66
+ 16
67
+ 17
68
+ 56
69
+ 18
70
+ 47
71
+ 50
72
+ 19
73
+ 1
74
+ 15
75
+ 2
76
+ 11
77
+ I
78
+ 4
79
+ I
80
+ 0
81
+ I
82
+ 0
83
+ I
84
+ 0
85
+ n
86
+ p
87
+ 20
88
+ x
89
+ 4
90
+ File
91
+ n
92
+ n
93
+ x
94
+ 11
95
+ active_path
96
+ x
97
+ 7
98
+ dirname
99
+ s
100
+ 21
101
+ /../../../spec_helper
102
+ x
103
+ 1
104
+ +
105
+ x
106
+ 11
107
+ expand_path
108
+ x
109
+ 7
110
+ require
111
+ x
112
+ 7
113
+ Rattler
114
+ n
115
+ x
116
+ 7
117
+ BackEnd
118
+ x
119
+ 15
120
+ ParserGenerator
121
+ x
122
+ 7
123
+ include
124
+ n
125
+ x
126
+ 7
127
+ Parsers
128
+ x
129
+ 14
130
+ ApplyGenerator
131
+ n
132
+ M
133
+ 1
134
+ p
135
+ 2
136
+ x
137
+ 9
138
+ for_block
139
+ t
140
+ n
141
+ x
142
+ 9
143
+ __block__
144
+ i
145
+ 140
146
+ 5
147
+ 45
148
+ 0
149
+ 1
150
+ 47
151
+ 49
152
+ 2
153
+ 1
154
+ 15
155
+ 5
156
+ 7
157
+ 3
158
+ 56
159
+ 4
160
+ 47
161
+ 50
162
+ 5
163
+ 1
164
+ 15
165
+ 5
166
+ 7
167
+ 6
168
+ 64
169
+ 56
170
+ 7
171
+ 47
172
+ 50
173
+ 8
174
+ 1
175
+ 15
176
+ 5
177
+ 7
178
+ 9
179
+ 64
180
+ 56
181
+ 10
182
+ 47
183
+ 50
184
+ 8
185
+ 1
186
+ 15
187
+ 5
188
+ 7
189
+ 11
190
+ 64
191
+ 56
192
+ 12
193
+ 47
194
+ 50
195
+ 8
196
+ 1
197
+ 15
198
+ 5
199
+ 7
200
+ 13
201
+ 64
202
+ 56
203
+ 14
204
+ 47
205
+ 50
206
+ 8
207
+ 1
208
+ 15
209
+ 5
210
+ 7
211
+ 15
212
+ 64
213
+ 56
214
+ 16
215
+ 47
216
+ 50
217
+ 8
218
+ 1
219
+ 15
220
+ 5
221
+ 7
222
+ 17
223
+ 64
224
+ 56
225
+ 18
226
+ 47
227
+ 50
228
+ 8
229
+ 1
230
+ 15
231
+ 5
232
+ 7
233
+ 19
234
+ 64
235
+ 56
236
+ 20
237
+ 47
238
+ 50
239
+ 8
240
+ 1
241
+ 15
242
+ 5
243
+ 7
244
+ 21
245
+ 64
246
+ 56
247
+ 22
248
+ 47
249
+ 50
250
+ 8
251
+ 1
252
+ 15
253
+ 5
254
+ 7
255
+ 23
256
+ 64
257
+ 56
258
+ 24
259
+ 47
260
+ 50
261
+ 8
262
+ 1
263
+ 15
264
+ 5
265
+ 7
266
+ 25
267
+ 64
268
+ 56
269
+ 26
270
+ 47
271
+ 50
272
+ 8
273
+ 1
274
+ 15
275
+ 5
276
+ 7
277
+ 27
278
+ 64
279
+ 56
280
+ 28
281
+ 47
282
+ 50
283
+ 8
284
+ 1
285
+ 11
286
+ I
287
+ 4
288
+ I
289
+ 0
290
+ I
291
+ 0
292
+ I
293
+ 0
294
+ I
295
+ -2
296
+ p
297
+ 29
298
+ x
299
+ 25
300
+ ParserGeneratorSpecHelper
301
+ n
302
+ x
303
+ 7
304
+ include
305
+ x
306
+ 5
307
+ apply
308
+ M
309
+ 1
310
+ p
311
+ 2
312
+ x
313
+ 9
314
+ for_block
315
+ t
316
+ n
317
+ x
318
+ 9
319
+ __block__
320
+ i
321
+ 9
322
+ 45
323
+ 0
324
+ 1
325
+ 7
326
+ 2
327
+ 49
328
+ 3
329
+ 1
330
+ 11
331
+ I
332
+ 3
333
+ I
334
+ 0
335
+ I
336
+ 0
337
+ I
338
+ 0
339
+ I
340
+ -2
341
+ p
342
+ 4
343
+ x
344
+ 5
345
+ Apply
346
+ n
347
+ x
348
+ 3
349
+ foo
350
+ x
351
+ 2
352
+ []
353
+ p
354
+ 3
355
+ I
356
+ 0
357
+ I
358
+ a
359
+ I
360
+ 9
361
+ x
362
+ 108
363
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
364
+ p
365
+ 0
366
+ x
367
+ 3
368
+ let
369
+ s
370
+ 10
371
+ #gen_basic
372
+ M
373
+ 1
374
+ p
375
+ 2
376
+ x
377
+ 9
378
+ for_block
379
+ t
380
+ n
381
+ x
382
+ 9
383
+ __block__
384
+ i
385
+ 22
386
+ 5
387
+ 7
388
+ 0
389
+ 64
390
+ 56
391
+ 1
392
+ 47
393
+ 50
394
+ 2
395
+ 1
396
+ 15
397
+ 5
398
+ 7
399
+ 3
400
+ 64
401
+ 56
402
+ 4
403
+ 47
404
+ 50
405
+ 2
406
+ 1
407
+ 11
408
+ I
409
+ 4
410
+ I
411
+ 0
412
+ I
413
+ 0
414
+ I
415
+ 0
416
+ I
417
+ -2
418
+ p
419
+ 5
420
+ s
421
+ 11
422
+ when nested
423
+ M
424
+ 1
425
+ p
426
+ 2
427
+ x
428
+ 9
429
+ for_block
430
+ t
431
+ n
432
+ x
433
+ 9
434
+ __block__
435
+ i
436
+ 11
437
+ 5
438
+ 7
439
+ 0
440
+ 64
441
+ 56
442
+ 1
443
+ 47
444
+ 50
445
+ 2
446
+ 1
447
+ 11
448
+ I
449
+ 4
450
+ I
451
+ 0
452
+ I
453
+ 0
454
+ I
455
+ 0
456
+ I
457
+ -2
458
+ p
459
+ 3
460
+ s
461
+ 31
462
+ generates basic apply-rule code
463
+ M
464
+ 1
465
+ p
466
+ 2
467
+ x
468
+ 9
469
+ for_block
470
+ t
471
+ n
472
+ x
473
+ 9
474
+ __block__
475
+ i
476
+ 16
477
+ 5
478
+ 56
479
+ 0
480
+ 47
481
+ 50
482
+ 1
483
+ 0
484
+ 49
485
+ 2
486
+ 0
487
+ 7
488
+ 3
489
+ 64
490
+ 83
491
+ 4
492
+ 11
493
+ I
494
+ 3
495
+ I
496
+ 0
497
+ I
498
+ 0
499
+ I
500
+ 0
501
+ I
502
+ -2
503
+ p
504
+ 5
505
+ M
506
+ 1
507
+ p
508
+ 2
509
+ x
510
+ 9
511
+ for_block
512
+ t
513
+ n
514
+ x
515
+ 9
516
+ __block__
517
+ i
518
+ 13
519
+ 57
520
+ 19
521
+ 0
522
+ 15
523
+ 20
524
+ 0
525
+ 5
526
+ 48
527
+ 0
528
+ 49
529
+ 1
530
+ 1
531
+ 11
532
+ I
533
+ 4
534
+ I
535
+ 1
536
+ I
537
+ 1
538
+ I
539
+ 1
540
+ n
541
+ p
542
+ 2
543
+ x
544
+ 5
545
+ apply
546
+ x
547
+ 9
548
+ gen_basic
549
+ p
550
+ 3
551
+ I
552
+ 0
553
+ I
554
+ 10
555
+ I
556
+ d
557
+ x
558
+ 108
559
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
560
+ p
561
+ 1
562
+ x
563
+ 1
564
+ g
565
+ x
566
+ 11
567
+ nested_code
568
+ x
569
+ 6
570
+ should
571
+ s
572
+ 11
573
+ match(:foo)
574
+ x
575
+ 2
576
+ ==
577
+ p
578
+ 5
579
+ I
580
+ 0
581
+ I
582
+ 10
583
+ I
584
+ a
585
+ I
586
+ 11
587
+ I
588
+ 10
589
+ x
590
+ 108
591
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
592
+ p
593
+ 0
594
+ x
595
+ 2
596
+ it
597
+ p
598
+ 3
599
+ I
600
+ 0
601
+ I
602
+ f
603
+ I
604
+ b
605
+ x
606
+ 108
607
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
608
+ p
609
+ 0
610
+ x
611
+ 7
612
+ context
613
+ s
614
+ 14
615
+ when top-level
616
+ M
617
+ 1
618
+ p
619
+ 2
620
+ x
621
+ 9
622
+ for_block
623
+ t
624
+ n
625
+ x
626
+ 9
627
+ __block__
628
+ i
629
+ 11
630
+ 5
631
+ 7
632
+ 0
633
+ 64
634
+ 56
635
+ 1
636
+ 47
637
+ 50
638
+ 2
639
+ 1
640
+ 11
641
+ I
642
+ 4
643
+ I
644
+ 0
645
+ I
646
+ 0
647
+ I
648
+ 0
649
+ I
650
+ -2
651
+ p
652
+ 3
653
+ s
654
+ 31
655
+ generates basic apply-rule code
656
+ M
657
+ 1
658
+ p
659
+ 2
660
+ x
661
+ 9
662
+ for_block
663
+ t
664
+ n
665
+ x
666
+ 9
667
+ __block__
668
+ i
669
+ 16
670
+ 5
671
+ 56
672
+ 0
673
+ 47
674
+ 50
675
+ 1
676
+ 0
677
+ 49
678
+ 2
679
+ 0
680
+ 7
681
+ 3
682
+ 64
683
+ 83
684
+ 4
685
+ 11
686
+ I
687
+ 3
688
+ I
689
+ 0
690
+ I
691
+ 0
692
+ I
693
+ 0
694
+ I
695
+ -2
696
+ p
697
+ 5
698
+ M
699
+ 1
700
+ p
701
+ 2
702
+ x
703
+ 9
704
+ for_block
705
+ t
706
+ n
707
+ x
708
+ 9
709
+ __block__
710
+ i
711
+ 13
712
+ 57
713
+ 19
714
+ 0
715
+ 15
716
+ 20
717
+ 0
718
+ 5
719
+ 48
720
+ 0
721
+ 49
722
+ 1
723
+ 1
724
+ 11
725
+ I
726
+ 4
727
+ I
728
+ 1
729
+ I
730
+ 1
731
+ I
732
+ 1
733
+ n
734
+ p
735
+ 2
736
+ x
737
+ 5
738
+ apply
739
+ x
740
+ 9
741
+ gen_basic
742
+ p
743
+ 3
744
+ I
745
+ 0
746
+ I
747
+ 17
748
+ I
749
+ d
750
+ x
751
+ 108
752
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
753
+ p
754
+ 1
755
+ x
756
+ 1
757
+ g
758
+ x
759
+ 14
760
+ top_level_code
761
+ x
762
+ 6
763
+ should
764
+ s
765
+ 11
766
+ match(:foo)
767
+ x
768
+ 2
769
+ ==
770
+ p
771
+ 5
772
+ I
773
+ 0
774
+ I
775
+ 17
776
+ I
777
+ a
778
+ I
779
+ 18
780
+ I
781
+ 10
782
+ x
783
+ 108
784
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
785
+ p
786
+ 0
787
+ x
788
+ 2
789
+ it
790
+ p
791
+ 3
792
+ I
793
+ 0
794
+ I
795
+ 16
796
+ I
797
+ b
798
+ x
799
+ 108
800
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
801
+ p
802
+ 0
803
+ p
804
+ 5
805
+ I
806
+ 0
807
+ I
808
+ e
809
+ I
810
+ b
811
+ I
812
+ 15
813
+ I
814
+ 16
815
+ x
816
+ 108
817
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
818
+ p
819
+ 0
820
+ x
821
+ 8
822
+ describe
823
+ s
824
+ 11
825
+ #gen_assert
826
+ M
827
+ 1
828
+ p
829
+ 2
830
+ x
831
+ 9
832
+ for_block
833
+ t
834
+ n
835
+ x
836
+ 9
837
+ __block__
838
+ i
839
+ 22
840
+ 5
841
+ 7
842
+ 0
843
+ 64
844
+ 56
845
+ 1
846
+ 47
847
+ 50
848
+ 2
849
+ 1
850
+ 15
851
+ 5
852
+ 7
853
+ 3
854
+ 64
855
+ 56
856
+ 4
857
+ 47
858
+ 50
859
+ 2
860
+ 1
861
+ 11
862
+ I
863
+ 4
864
+ I
865
+ 0
866
+ I
867
+ 0
868
+ I
869
+ 0
870
+ I
871
+ -2
872
+ p
873
+ 5
874
+ s
875
+ 11
876
+ when nested
877
+ M
878
+ 1
879
+ p
880
+ 2
881
+ x
882
+ 9
883
+ for_block
884
+ t
885
+ n
886
+ x
887
+ 9
888
+ __block__
889
+ i
890
+ 11
891
+ 5
892
+ 7
893
+ 0
894
+ 64
895
+ 56
896
+ 1
897
+ 47
898
+ 50
899
+ 2
900
+ 1
901
+ 11
902
+ I
903
+ 4
904
+ I
905
+ 0
906
+ I
907
+ 0
908
+ I
909
+ 0
910
+ I
911
+ -2
912
+ p
913
+ 3
914
+ s
915
+ 45
916
+ generates nested rule positive lookahead code
917
+ M
918
+ 1
919
+ p
920
+ 2
921
+ x
922
+ 9
923
+ for_block
924
+ t
925
+ n
926
+ x
927
+ 9
928
+ __block__
929
+ i
930
+ 19
931
+ 5
932
+ 56
933
+ 0
934
+ 47
935
+ 50
936
+ 1
937
+ 0
938
+ 49
939
+ 2
940
+ 0
941
+ 7
942
+ 3
943
+ 64
944
+ 49
945
+ 4
946
+ 0
947
+ 83
948
+ 5
949
+ 11
950
+ I
951
+ 3
952
+ I
953
+ 0
954
+ I
955
+ 0
956
+ I
957
+ 0
958
+ I
959
+ -2
960
+ p
961
+ 6
962
+ M
963
+ 1
964
+ p
965
+ 2
966
+ x
967
+ 9
968
+ for_block
969
+ t
970
+ n
971
+ x
972
+ 9
973
+ __block__
974
+ i
975
+ 13
976
+ 57
977
+ 19
978
+ 0
979
+ 15
980
+ 20
981
+ 0
982
+ 5
983
+ 48
984
+ 0
985
+ 49
986
+ 1
987
+ 1
988
+ 11
989
+ I
990
+ 4
991
+ I
992
+ 1
993
+ I
994
+ 1
995
+ I
996
+ 1
997
+ n
998
+ p
999
+ 2
1000
+ x
1001
+ 5
1002
+ apply
1003
+ x
1004
+ 10
1005
+ gen_assert
1006
+ p
1007
+ 3
1008
+ I
1009
+ 0
1010
+ I
1011
+ 21
1012
+ I
1013
+ d
1014
+ x
1015
+ 108
1016
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1017
+ p
1018
+ 1
1019
+ x
1020
+ 1
1021
+ g
1022
+ x
1023
+ 11
1024
+ nested_code
1025
+ x
1026
+ 6
1027
+ should
1028
+ s
1029
+ 80
1030
+ begin
1031
+ p = @scanner.pos
1032
+ r = (match(:foo) && true)
1033
+ @scanner.pos = p
1034
+ r
1035
+ end
1036
+
1037
+ x
1038
+ 5
1039
+ strip
1040
+ x
1041
+ 2
1042
+ ==
1043
+ p
1044
+ 5
1045
+ I
1046
+ 0
1047
+ I
1048
+ 21
1049
+ I
1050
+ a
1051
+ I
1052
+ 22
1053
+ I
1054
+ 13
1055
+ x
1056
+ 108
1057
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1058
+ p
1059
+ 0
1060
+ x
1061
+ 2
1062
+ it
1063
+ p
1064
+ 3
1065
+ I
1066
+ 0
1067
+ I
1068
+ 20
1069
+ I
1070
+ b
1071
+ x
1072
+ 108
1073
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1074
+ p
1075
+ 0
1076
+ x
1077
+ 7
1078
+ context
1079
+ s
1080
+ 14
1081
+ when top-level
1082
+ M
1083
+ 1
1084
+ p
1085
+ 2
1086
+ x
1087
+ 9
1088
+ for_block
1089
+ t
1090
+ n
1091
+ x
1092
+ 9
1093
+ __block__
1094
+ i
1095
+ 11
1096
+ 5
1097
+ 7
1098
+ 0
1099
+ 64
1100
+ 56
1101
+ 1
1102
+ 47
1103
+ 50
1104
+ 2
1105
+ 1
1106
+ 11
1107
+ I
1108
+ 4
1109
+ I
1110
+ 0
1111
+ I
1112
+ 0
1113
+ I
1114
+ 0
1115
+ I
1116
+ -2
1117
+ p
1118
+ 3
1119
+ s
1120
+ 48
1121
+ generates top level rule positive lookahead code
1122
+ M
1123
+ 1
1124
+ p
1125
+ 2
1126
+ x
1127
+ 9
1128
+ for_block
1129
+ t
1130
+ n
1131
+ x
1132
+ 9
1133
+ __block__
1134
+ i
1135
+ 19
1136
+ 5
1137
+ 56
1138
+ 0
1139
+ 47
1140
+ 50
1141
+ 1
1142
+ 0
1143
+ 49
1144
+ 2
1145
+ 0
1146
+ 7
1147
+ 3
1148
+ 64
1149
+ 49
1150
+ 4
1151
+ 0
1152
+ 83
1153
+ 5
1154
+ 11
1155
+ I
1156
+ 3
1157
+ I
1158
+ 0
1159
+ I
1160
+ 0
1161
+ I
1162
+ 0
1163
+ I
1164
+ -2
1165
+ p
1166
+ 6
1167
+ M
1168
+ 1
1169
+ p
1170
+ 2
1171
+ x
1172
+ 9
1173
+ for_block
1174
+ t
1175
+ n
1176
+ x
1177
+ 9
1178
+ __block__
1179
+ i
1180
+ 13
1181
+ 57
1182
+ 19
1183
+ 0
1184
+ 15
1185
+ 20
1186
+ 0
1187
+ 5
1188
+ 48
1189
+ 0
1190
+ 49
1191
+ 1
1192
+ 1
1193
+ 11
1194
+ I
1195
+ 4
1196
+ I
1197
+ 1
1198
+ I
1199
+ 1
1200
+ I
1201
+ 1
1202
+ n
1203
+ p
1204
+ 2
1205
+ x
1206
+ 5
1207
+ apply
1208
+ x
1209
+ 10
1210
+ gen_assert
1211
+ p
1212
+ 3
1213
+ I
1214
+ 0
1215
+ I
1216
+ 2f
1217
+ I
1218
+ d
1219
+ x
1220
+ 108
1221
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1222
+ p
1223
+ 1
1224
+ x
1225
+ 1
1226
+ g
1227
+ x
1228
+ 14
1229
+ top_level_code
1230
+ x
1231
+ 6
1232
+ should
1233
+ s
1234
+ 62
1235
+ p = @scanner.pos
1236
+ r = (match(:foo) && true)
1237
+ @scanner.pos = p
1238
+ r
1239
+
1240
+ x
1241
+ 5
1242
+ strip
1243
+ x
1244
+ 2
1245
+ ==
1246
+ p
1247
+ 5
1248
+ I
1249
+ 0
1250
+ I
1251
+ 2f
1252
+ I
1253
+ a
1254
+ I
1255
+ 30
1256
+ I
1257
+ 13
1258
+ x
1259
+ 108
1260
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1261
+ p
1262
+ 0
1263
+ x
1264
+ 2
1265
+ it
1266
+ p
1267
+ 3
1268
+ I
1269
+ 0
1270
+ I
1271
+ 2e
1272
+ I
1273
+ b
1274
+ x
1275
+ 108
1276
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1277
+ p
1278
+ 0
1279
+ p
1280
+ 5
1281
+ I
1282
+ 0
1283
+ I
1284
+ 1f
1285
+ I
1286
+ b
1287
+ I
1288
+ 2d
1289
+ I
1290
+ 16
1291
+ x
1292
+ 108
1293
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1294
+ p
1295
+ 0
1296
+ s
1297
+ 13
1298
+ #gen_disallow
1299
+ M
1300
+ 1
1301
+ p
1302
+ 2
1303
+ x
1304
+ 9
1305
+ for_block
1306
+ t
1307
+ n
1308
+ x
1309
+ 9
1310
+ __block__
1311
+ i
1312
+ 22
1313
+ 5
1314
+ 7
1315
+ 0
1316
+ 64
1317
+ 56
1318
+ 1
1319
+ 47
1320
+ 50
1321
+ 2
1322
+ 1
1323
+ 15
1324
+ 5
1325
+ 7
1326
+ 3
1327
+ 64
1328
+ 56
1329
+ 4
1330
+ 47
1331
+ 50
1332
+ 2
1333
+ 1
1334
+ 11
1335
+ I
1336
+ 4
1337
+ I
1338
+ 0
1339
+ I
1340
+ 0
1341
+ I
1342
+ 0
1343
+ I
1344
+ -2
1345
+ p
1346
+ 5
1347
+ s
1348
+ 11
1349
+ when nested
1350
+ M
1351
+ 1
1352
+ p
1353
+ 2
1354
+ x
1355
+ 9
1356
+ for_block
1357
+ t
1358
+ n
1359
+ x
1360
+ 9
1361
+ __block__
1362
+ i
1363
+ 11
1364
+ 5
1365
+ 7
1366
+ 0
1367
+ 64
1368
+ 56
1369
+ 1
1370
+ 47
1371
+ 50
1372
+ 2
1373
+ 1
1374
+ 11
1375
+ I
1376
+ 4
1377
+ I
1378
+ 0
1379
+ I
1380
+ 0
1381
+ I
1382
+ 0
1383
+ I
1384
+ -2
1385
+ p
1386
+ 3
1387
+ s
1388
+ 45
1389
+ generates nested rule negative lookahead code
1390
+ M
1391
+ 1
1392
+ p
1393
+ 2
1394
+ x
1395
+ 9
1396
+ for_block
1397
+ t
1398
+ n
1399
+ x
1400
+ 9
1401
+ __block__
1402
+ i
1403
+ 19
1404
+ 5
1405
+ 56
1406
+ 0
1407
+ 47
1408
+ 50
1409
+ 1
1410
+ 0
1411
+ 49
1412
+ 2
1413
+ 0
1414
+ 7
1415
+ 3
1416
+ 64
1417
+ 49
1418
+ 4
1419
+ 0
1420
+ 83
1421
+ 5
1422
+ 11
1423
+ I
1424
+ 3
1425
+ I
1426
+ 0
1427
+ I
1428
+ 0
1429
+ I
1430
+ 0
1431
+ I
1432
+ -2
1433
+ p
1434
+ 6
1435
+ M
1436
+ 1
1437
+ p
1438
+ 2
1439
+ x
1440
+ 9
1441
+ for_block
1442
+ t
1443
+ n
1444
+ x
1445
+ 9
1446
+ __block__
1447
+ i
1448
+ 13
1449
+ 57
1450
+ 19
1451
+ 0
1452
+ 15
1453
+ 20
1454
+ 0
1455
+ 5
1456
+ 48
1457
+ 0
1458
+ 49
1459
+ 1
1460
+ 1
1461
+ 11
1462
+ I
1463
+ 4
1464
+ I
1465
+ 1
1466
+ I
1467
+ 1
1468
+ I
1469
+ 1
1470
+ n
1471
+ p
1472
+ 2
1473
+ x
1474
+ 5
1475
+ apply
1476
+ x
1477
+ 12
1478
+ gen_disallow
1479
+ p
1480
+ 3
1481
+ I
1482
+ 0
1483
+ I
1484
+ 3e
1485
+ I
1486
+ d
1487
+ x
1488
+ 108
1489
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1490
+ p
1491
+ 1
1492
+ x
1493
+ 1
1494
+ g
1495
+ x
1496
+ 11
1497
+ nested_code
1498
+ x
1499
+ 6
1500
+ should
1501
+ s
1502
+ 71
1503
+ begin
1504
+ p = @scanner.pos
1505
+ r = !match(:foo)
1506
+ @scanner.pos = p
1507
+ r
1508
+ end
1509
+
1510
+ x
1511
+ 5
1512
+ strip
1513
+ x
1514
+ 2
1515
+ ==
1516
+ p
1517
+ 5
1518
+ I
1519
+ 0
1520
+ I
1521
+ 3e
1522
+ I
1523
+ a
1524
+ I
1525
+ 3f
1526
+ I
1527
+ 13
1528
+ x
1529
+ 108
1530
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1531
+ p
1532
+ 0
1533
+ x
1534
+ 2
1535
+ it
1536
+ p
1537
+ 3
1538
+ I
1539
+ 0
1540
+ I
1541
+ 3d
1542
+ I
1543
+ b
1544
+ x
1545
+ 108
1546
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1547
+ p
1548
+ 0
1549
+ x
1550
+ 7
1551
+ context
1552
+ s
1553
+ 14
1554
+ when top-level
1555
+ M
1556
+ 1
1557
+ p
1558
+ 2
1559
+ x
1560
+ 9
1561
+ for_block
1562
+ t
1563
+ n
1564
+ x
1565
+ 9
1566
+ __block__
1567
+ i
1568
+ 11
1569
+ 5
1570
+ 7
1571
+ 0
1572
+ 64
1573
+ 56
1574
+ 1
1575
+ 47
1576
+ 50
1577
+ 2
1578
+ 1
1579
+ 11
1580
+ I
1581
+ 4
1582
+ I
1583
+ 0
1584
+ I
1585
+ 0
1586
+ I
1587
+ 0
1588
+ I
1589
+ -2
1590
+ p
1591
+ 3
1592
+ s
1593
+ 48
1594
+ generates top level rule negative lookahead code
1595
+ M
1596
+ 1
1597
+ p
1598
+ 2
1599
+ x
1600
+ 9
1601
+ for_block
1602
+ t
1603
+ n
1604
+ x
1605
+ 9
1606
+ __block__
1607
+ i
1608
+ 19
1609
+ 5
1610
+ 56
1611
+ 0
1612
+ 47
1613
+ 50
1614
+ 1
1615
+ 0
1616
+ 49
1617
+ 2
1618
+ 0
1619
+ 7
1620
+ 3
1621
+ 64
1622
+ 49
1623
+ 4
1624
+ 0
1625
+ 83
1626
+ 5
1627
+ 11
1628
+ I
1629
+ 3
1630
+ I
1631
+ 0
1632
+ I
1633
+ 0
1634
+ I
1635
+ 0
1636
+ I
1637
+ -2
1638
+ p
1639
+ 6
1640
+ M
1641
+ 1
1642
+ p
1643
+ 2
1644
+ x
1645
+ 9
1646
+ for_block
1647
+ t
1648
+ n
1649
+ x
1650
+ 9
1651
+ __block__
1652
+ i
1653
+ 13
1654
+ 57
1655
+ 19
1656
+ 0
1657
+ 15
1658
+ 20
1659
+ 0
1660
+ 5
1661
+ 48
1662
+ 0
1663
+ 49
1664
+ 1
1665
+ 1
1666
+ 11
1667
+ I
1668
+ 4
1669
+ I
1670
+ 1
1671
+ I
1672
+ 1
1673
+ I
1674
+ 1
1675
+ n
1676
+ p
1677
+ 2
1678
+ x
1679
+ 5
1680
+ apply
1681
+ x
1682
+ 12
1683
+ gen_disallow
1684
+ p
1685
+ 3
1686
+ I
1687
+ 0
1688
+ I
1689
+ 4c
1690
+ I
1691
+ d
1692
+ x
1693
+ 108
1694
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1695
+ p
1696
+ 1
1697
+ x
1698
+ 1
1699
+ g
1700
+ x
1701
+ 14
1702
+ top_level_code
1703
+ x
1704
+ 6
1705
+ should
1706
+ s
1707
+ 53
1708
+ p = @scanner.pos
1709
+ r = !match(:foo)
1710
+ @scanner.pos = p
1711
+ r
1712
+
1713
+ x
1714
+ 5
1715
+ strip
1716
+ x
1717
+ 2
1718
+ ==
1719
+ p
1720
+ 5
1721
+ I
1722
+ 0
1723
+ I
1724
+ 4c
1725
+ I
1726
+ a
1727
+ I
1728
+ 4d
1729
+ I
1730
+ 13
1731
+ x
1732
+ 108
1733
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1734
+ p
1735
+ 0
1736
+ x
1737
+ 2
1738
+ it
1739
+ p
1740
+ 3
1741
+ I
1742
+ 0
1743
+ I
1744
+ 4b
1745
+ I
1746
+ b
1747
+ x
1748
+ 108
1749
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1750
+ p
1751
+ 0
1752
+ p
1753
+ 5
1754
+ I
1755
+ 0
1756
+ I
1757
+ 3c
1758
+ I
1759
+ b
1760
+ I
1761
+ 4a
1762
+ I
1763
+ 16
1764
+ x
1765
+ 108
1766
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1767
+ p
1768
+ 0
1769
+ s
1770
+ 20
1771
+ #gen_dispatch_action
1772
+ M
1773
+ 1
1774
+ p
1775
+ 2
1776
+ x
1777
+ 9
1778
+ for_block
1779
+ t
1780
+ n
1781
+ x
1782
+ 9
1783
+ __block__
1784
+ i
1785
+ 32
1786
+ 5
1787
+ 7
1788
+ 0
1789
+ 56
1790
+ 1
1791
+ 47
1792
+ 50
1793
+ 2
1794
+ 1
1795
+ 15
1796
+ 5
1797
+ 7
1798
+ 3
1799
+ 64
1800
+ 56
1801
+ 4
1802
+ 47
1803
+ 50
1804
+ 5
1805
+ 1
1806
+ 15
1807
+ 5
1808
+ 7
1809
+ 6
1810
+ 64
1811
+ 56
1812
+ 7
1813
+ 47
1814
+ 50
1815
+ 5
1816
+ 1
1817
+ 11
1818
+ I
1819
+ 4
1820
+ I
1821
+ 0
1822
+ I
1823
+ 0
1824
+ I
1825
+ 0
1826
+ I
1827
+ -2
1828
+ p
1829
+ 8
1830
+ x
1831
+ 4
1832
+ code
1833
+ M
1834
+ 1
1835
+ p
1836
+ 2
1837
+ x
1838
+ 9
1839
+ for_block
1840
+ t
1841
+ n
1842
+ x
1843
+ 9
1844
+ __block__
1845
+ i
1846
+ 37
1847
+ 45
1848
+ 0
1849
+ 1
1850
+ 13
1851
+ 71
1852
+ 2
1853
+ 47
1854
+ 9
1855
+ 27
1856
+ 47
1857
+ 49
1858
+ 3
1859
+ 0
1860
+ 13
1861
+ 7
1862
+ 4
1863
+ 64
1864
+ 7
1865
+ 5
1866
+ 64
1867
+ 47
1868
+ 49
1869
+ 6
1870
+ 2
1871
+ 15
1872
+ 8
1873
+ 36
1874
+ 7
1875
+ 4
1876
+ 64
1877
+ 7
1878
+ 5
1879
+ 64
1880
+ 49
1881
+ 2
1882
+ 2
1883
+ 11
1884
+ I
1885
+ 5
1886
+ I
1887
+ 0
1888
+ I
1889
+ 0
1890
+ I
1891
+ 0
1892
+ I
1893
+ -2
1894
+ p
1895
+ 7
1896
+ x
1897
+ 8
1898
+ NodeCode
1899
+ n
1900
+ x
1901
+ 3
1902
+ new
1903
+ x
1904
+ 8
1905
+ allocate
1906
+ s
1907
+ 4
1908
+ Word
1909
+ s
1910
+ 6
1911
+ parsed
1912
+ x
1913
+ 10
1914
+ initialize
1915
+ p
1916
+ 3
1917
+ I
1918
+ 0
1919
+ I
1920
+ 59
1921
+ I
1922
+ 25
1923
+ x
1924
+ 108
1925
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
1926
+ p
1927
+ 0
1928
+ x
1929
+ 3
1930
+ let
1931
+ s
1932
+ 11
1933
+ when nested
1934
+ M
1935
+ 1
1936
+ p
1937
+ 2
1938
+ x
1939
+ 9
1940
+ for_block
1941
+ t
1942
+ n
1943
+ x
1944
+ 9
1945
+ __block__
1946
+ i
1947
+ 11
1948
+ 5
1949
+ 7
1950
+ 0
1951
+ 64
1952
+ 56
1953
+ 1
1954
+ 47
1955
+ 50
1956
+ 2
1957
+ 1
1958
+ 11
1959
+ I
1960
+ 4
1961
+ I
1962
+ 0
1963
+ I
1964
+ 0
1965
+ I
1966
+ 0
1967
+ I
1968
+ -2
1969
+ p
1970
+ 3
1971
+ s
1972
+ 55
1973
+ generates nested apply-rule code with a dispatch action
1974
+ M
1975
+ 1
1976
+ p
1977
+ 2
1978
+ x
1979
+ 9
1980
+ for_block
1981
+ t
1982
+ n
1983
+ x
1984
+ 9
1985
+ __block__
1986
+ i
1987
+ 16
1988
+ 5
1989
+ 56
1990
+ 0
1991
+ 47
1992
+ 50
1993
+ 1
1994
+ 0
1995
+ 49
1996
+ 2
1997
+ 0
1998
+ 7
1999
+ 3
2000
+ 64
2001
+ 83
2002
+ 4
2003
+ 11
2004
+ I
2005
+ 3
2006
+ I
2007
+ 0
2008
+ I
2009
+ 0
2010
+ I
2011
+ 0
2012
+ I
2013
+ -2
2014
+ p
2015
+ 5
2016
+ M
2017
+ 1
2018
+ p
2019
+ 2
2020
+ x
2021
+ 9
2022
+ for_block
2023
+ t
2024
+ n
2025
+ x
2026
+ 9
2027
+ __block__
2028
+ i
2029
+ 16
2030
+ 57
2031
+ 19
2032
+ 0
2033
+ 15
2034
+ 20
2035
+ 0
2036
+ 5
2037
+ 48
2038
+ 0
2039
+ 5
2040
+ 48
2041
+ 1
2042
+ 49
2043
+ 2
2044
+ 2
2045
+ 11
2046
+ I
2047
+ 5
2048
+ I
2049
+ 1
2050
+ I
2051
+ 1
2052
+ I
2053
+ 1
2054
+ n
2055
+ p
2056
+ 3
2057
+ x
2058
+ 5
2059
+ apply
2060
+ x
2061
+ 4
2062
+ code
2063
+ x
2064
+ 19
2065
+ gen_dispatch_action
2066
+ p
2067
+ 3
2068
+ I
2069
+ 0
2070
+ I
2071
+ 5d
2072
+ I
2073
+ 10
2074
+ x
2075
+ 108
2076
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2077
+ p
2078
+ 1
2079
+ x
2080
+ 1
2081
+ g
2082
+ x
2083
+ 11
2084
+ nested_code
2085
+ x
2086
+ 6
2087
+ should
2088
+ s
2089
+ 39
2090
+ ((r = match(:foo)) && Word.parsed([r]))
2091
+ x
2092
+ 2
2093
+ ==
2094
+ p
2095
+ 5
2096
+ I
2097
+ 0
2098
+ I
2099
+ 5d
2100
+ I
2101
+ a
2102
+ I
2103
+ 5e
2104
+ I
2105
+ 10
2106
+ x
2107
+ 108
2108
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2109
+ p
2110
+ 0
2111
+ x
2112
+ 2
2113
+ it
2114
+ p
2115
+ 3
2116
+ I
2117
+ 0
2118
+ I
2119
+ 5c
2120
+ I
2121
+ b
2122
+ x
2123
+ 108
2124
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2125
+ p
2126
+ 0
2127
+ x
2128
+ 7
2129
+ context
2130
+ s
2131
+ 14
2132
+ when top-level
2133
+ M
2134
+ 1
2135
+ p
2136
+ 2
2137
+ x
2138
+ 9
2139
+ for_block
2140
+ t
2141
+ n
2142
+ x
2143
+ 9
2144
+ __block__
2145
+ i
2146
+ 11
2147
+ 5
2148
+ 7
2149
+ 0
2150
+ 64
2151
+ 56
2152
+ 1
2153
+ 47
2154
+ 50
2155
+ 2
2156
+ 1
2157
+ 11
2158
+ I
2159
+ 4
2160
+ I
2161
+ 0
2162
+ I
2163
+ 0
2164
+ I
2165
+ 0
2166
+ I
2167
+ -2
2168
+ p
2169
+ 3
2170
+ s
2171
+ 58
2172
+ generates top level apply-rule code with a dispatch action
2173
+ M
2174
+ 1
2175
+ p
2176
+ 2
2177
+ x
2178
+ 9
2179
+ for_block
2180
+ t
2181
+ n
2182
+ x
2183
+ 9
2184
+ __block__
2185
+ i
2186
+ 16
2187
+ 5
2188
+ 56
2189
+ 0
2190
+ 47
2191
+ 50
2192
+ 1
2193
+ 0
2194
+ 49
2195
+ 2
2196
+ 0
2197
+ 7
2198
+ 3
2199
+ 64
2200
+ 83
2201
+ 4
2202
+ 11
2203
+ I
2204
+ 3
2205
+ I
2206
+ 0
2207
+ I
2208
+ 0
2209
+ I
2210
+ 0
2211
+ I
2212
+ -2
2213
+ p
2214
+ 5
2215
+ M
2216
+ 1
2217
+ p
2218
+ 2
2219
+ x
2220
+ 9
2221
+ for_block
2222
+ t
2223
+ n
2224
+ x
2225
+ 9
2226
+ __block__
2227
+ i
2228
+ 16
2229
+ 57
2230
+ 19
2231
+ 0
2232
+ 15
2233
+ 20
2234
+ 0
2235
+ 5
2236
+ 48
2237
+ 0
2238
+ 5
2239
+ 48
2240
+ 1
2241
+ 49
2242
+ 2
2243
+ 2
2244
+ 11
2245
+ I
2246
+ 5
2247
+ I
2248
+ 1
2249
+ I
2250
+ 1
2251
+ I
2252
+ 1
2253
+ n
2254
+ p
2255
+ 3
2256
+ x
2257
+ 5
2258
+ apply
2259
+ x
2260
+ 4
2261
+ code
2262
+ x
2263
+ 19
2264
+ gen_dispatch_action
2265
+ p
2266
+ 3
2267
+ I
2268
+ 0
2269
+ I
2270
+ 64
2271
+ I
2272
+ 10
2273
+ x
2274
+ 108
2275
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2276
+ p
2277
+ 1
2278
+ x
2279
+ 1
2280
+ g
2281
+ x
2282
+ 14
2283
+ top_level_code
2284
+ x
2285
+ 6
2286
+ should
2287
+ s
2288
+ 37
2289
+ (r = match(:foo)) && Word.parsed([r])
2290
+ x
2291
+ 2
2292
+ ==
2293
+ p
2294
+ 5
2295
+ I
2296
+ 0
2297
+ I
2298
+ 64
2299
+ I
2300
+ a
2301
+ I
2302
+ 65
2303
+ I
2304
+ 10
2305
+ x
2306
+ 108
2307
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2308
+ p
2309
+ 0
2310
+ x
2311
+ 2
2312
+ it
2313
+ p
2314
+ 3
2315
+ I
2316
+ 0
2317
+ I
2318
+ 63
2319
+ I
2320
+ b
2321
+ x
2322
+ 108
2323
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2324
+ p
2325
+ 0
2326
+ p
2327
+ 7
2328
+ I
2329
+ 0
2330
+ I
2331
+ 59
2332
+ I
2333
+ a
2334
+ I
2335
+ 5b
2336
+ I
2337
+ 15
2338
+ I
2339
+ 62
2340
+ I
2341
+ 20
2342
+ x
2343
+ 108
2344
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2345
+ p
2346
+ 0
2347
+ s
2348
+ 18
2349
+ #gen_direct_action
2350
+ M
2351
+ 1
2352
+ p
2353
+ 2
2354
+ x
2355
+ 9
2356
+ for_block
2357
+ t
2358
+ n
2359
+ x
2360
+ 9
2361
+ __block__
2362
+ i
2363
+ 32
2364
+ 5
2365
+ 7
2366
+ 0
2367
+ 56
2368
+ 1
2369
+ 47
2370
+ 50
2371
+ 2
2372
+ 1
2373
+ 15
2374
+ 5
2375
+ 7
2376
+ 3
2377
+ 64
2378
+ 56
2379
+ 4
2380
+ 47
2381
+ 50
2382
+ 5
2383
+ 1
2384
+ 15
2385
+ 5
2386
+ 7
2387
+ 6
2388
+ 64
2389
+ 56
2390
+ 7
2391
+ 47
2392
+ 50
2393
+ 5
2394
+ 1
2395
+ 11
2396
+ I
2397
+ 4
2398
+ I
2399
+ 0
2400
+ I
2401
+ 0
2402
+ I
2403
+ 0
2404
+ I
2405
+ -2
2406
+ p
2407
+ 8
2408
+ x
2409
+ 4
2410
+ code
2411
+ M
2412
+ 1
2413
+ p
2414
+ 2
2415
+ x
2416
+ 9
2417
+ for_block
2418
+ t
2419
+ n
2420
+ x
2421
+ 9
2422
+ __block__
2423
+ i
2424
+ 31
2425
+ 45
2426
+ 0
2427
+ 1
2428
+ 13
2429
+ 71
2430
+ 2
2431
+ 47
2432
+ 9
2433
+ 24
2434
+ 47
2435
+ 49
2436
+ 3
2437
+ 0
2438
+ 13
2439
+ 7
2440
+ 4
2441
+ 64
2442
+ 47
2443
+ 49
2444
+ 5
2445
+ 1
2446
+ 15
2447
+ 8
2448
+ 30
2449
+ 7
2450
+ 4
2451
+ 64
2452
+ 49
2453
+ 2
2454
+ 1
2455
+ 11
2456
+ I
2457
+ 4
2458
+ I
2459
+ 0
2460
+ I
2461
+ 0
2462
+ I
2463
+ 0
2464
+ I
2465
+ -2
2466
+ p
2467
+ 6
2468
+ x
2469
+ 10
2470
+ ActionCode
2471
+ n
2472
+ x
2473
+ 3
2474
+ new
2475
+ x
2476
+ 8
2477
+ allocate
2478
+ s
2479
+ 12
2480
+ |_| _.to_sym
2481
+ x
2482
+ 10
2483
+ initialize
2484
+ p
2485
+ 3
2486
+ I
2487
+ 0
2488
+ I
2489
+ 6c
2490
+ I
2491
+ 1f
2492
+ x
2493
+ 108
2494
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2495
+ p
2496
+ 0
2497
+ x
2498
+ 3
2499
+ let
2500
+ s
2501
+ 11
2502
+ when nested
2503
+ M
2504
+ 1
2505
+ p
2506
+ 2
2507
+ x
2508
+ 9
2509
+ for_block
2510
+ t
2511
+ n
2512
+ x
2513
+ 9
2514
+ __block__
2515
+ i
2516
+ 11
2517
+ 5
2518
+ 7
2519
+ 0
2520
+ 64
2521
+ 56
2522
+ 1
2523
+ 47
2524
+ 50
2525
+ 2
2526
+ 1
2527
+ 11
2528
+ I
2529
+ 4
2530
+ I
2531
+ 0
2532
+ I
2533
+ 0
2534
+ I
2535
+ 0
2536
+ I
2537
+ -2
2538
+ p
2539
+ 3
2540
+ s
2541
+ 53
2542
+ generates nested apply-rule code with a direct action
2543
+ M
2544
+ 1
2545
+ p
2546
+ 2
2547
+ x
2548
+ 9
2549
+ for_block
2550
+ t
2551
+ n
2552
+ x
2553
+ 9
2554
+ __block__
2555
+ i
2556
+ 16
2557
+ 5
2558
+ 56
2559
+ 0
2560
+ 47
2561
+ 50
2562
+ 1
2563
+ 0
2564
+ 49
2565
+ 2
2566
+ 0
2567
+ 7
2568
+ 3
2569
+ 64
2570
+ 83
2571
+ 4
2572
+ 11
2573
+ I
2574
+ 3
2575
+ I
2576
+ 0
2577
+ I
2578
+ 0
2579
+ I
2580
+ 0
2581
+ I
2582
+ -2
2583
+ p
2584
+ 5
2585
+ M
2586
+ 1
2587
+ p
2588
+ 2
2589
+ x
2590
+ 9
2591
+ for_block
2592
+ t
2593
+ n
2594
+ x
2595
+ 9
2596
+ __block__
2597
+ i
2598
+ 16
2599
+ 57
2600
+ 19
2601
+ 0
2602
+ 15
2603
+ 20
2604
+ 0
2605
+ 5
2606
+ 48
2607
+ 0
2608
+ 5
2609
+ 48
2610
+ 1
2611
+ 49
2612
+ 2
2613
+ 2
2614
+ 11
2615
+ I
2616
+ 5
2617
+ I
2618
+ 1
2619
+ I
2620
+ 1
2621
+ I
2622
+ 1
2623
+ n
2624
+ p
2625
+ 3
2626
+ x
2627
+ 5
2628
+ apply
2629
+ x
2630
+ 4
2631
+ code
2632
+ x
2633
+ 17
2634
+ gen_direct_action
2635
+ p
2636
+ 3
2637
+ I
2638
+ 0
2639
+ I
2640
+ 70
2641
+ I
2642
+ 10
2643
+ x
2644
+ 108
2645
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2646
+ p
2647
+ 1
2648
+ x
2649
+ 1
2650
+ g
2651
+ x
2652
+ 11
2653
+ nested_code
2654
+ x
2655
+ 6
2656
+ should
2657
+ s
2658
+ 33
2659
+ ((r = match(:foo)) && (r.to_sym))
2660
+ x
2661
+ 2
2662
+ ==
2663
+ p
2664
+ 5
2665
+ I
2666
+ 0
2667
+ I
2668
+ 70
2669
+ I
2670
+ a
2671
+ I
2672
+ 71
2673
+ I
2674
+ 10
2675
+ x
2676
+ 108
2677
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2678
+ p
2679
+ 0
2680
+ x
2681
+ 2
2682
+ it
2683
+ p
2684
+ 3
2685
+ I
2686
+ 0
2687
+ I
2688
+ 6f
2689
+ I
2690
+ b
2691
+ x
2692
+ 108
2693
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2694
+ p
2695
+ 0
2696
+ x
2697
+ 7
2698
+ context
2699
+ s
2700
+ 14
2701
+ when top-level
2702
+ M
2703
+ 1
2704
+ p
2705
+ 2
2706
+ x
2707
+ 9
2708
+ for_block
2709
+ t
2710
+ n
2711
+ x
2712
+ 9
2713
+ __block__
2714
+ i
2715
+ 11
2716
+ 5
2717
+ 7
2718
+ 0
2719
+ 64
2720
+ 56
2721
+ 1
2722
+ 47
2723
+ 50
2724
+ 2
2725
+ 1
2726
+ 11
2727
+ I
2728
+ 4
2729
+ I
2730
+ 0
2731
+ I
2732
+ 0
2733
+ I
2734
+ 0
2735
+ I
2736
+ -2
2737
+ p
2738
+ 3
2739
+ s
2740
+ 56
2741
+ generates top level apply-rule code with a direct action
2742
+ M
2743
+ 1
2744
+ p
2745
+ 2
2746
+ x
2747
+ 9
2748
+ for_block
2749
+ t
2750
+ n
2751
+ x
2752
+ 9
2753
+ __block__
2754
+ i
2755
+ 16
2756
+ 5
2757
+ 56
2758
+ 0
2759
+ 47
2760
+ 50
2761
+ 1
2762
+ 0
2763
+ 49
2764
+ 2
2765
+ 0
2766
+ 7
2767
+ 3
2768
+ 64
2769
+ 83
2770
+ 4
2771
+ 11
2772
+ I
2773
+ 3
2774
+ I
2775
+ 0
2776
+ I
2777
+ 0
2778
+ I
2779
+ 0
2780
+ I
2781
+ -2
2782
+ p
2783
+ 5
2784
+ M
2785
+ 1
2786
+ p
2787
+ 2
2788
+ x
2789
+ 9
2790
+ for_block
2791
+ t
2792
+ n
2793
+ x
2794
+ 9
2795
+ __block__
2796
+ i
2797
+ 16
2798
+ 57
2799
+ 19
2800
+ 0
2801
+ 15
2802
+ 20
2803
+ 0
2804
+ 5
2805
+ 48
2806
+ 0
2807
+ 5
2808
+ 48
2809
+ 1
2810
+ 49
2811
+ 2
2812
+ 2
2813
+ 11
2814
+ I
2815
+ 5
2816
+ I
2817
+ 1
2818
+ I
2819
+ 1
2820
+ I
2821
+ 1
2822
+ n
2823
+ p
2824
+ 3
2825
+ x
2826
+ 5
2827
+ apply
2828
+ x
2829
+ 4
2830
+ code
2831
+ x
2832
+ 17
2833
+ gen_direct_action
2834
+ p
2835
+ 3
2836
+ I
2837
+ 0
2838
+ I
2839
+ 77
2840
+ I
2841
+ 10
2842
+ x
2843
+ 108
2844
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2845
+ p
2846
+ 1
2847
+ x
2848
+ 1
2849
+ g
2850
+ x
2851
+ 14
2852
+ top_level_code
2853
+ x
2854
+ 6
2855
+ should
2856
+ s
2857
+ 31
2858
+ (r = match(:foo)) && (r.to_sym)
2859
+ x
2860
+ 2
2861
+ ==
2862
+ p
2863
+ 5
2864
+ I
2865
+ 0
2866
+ I
2867
+ 77
2868
+ I
2869
+ a
2870
+ I
2871
+ 78
2872
+ I
2873
+ 10
2874
+ x
2875
+ 108
2876
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2877
+ p
2878
+ 0
2879
+ x
2880
+ 2
2881
+ it
2882
+ p
2883
+ 3
2884
+ I
2885
+ 0
2886
+ I
2887
+ 76
2888
+ I
2889
+ b
2890
+ x
2891
+ 108
2892
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2893
+ p
2894
+ 0
2895
+ p
2896
+ 7
2897
+ I
2898
+ 0
2899
+ I
2900
+ 6c
2901
+ I
2902
+ a
2903
+ I
2904
+ 6e
2905
+ I
2906
+ 15
2907
+ I
2908
+ 75
2909
+ I
2910
+ 20
2911
+ x
2912
+ 108
2913
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
2914
+ p
2915
+ 0
2916
+ s
2917
+ 10
2918
+ #gen_token
2919
+ M
2920
+ 1
2921
+ p
2922
+ 2
2923
+ x
2924
+ 9
2925
+ for_block
2926
+ t
2927
+ n
2928
+ x
2929
+ 9
2930
+ __block__
2931
+ i
2932
+ 22
2933
+ 5
2934
+ 7
2935
+ 0
2936
+ 64
2937
+ 56
2938
+ 1
2939
+ 47
2940
+ 50
2941
+ 2
2942
+ 1
2943
+ 15
2944
+ 5
2945
+ 7
2946
+ 3
2947
+ 64
2948
+ 56
2949
+ 4
2950
+ 47
2951
+ 50
2952
+ 2
2953
+ 1
2954
+ 11
2955
+ I
2956
+ 4
2957
+ I
2958
+ 0
2959
+ I
2960
+ 0
2961
+ I
2962
+ 0
2963
+ I
2964
+ -2
2965
+ p
2966
+ 5
2967
+ s
2968
+ 11
2969
+ when nested
2970
+ M
2971
+ 1
2972
+ p
2973
+ 2
2974
+ x
2975
+ 9
2976
+ for_block
2977
+ t
2978
+ n
2979
+ x
2980
+ 9
2981
+ __block__
2982
+ i
2983
+ 11
2984
+ 5
2985
+ 7
2986
+ 0
2987
+ 64
2988
+ 56
2989
+ 1
2990
+ 47
2991
+ 50
2992
+ 2
2993
+ 1
2994
+ 11
2995
+ I
2996
+ 4
2997
+ I
2998
+ 0
2999
+ I
3000
+ 0
3001
+ I
3002
+ 0
3003
+ I
3004
+ -2
3005
+ p
3006
+ 3
3007
+ s
3008
+ 61
3009
+ generates nested apply-rule code returning the matched string
3010
+ M
3011
+ 1
3012
+ p
3013
+ 2
3014
+ x
3015
+ 9
3016
+ for_block
3017
+ t
3018
+ n
3019
+ x
3020
+ 9
3021
+ __block__
3022
+ i
3023
+ 19
3024
+ 5
3025
+ 56
3026
+ 0
3027
+ 47
3028
+ 50
3029
+ 1
3030
+ 0
3031
+ 49
3032
+ 2
3033
+ 0
3034
+ 7
3035
+ 3
3036
+ 64
3037
+ 49
3038
+ 4
3039
+ 0
3040
+ 83
3041
+ 5
3042
+ 11
3043
+ I
3044
+ 3
3045
+ I
3046
+ 0
3047
+ I
3048
+ 0
3049
+ I
3050
+ 0
3051
+ I
3052
+ -2
3053
+ p
3054
+ 6
3055
+ M
3056
+ 1
3057
+ p
3058
+ 2
3059
+ x
3060
+ 9
3061
+ for_block
3062
+ t
3063
+ n
3064
+ x
3065
+ 9
3066
+ __block__
3067
+ i
3068
+ 13
3069
+ 57
3070
+ 19
3071
+ 0
3072
+ 15
3073
+ 20
3074
+ 0
3075
+ 5
3076
+ 48
3077
+ 0
3078
+ 49
3079
+ 1
3080
+ 1
3081
+ 11
3082
+ I
3083
+ 4
3084
+ I
3085
+ 1
3086
+ I
3087
+ 1
3088
+ I
3089
+ 1
3090
+ n
3091
+ p
3092
+ 2
3093
+ x
3094
+ 5
3095
+ apply
3096
+ x
3097
+ 9
3098
+ gen_token
3099
+ p
3100
+ 3
3101
+ I
3102
+ 0
3103
+ I
3104
+ 81
3105
+ I
3106
+ d
3107
+ x
3108
+ 108
3109
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3110
+ p
3111
+ 1
3112
+ x
3113
+ 1
3114
+ g
3115
+ x
3116
+ 11
3117
+ nested_code
3118
+ x
3119
+ 6
3120
+ should
3121
+ s
3122
+ 86
3123
+ begin
3124
+ tp = @scanner.pos
3125
+ match(:foo) &&
3126
+ @scanner.string[tp...(@scanner.pos)]
3127
+ end
3128
+
3129
+ x
3130
+ 5
3131
+ strip
3132
+ x
3133
+ 2
3134
+ ==
3135
+ p
3136
+ 5
3137
+ I
3138
+ 0
3139
+ I
3140
+ 81
3141
+ I
3142
+ a
3143
+ I
3144
+ 82
3145
+ I
3146
+ 13
3147
+ x
3148
+ 108
3149
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3150
+ p
3151
+ 0
3152
+ x
3153
+ 2
3154
+ it
3155
+ p
3156
+ 3
3157
+ I
3158
+ 0
3159
+ I
3160
+ 80
3161
+ I
3162
+ b
3163
+ x
3164
+ 108
3165
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3166
+ p
3167
+ 0
3168
+ x
3169
+ 7
3170
+ context
3171
+ s
3172
+ 14
3173
+ when top-level
3174
+ M
3175
+ 1
3176
+ p
3177
+ 2
3178
+ x
3179
+ 9
3180
+ for_block
3181
+ t
3182
+ n
3183
+ x
3184
+ 9
3185
+ __block__
3186
+ i
3187
+ 11
3188
+ 5
3189
+ 7
3190
+ 0
3191
+ 64
3192
+ 56
3193
+ 1
3194
+ 47
3195
+ 50
3196
+ 2
3197
+ 1
3198
+ 11
3199
+ I
3200
+ 4
3201
+ I
3202
+ 0
3203
+ I
3204
+ 0
3205
+ I
3206
+ 0
3207
+ I
3208
+ -2
3209
+ p
3210
+ 3
3211
+ s
3212
+ 64
3213
+ generates top level apply-rule code returning the matched string
3214
+ M
3215
+ 1
3216
+ p
3217
+ 2
3218
+ x
3219
+ 9
3220
+ for_block
3221
+ t
3222
+ n
3223
+ x
3224
+ 9
3225
+ __block__
3226
+ i
3227
+ 19
3228
+ 5
3229
+ 56
3230
+ 0
3231
+ 47
3232
+ 50
3233
+ 1
3234
+ 0
3235
+ 49
3236
+ 2
3237
+ 0
3238
+ 7
3239
+ 3
3240
+ 64
3241
+ 49
3242
+ 4
3243
+ 0
3244
+ 83
3245
+ 5
3246
+ 11
3247
+ I
3248
+ 3
3249
+ I
3250
+ 0
3251
+ I
3252
+ 0
3253
+ I
3254
+ 0
3255
+ I
3256
+ -2
3257
+ p
3258
+ 6
3259
+ M
3260
+ 1
3261
+ p
3262
+ 2
3263
+ x
3264
+ 9
3265
+ for_block
3266
+ t
3267
+ n
3268
+ x
3269
+ 9
3270
+ __block__
3271
+ i
3272
+ 13
3273
+ 57
3274
+ 19
3275
+ 0
3276
+ 15
3277
+ 20
3278
+ 0
3279
+ 5
3280
+ 48
3281
+ 0
3282
+ 49
3283
+ 1
3284
+ 1
3285
+ 11
3286
+ I
3287
+ 4
3288
+ I
3289
+ 1
3290
+ I
3291
+ 1
3292
+ I
3293
+ 1
3294
+ n
3295
+ p
3296
+ 2
3297
+ x
3298
+ 5
3299
+ apply
3300
+ x
3301
+ 9
3302
+ gen_token
3303
+ p
3304
+ 3
3305
+ I
3306
+ 0
3307
+ I
3308
+ 8e
3309
+ I
3310
+ d
3311
+ x
3312
+ 108
3313
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3314
+ p
3315
+ 1
3316
+ x
3317
+ 1
3318
+ g
3319
+ x
3320
+ 14
3321
+ top_level_code
3322
+ x
3323
+ 6
3324
+ should
3325
+ s
3326
+ 70
3327
+ tp = @scanner.pos
3328
+ match(:foo) &&
3329
+ @scanner.string[tp...(@scanner.pos)]
3330
+
3331
+ x
3332
+ 5
3333
+ strip
3334
+ x
3335
+ 2
3336
+ ==
3337
+ p
3338
+ 5
3339
+ I
3340
+ 0
3341
+ I
3342
+ 8e
3343
+ I
3344
+ a
3345
+ I
3346
+ 8f
3347
+ I
3348
+ 13
3349
+ x
3350
+ 108
3351
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3352
+ p
3353
+ 0
3354
+ x
3355
+ 2
3356
+ it
3357
+ p
3358
+ 3
3359
+ I
3360
+ 0
3361
+ I
3362
+ 8d
3363
+ I
3364
+ b
3365
+ x
3366
+ 108
3367
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3368
+ p
3369
+ 0
3370
+ p
3371
+ 5
3372
+ I
3373
+ 0
3374
+ I
3375
+ 7f
3376
+ I
3377
+ b
3378
+ I
3379
+ 8c
3380
+ I
3381
+ 16
3382
+ x
3383
+ 108
3384
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3385
+ p
3386
+ 0
3387
+ s
3388
+ 9
3389
+ #gen_skip
3390
+ M
3391
+ 1
3392
+ p
3393
+ 2
3394
+ x
3395
+ 9
3396
+ for_block
3397
+ t
3398
+ n
3399
+ x
3400
+ 9
3401
+ __block__
3402
+ i
3403
+ 22
3404
+ 5
3405
+ 7
3406
+ 0
3407
+ 64
3408
+ 56
3409
+ 1
3410
+ 47
3411
+ 50
3412
+ 2
3413
+ 1
3414
+ 15
3415
+ 5
3416
+ 7
3417
+ 3
3418
+ 64
3419
+ 56
3420
+ 4
3421
+ 47
3422
+ 50
3423
+ 2
3424
+ 1
3425
+ 11
3426
+ I
3427
+ 4
3428
+ I
3429
+ 0
3430
+ I
3431
+ 0
3432
+ I
3433
+ 0
3434
+ I
3435
+ -2
3436
+ p
3437
+ 5
3438
+ s
3439
+ 11
3440
+ when nested
3441
+ M
3442
+ 1
3443
+ p
3444
+ 2
3445
+ x
3446
+ 9
3447
+ for_block
3448
+ t
3449
+ n
3450
+ x
3451
+ 9
3452
+ __block__
3453
+ i
3454
+ 11
3455
+ 5
3456
+ 7
3457
+ 0
3458
+ 64
3459
+ 56
3460
+ 1
3461
+ 47
3462
+ 50
3463
+ 2
3464
+ 1
3465
+ 11
3466
+ I
3467
+ 4
3468
+ I
3469
+ 0
3470
+ I
3471
+ 0
3472
+ I
3473
+ 0
3474
+ I
3475
+ -2
3476
+ p
3477
+ 3
3478
+ s
3479
+ 35
3480
+ generates nested rule skipping code
3481
+ M
3482
+ 1
3483
+ p
3484
+ 2
3485
+ x
3486
+ 9
3487
+ for_block
3488
+ t
3489
+ n
3490
+ x
3491
+ 9
3492
+ __block__
3493
+ i
3494
+ 16
3495
+ 5
3496
+ 56
3497
+ 0
3498
+ 47
3499
+ 50
3500
+ 1
3501
+ 0
3502
+ 49
3503
+ 2
3504
+ 0
3505
+ 7
3506
+ 3
3507
+ 64
3508
+ 83
3509
+ 4
3510
+ 11
3511
+ I
3512
+ 3
3513
+ I
3514
+ 0
3515
+ I
3516
+ 0
3517
+ I
3518
+ 0
3519
+ I
3520
+ -2
3521
+ p
3522
+ 5
3523
+ M
3524
+ 1
3525
+ p
3526
+ 2
3527
+ x
3528
+ 9
3529
+ for_block
3530
+ t
3531
+ n
3532
+ x
3533
+ 9
3534
+ __block__
3535
+ i
3536
+ 13
3537
+ 57
3538
+ 19
3539
+ 0
3540
+ 15
3541
+ 20
3542
+ 0
3543
+ 5
3544
+ 48
3545
+ 0
3546
+ 49
3547
+ 1
3548
+ 1
3549
+ 11
3550
+ I
3551
+ 4
3552
+ I
3553
+ 1
3554
+ I
3555
+ 1
3556
+ I
3557
+ 1
3558
+ n
3559
+ p
3560
+ 2
3561
+ x
3562
+ 5
3563
+ apply
3564
+ x
3565
+ 8
3566
+ gen_skip
3567
+ p
3568
+ 3
3569
+ I
3570
+ 0
3571
+ I
3572
+ 9c
3573
+ I
3574
+ d
3575
+ x
3576
+ 108
3577
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3578
+ p
3579
+ 1
3580
+ x
3581
+ 1
3582
+ g
3583
+ x
3584
+ 11
3585
+ nested_code
3586
+ x
3587
+ 6
3588
+ should
3589
+ s
3590
+ 21
3591
+ (match(:foo) && true)
3592
+ x
3593
+ 2
3594
+ ==
3595
+ p
3596
+ 5
3597
+ I
3598
+ 0
3599
+ I
3600
+ 9c
3601
+ I
3602
+ a
3603
+ I
3604
+ 9d
3605
+ I
3606
+ 10
3607
+ x
3608
+ 108
3609
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3610
+ p
3611
+ 0
3612
+ x
3613
+ 2
3614
+ it
3615
+ p
3616
+ 3
3617
+ I
3618
+ 0
3619
+ I
3620
+ 9b
3621
+ I
3622
+ b
3623
+ x
3624
+ 108
3625
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3626
+ p
3627
+ 0
3628
+ x
3629
+ 7
3630
+ context
3631
+ s
3632
+ 14
3633
+ when top-level
3634
+ M
3635
+ 1
3636
+ p
3637
+ 2
3638
+ x
3639
+ 9
3640
+ for_block
3641
+ t
3642
+ n
3643
+ x
3644
+ 9
3645
+ __block__
3646
+ i
3647
+ 11
3648
+ 5
3649
+ 7
3650
+ 0
3651
+ 64
3652
+ 56
3653
+ 1
3654
+ 47
3655
+ 50
3656
+ 2
3657
+ 1
3658
+ 11
3659
+ I
3660
+ 4
3661
+ I
3662
+ 0
3663
+ I
3664
+ 0
3665
+ I
3666
+ 0
3667
+ I
3668
+ -2
3669
+ p
3670
+ 3
3671
+ s
3672
+ 38
3673
+ generates top level rule skipping code
3674
+ M
3675
+ 1
3676
+ p
3677
+ 2
3678
+ x
3679
+ 9
3680
+ for_block
3681
+ t
3682
+ n
3683
+ x
3684
+ 9
3685
+ __block__
3686
+ i
3687
+ 16
3688
+ 5
3689
+ 56
3690
+ 0
3691
+ 47
3692
+ 50
3693
+ 1
3694
+ 0
3695
+ 49
3696
+ 2
3697
+ 0
3698
+ 7
3699
+ 3
3700
+ 64
3701
+ 83
3702
+ 4
3703
+ 11
3704
+ I
3705
+ 3
3706
+ I
3707
+ 0
3708
+ I
3709
+ 0
3710
+ I
3711
+ 0
3712
+ I
3713
+ -2
3714
+ p
3715
+ 5
3716
+ M
3717
+ 1
3718
+ p
3719
+ 2
3720
+ x
3721
+ 9
3722
+ for_block
3723
+ t
3724
+ n
3725
+ x
3726
+ 9
3727
+ __block__
3728
+ i
3729
+ 13
3730
+ 57
3731
+ 19
3732
+ 0
3733
+ 15
3734
+ 20
3735
+ 0
3736
+ 5
3737
+ 48
3738
+ 0
3739
+ 49
3740
+ 1
3741
+ 1
3742
+ 11
3743
+ I
3744
+ 4
3745
+ I
3746
+ 1
3747
+ I
3748
+ 1
3749
+ I
3750
+ 1
3751
+ n
3752
+ p
3753
+ 2
3754
+ x
3755
+ 5
3756
+ apply
3757
+ x
3758
+ 8
3759
+ gen_skip
3760
+ p
3761
+ 3
3762
+ I
3763
+ 0
3764
+ I
3765
+ a3
3766
+ I
3767
+ d
3768
+ x
3769
+ 108
3770
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3771
+ p
3772
+ 1
3773
+ x
3774
+ 1
3775
+ g
3776
+ x
3777
+ 14
3778
+ top_level_code
3779
+ x
3780
+ 6
3781
+ should
3782
+ s
3783
+ 19
3784
+ match(:foo) && true
3785
+ x
3786
+ 2
3787
+ ==
3788
+ p
3789
+ 5
3790
+ I
3791
+ 0
3792
+ I
3793
+ a3
3794
+ I
3795
+ a
3796
+ I
3797
+ a4
3798
+ I
3799
+ 10
3800
+ x
3801
+ 108
3802
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3803
+ p
3804
+ 0
3805
+ x
3806
+ 2
3807
+ it
3808
+ p
3809
+ 3
3810
+ I
3811
+ 0
3812
+ I
3813
+ a2
3814
+ I
3815
+ b
3816
+ x
3817
+ 108
3818
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3819
+ p
3820
+ 0
3821
+ p
3822
+ 5
3823
+ I
3824
+ 0
3825
+ I
3826
+ 9a
3827
+ I
3828
+ b
3829
+ I
3830
+ a1
3831
+ I
3832
+ 16
3833
+ x
3834
+ 108
3835
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3836
+ p
3837
+ 0
3838
+ s
3839
+ 17
3840
+ #gen_intermediate
3841
+ M
3842
+ 1
3843
+ p
3844
+ 2
3845
+ x
3846
+ 9
3847
+ for_block
3848
+ t
3849
+ n
3850
+ x
3851
+ 9
3852
+ __block__
3853
+ i
3854
+ 11
3855
+ 5
3856
+ 7
3857
+ 0
3858
+ 64
3859
+ 56
3860
+ 1
3861
+ 47
3862
+ 50
3863
+ 2
3864
+ 1
3865
+ 11
3866
+ I
3867
+ 4
3868
+ I
3869
+ 0
3870
+ I
3871
+ 0
3872
+ I
3873
+ 0
3874
+ I
3875
+ -2
3876
+ p
3877
+ 3
3878
+ s
3879
+ 31
3880
+ generates basic apply-rule code
3881
+ M
3882
+ 1
3883
+ p
3884
+ 2
3885
+ x
3886
+ 9
3887
+ for_block
3888
+ t
3889
+ n
3890
+ x
3891
+ 9
3892
+ __block__
3893
+ i
3894
+ 16
3895
+ 5
3896
+ 56
3897
+ 0
3898
+ 47
3899
+ 50
3900
+ 1
3901
+ 0
3902
+ 49
3903
+ 2
3904
+ 0
3905
+ 7
3906
+ 3
3907
+ 64
3908
+ 83
3909
+ 4
3910
+ 11
3911
+ I
3912
+ 3
3913
+ I
3914
+ 0
3915
+ I
3916
+ 0
3917
+ I
3918
+ 0
3919
+ I
3920
+ -2
3921
+ p
3922
+ 5
3923
+ M
3924
+ 1
3925
+ p
3926
+ 2
3927
+ x
3928
+ 9
3929
+ for_block
3930
+ t
3931
+ n
3932
+ x
3933
+ 9
3934
+ __block__
3935
+ i
3936
+ 13
3937
+ 57
3938
+ 19
3939
+ 0
3940
+ 15
3941
+ 20
3942
+ 0
3943
+ 5
3944
+ 48
3945
+ 0
3946
+ 49
3947
+ 1
3948
+ 1
3949
+ 11
3950
+ I
3951
+ 4
3952
+ I
3953
+ 1
3954
+ I
3955
+ 1
3956
+ I
3957
+ 1
3958
+ n
3959
+ p
3960
+ 2
3961
+ x
3962
+ 5
3963
+ apply
3964
+ x
3965
+ 16
3966
+ gen_intermediate
3967
+ p
3968
+ 3
3969
+ I
3970
+ 0
3971
+ I
3972
+ ab
3973
+ I
3974
+ d
3975
+ x
3976
+ 108
3977
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
3978
+ p
3979
+ 1
3980
+ x
3981
+ 1
3982
+ g
3983
+ x
3984
+ 11
3985
+ nested_code
3986
+ x
3987
+ 6
3988
+ should
3989
+ s
3990
+ 11
3991
+ match(:foo)
3992
+ x
3993
+ 2
3994
+ ==
3995
+ p
3996
+ 5
3997
+ I
3998
+ 0
3999
+ I
4000
+ ab
4001
+ I
4002
+ a
4003
+ I
4004
+ ac
4005
+ I
4006
+ 10
4007
+ x
4008
+ 108
4009
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4010
+ p
4011
+ 0
4012
+ x
4013
+ 2
4014
+ it
4015
+ p
4016
+ 3
4017
+ I
4018
+ 0
4019
+ I
4020
+ aa
4021
+ I
4022
+ b
4023
+ x
4024
+ 108
4025
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4026
+ p
4027
+ 0
4028
+ s
4029
+ 24
4030
+ #gen_intermediate_assert
4031
+ M
4032
+ 1
4033
+ p
4034
+ 2
4035
+ x
4036
+ 9
4037
+ for_block
4038
+ t
4039
+ n
4040
+ x
4041
+ 9
4042
+ __block__
4043
+ i
4044
+ 11
4045
+ 5
4046
+ 7
4047
+ 0
4048
+ 64
4049
+ 56
4050
+ 1
4051
+ 47
4052
+ 50
4053
+ 2
4054
+ 1
4055
+ 11
4056
+ I
4057
+ 4
4058
+ I
4059
+ 0
4060
+ I
4061
+ 0
4062
+ I
4063
+ 0
4064
+ I
4065
+ -2
4066
+ p
4067
+ 3
4068
+ s
4069
+ 45
4070
+ generates nested rule positive lookahead code
4071
+ M
4072
+ 1
4073
+ p
4074
+ 2
4075
+ x
4076
+ 9
4077
+ for_block
4078
+ t
4079
+ n
4080
+ x
4081
+ 9
4082
+ __block__
4083
+ i
4084
+ 19
4085
+ 5
4086
+ 56
4087
+ 0
4088
+ 47
4089
+ 50
4090
+ 1
4091
+ 0
4092
+ 49
4093
+ 2
4094
+ 0
4095
+ 7
4096
+ 3
4097
+ 64
4098
+ 49
4099
+ 4
4100
+ 0
4101
+ 83
4102
+ 5
4103
+ 11
4104
+ I
4105
+ 3
4106
+ I
4107
+ 0
4108
+ I
4109
+ 0
4110
+ I
4111
+ 0
4112
+ I
4113
+ -2
4114
+ p
4115
+ 6
4116
+ M
4117
+ 1
4118
+ p
4119
+ 2
4120
+ x
4121
+ 9
4122
+ for_block
4123
+ t
4124
+ n
4125
+ x
4126
+ 9
4127
+ __block__
4128
+ i
4129
+ 13
4130
+ 57
4131
+ 19
4132
+ 0
4133
+ 15
4134
+ 20
4135
+ 0
4136
+ 5
4137
+ 48
4138
+ 0
4139
+ 49
4140
+ 1
4141
+ 1
4142
+ 11
4143
+ I
4144
+ 4
4145
+ I
4146
+ 1
4147
+ I
4148
+ 1
4149
+ I
4150
+ 1
4151
+ n
4152
+ p
4153
+ 2
4154
+ x
4155
+ 5
4156
+ apply
4157
+ x
4158
+ 23
4159
+ gen_intermediate_assert
4160
+ p
4161
+ 3
4162
+ I
4163
+ 0
4164
+ I
4165
+ b2
4166
+ I
4167
+ d
4168
+ x
4169
+ 108
4170
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4171
+ p
4172
+ 1
4173
+ x
4174
+ 1
4175
+ g
4176
+ x
4177
+ 11
4178
+ nested_code
4179
+ x
4180
+ 6
4181
+ should
4182
+ s
4183
+ 80
4184
+ begin
4185
+ p = @scanner.pos
4186
+ r = (match(:foo) && true)
4187
+ @scanner.pos = p
4188
+ r
4189
+ end
4190
+
4191
+ x
4192
+ 5
4193
+ strip
4194
+ x
4195
+ 2
4196
+ ==
4197
+ p
4198
+ 5
4199
+ I
4200
+ 0
4201
+ I
4202
+ b2
4203
+ I
4204
+ a
4205
+ I
4206
+ b3
4207
+ I
4208
+ 13
4209
+ x
4210
+ 108
4211
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4212
+ p
4213
+ 0
4214
+ x
4215
+ 2
4216
+ it
4217
+ p
4218
+ 3
4219
+ I
4220
+ 0
4221
+ I
4222
+ b1
4223
+ I
4224
+ b
4225
+ x
4226
+ 108
4227
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4228
+ p
4229
+ 0
4230
+ s
4231
+ 26
4232
+ #gen_intermediate_disallow
4233
+ M
4234
+ 1
4235
+ p
4236
+ 2
4237
+ x
4238
+ 9
4239
+ for_block
4240
+ t
4241
+ n
4242
+ x
4243
+ 9
4244
+ __block__
4245
+ i
4246
+ 11
4247
+ 5
4248
+ 7
4249
+ 0
4250
+ 64
4251
+ 56
4252
+ 1
4253
+ 47
4254
+ 50
4255
+ 2
4256
+ 1
4257
+ 11
4258
+ I
4259
+ 4
4260
+ I
4261
+ 0
4262
+ I
4263
+ 0
4264
+ I
4265
+ 0
4266
+ I
4267
+ -2
4268
+ p
4269
+ 3
4270
+ s
4271
+ 45
4272
+ generates nested rule negative lookahead code
4273
+ M
4274
+ 1
4275
+ p
4276
+ 2
4277
+ x
4278
+ 9
4279
+ for_block
4280
+ t
4281
+ n
4282
+ x
4283
+ 9
4284
+ __block__
4285
+ i
4286
+ 19
4287
+ 5
4288
+ 56
4289
+ 0
4290
+ 47
4291
+ 50
4292
+ 1
4293
+ 0
4294
+ 49
4295
+ 2
4296
+ 0
4297
+ 7
4298
+ 3
4299
+ 64
4300
+ 49
4301
+ 4
4302
+ 0
4303
+ 83
4304
+ 5
4305
+ 11
4306
+ I
4307
+ 3
4308
+ I
4309
+ 0
4310
+ I
4311
+ 0
4312
+ I
4313
+ 0
4314
+ I
4315
+ -2
4316
+ p
4317
+ 6
4318
+ M
4319
+ 1
4320
+ p
4321
+ 2
4322
+ x
4323
+ 9
4324
+ for_block
4325
+ t
4326
+ n
4327
+ x
4328
+ 9
4329
+ __block__
4330
+ i
4331
+ 13
4332
+ 57
4333
+ 19
4334
+ 0
4335
+ 15
4336
+ 20
4337
+ 0
4338
+ 5
4339
+ 48
4340
+ 0
4341
+ 49
4342
+ 1
4343
+ 1
4344
+ 11
4345
+ I
4346
+ 4
4347
+ I
4348
+ 1
4349
+ I
4350
+ 1
4351
+ I
4352
+ 1
4353
+ n
4354
+ p
4355
+ 2
4356
+ x
4357
+ 5
4358
+ apply
4359
+ x
4360
+ 25
4361
+ gen_intermediate_disallow
4362
+ p
4363
+ 3
4364
+ I
4365
+ 0
4366
+ I
4367
+ c0
4368
+ I
4369
+ d
4370
+ x
4371
+ 108
4372
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4373
+ p
4374
+ 1
4375
+ x
4376
+ 1
4377
+ g
4378
+ x
4379
+ 11
4380
+ nested_code
4381
+ x
4382
+ 6
4383
+ should
4384
+ s
4385
+ 71
4386
+ begin
4387
+ p = @scanner.pos
4388
+ r = !match(:foo)
4389
+ @scanner.pos = p
4390
+ r
4391
+ end
4392
+
4393
+ x
4394
+ 5
4395
+ strip
4396
+ x
4397
+ 2
4398
+ ==
4399
+ p
4400
+ 5
4401
+ I
4402
+ 0
4403
+ I
4404
+ c0
4405
+ I
4406
+ a
4407
+ I
4408
+ c1
4409
+ I
4410
+ 13
4411
+ x
4412
+ 108
4413
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4414
+ p
4415
+ 0
4416
+ x
4417
+ 2
4418
+ it
4419
+ p
4420
+ 3
4421
+ I
4422
+ 0
4423
+ I
4424
+ bf
4425
+ I
4426
+ b
4427
+ x
4428
+ 108
4429
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4430
+ p
4431
+ 0
4432
+ s
4433
+ 22
4434
+ #gen_intermediate_skip
4435
+ M
4436
+ 1
4437
+ p
4438
+ 2
4439
+ x
4440
+ 9
4441
+ for_block
4442
+ t
4443
+ n
4444
+ x
4445
+ 9
4446
+ __block__
4447
+ i
4448
+ 11
4449
+ 5
4450
+ 7
4451
+ 0
4452
+ 64
4453
+ 56
4454
+ 1
4455
+ 47
4456
+ 50
4457
+ 2
4458
+ 1
4459
+ 11
4460
+ I
4461
+ 4
4462
+ I
4463
+ 0
4464
+ I
4465
+ 0
4466
+ I
4467
+ 0
4468
+ I
4469
+ -2
4470
+ p
4471
+ 3
4472
+ s
4473
+ 31
4474
+ generates basic apply-rule code
4475
+ M
4476
+ 1
4477
+ p
4478
+ 2
4479
+ x
4480
+ 9
4481
+ for_block
4482
+ t
4483
+ n
4484
+ x
4485
+ 9
4486
+ __block__
4487
+ i
4488
+ 16
4489
+ 5
4490
+ 56
4491
+ 0
4492
+ 47
4493
+ 50
4494
+ 1
4495
+ 0
4496
+ 49
4497
+ 2
4498
+ 0
4499
+ 7
4500
+ 3
4501
+ 64
4502
+ 83
4503
+ 4
4504
+ 11
4505
+ I
4506
+ 3
4507
+ I
4508
+ 0
4509
+ I
4510
+ 0
4511
+ I
4512
+ 0
4513
+ I
4514
+ -2
4515
+ p
4516
+ 5
4517
+ M
4518
+ 1
4519
+ p
4520
+ 2
4521
+ x
4522
+ 9
4523
+ for_block
4524
+ t
4525
+ n
4526
+ x
4527
+ 9
4528
+ __block__
4529
+ i
4530
+ 13
4531
+ 57
4532
+ 19
4533
+ 0
4534
+ 15
4535
+ 20
4536
+ 0
4537
+ 5
4538
+ 48
4539
+ 0
4540
+ 49
4541
+ 1
4542
+ 1
4543
+ 11
4544
+ I
4545
+ 4
4546
+ I
4547
+ 1
4548
+ I
4549
+ 1
4550
+ I
4551
+ 1
4552
+ n
4553
+ p
4554
+ 2
4555
+ x
4556
+ 5
4557
+ apply
4558
+ x
4559
+ 21
4560
+ gen_intermediate_skip
4561
+ p
4562
+ 3
4563
+ I
4564
+ 0
4565
+ I
4566
+ ce
4567
+ I
4568
+ d
4569
+ x
4570
+ 108
4571
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4572
+ p
4573
+ 1
4574
+ x
4575
+ 1
4576
+ g
4577
+ x
4578
+ 11
4579
+ nested_code
4580
+ x
4581
+ 6
4582
+ should
4583
+ s
4584
+ 11
4585
+ match(:foo)
4586
+ x
4587
+ 2
4588
+ ==
4589
+ p
4590
+ 5
4591
+ I
4592
+ 0
4593
+ I
4594
+ ce
4595
+ I
4596
+ a
4597
+ I
4598
+ cf
4599
+ I
4600
+ 10
4601
+ x
4602
+ 108
4603
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4604
+ p
4605
+ 0
4606
+ x
4607
+ 2
4608
+ it
4609
+ p
4610
+ 3
4611
+ I
4612
+ 0
4613
+ I
4614
+ cd
4615
+ I
4616
+ b
4617
+ x
4618
+ 108
4619
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4620
+ p
4621
+ 0
4622
+ p
4623
+ 27
4624
+ I
4625
+ 0
4626
+ I
4627
+ 8
4628
+ I
4629
+ 9
4630
+ I
4631
+ a
4632
+ I
4633
+ 13
4634
+ I
4635
+ c
4636
+ I
4637
+ 1e
4638
+ I
4639
+ 1d
4640
+ I
4641
+ 29
4642
+ I
4643
+ 3a
4644
+ I
4645
+ 34
4646
+ I
4647
+ 57
4648
+ I
4649
+ 3f
4650
+ I
4651
+ 6a
4652
+ I
4653
+ 4a
4654
+ I
4655
+ 7d
4656
+ I
4657
+ 55
4658
+ I
4659
+ 98
4660
+ I
4661
+ 60
4662
+ I
4663
+ a9
4664
+ I
4665
+ 6b
4666
+ I
4667
+ b0
4668
+ I
4669
+ 76
4670
+ I
4671
+ be
4672
+ I
4673
+ 81
4674
+ I
4675
+ cc
4676
+ I
4677
+ 8c
4678
+ x
4679
+ 108
4680
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4681
+ p
4682
+ 0
4683
+ x
4684
+ 8
4685
+ describe
4686
+ p
4687
+ 9
4688
+ I
4689
+ 0
4690
+ I
4691
+ 1
4692
+ I
4693
+ 1b
4694
+ I
4695
+ 3
4696
+ I
4697
+ 28
4698
+ I
4699
+ 4
4700
+ I
4701
+ 33
4702
+ I
4703
+ 6
4704
+ I
4705
+ 40
4706
+ x
4707
+ 108
4708
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/apply_generator_spec.rb
4709
+ p
4710
+ 0