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