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,545 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 57
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
+ 47
47
+ 49
48
+ 12
49
+ 1
50
+ 15
51
+ 5
52
+ 45
53
+ 9
54
+ 13
55
+ 43
56
+ 14
57
+ 43
58
+ 15
59
+ 43
60
+ 16
61
+ 56
62
+ 17
63
+ 47
64
+ 50
65
+ 18
66
+ 1
67
+ 15
68
+ 2
69
+ 11
70
+ I
71
+ 4
72
+ I
73
+ 0
74
+ I
75
+ 0
76
+ I
77
+ 0
78
+ n
79
+ p
80
+ 19
81
+ x
82
+ 4
83
+ File
84
+ n
85
+ n
86
+ x
87
+ 11
88
+ active_path
89
+ x
90
+ 7
91
+ dirname
92
+ s
93
+ 21
94
+ /../../../spec_helper
95
+ x
96
+ 1
97
+ +
98
+ x
99
+ 11
100
+ expand_path
101
+ x
102
+ 7
103
+ require
104
+ x
105
+ 7
106
+ Rattler
107
+ n
108
+ x
109
+ 7
110
+ Parsers
111
+ x
112
+ 7
113
+ include
114
+ n
115
+ x
116
+ 7
117
+ BackEnd
118
+ x
119
+ 15
120
+ ParserGenerator
121
+ x
122
+ 13
123
+ RuleGenerator
124
+ M
125
+ 1
126
+ p
127
+ 2
128
+ x
129
+ 9
130
+ for_block
131
+ t
132
+ n
133
+ x
134
+ 9
135
+ __block__
136
+ i
137
+ 20
138
+ 5
139
+ 45
140
+ 0
141
+ 1
142
+ 47
143
+ 49
144
+ 2
145
+ 1
146
+ 15
147
+ 5
148
+ 7
149
+ 3
150
+ 64
151
+ 56
152
+ 4
153
+ 47
154
+ 50
155
+ 5
156
+ 1
157
+ 11
158
+ I
159
+ 4
160
+ I
161
+ 0
162
+ I
163
+ 0
164
+ I
165
+ 0
166
+ I
167
+ -2
168
+ p
169
+ 6
170
+ x
171
+ 25
172
+ ParserGeneratorSpecHelper
173
+ n
174
+ x
175
+ 7
176
+ include
177
+ s
178
+ 9
179
+ #generate
180
+ M
181
+ 1
182
+ p
183
+ 2
184
+ x
185
+ 9
186
+ for_block
187
+ t
188
+ n
189
+ x
190
+ 9
191
+ __block__
192
+ i
193
+ 21
194
+ 5
195
+ 7
196
+ 0
197
+ 56
198
+ 1
199
+ 47
200
+ 50
201
+ 2
202
+ 1
203
+ 15
204
+ 5
205
+ 7
206
+ 3
207
+ 64
208
+ 56
209
+ 4
210
+ 47
211
+ 50
212
+ 5
213
+ 1
214
+ 11
215
+ I
216
+ 4
217
+ I
218
+ 0
219
+ I
220
+ 0
221
+ I
222
+ 0
223
+ I
224
+ -2
225
+ p
226
+ 6
227
+ x
228
+ 4
229
+ rule
230
+ M
231
+ 1
232
+ p
233
+ 2
234
+ x
235
+ 9
236
+ for_block
237
+ t
238
+ n
239
+ x
240
+ 9
241
+ __block__
242
+ i
243
+ 32
244
+ 45
245
+ 0
246
+ 1
247
+ 7
248
+ 2
249
+ 45
250
+ 3
251
+ 4
252
+ 45
253
+ 5
254
+ 6
255
+ 7
256
+ 7
257
+ 64
258
+ 49
259
+ 8
260
+ 1
261
+ 45
262
+ 9
263
+ 10
264
+ 7
265
+ 11
266
+ 49
267
+ 8
268
+ 1
269
+ 49
270
+ 8
271
+ 2
272
+ 49
273
+ 8
274
+ 2
275
+ 11
276
+ I
277
+ 7
278
+ I
279
+ 0
280
+ I
281
+ 0
282
+ I
283
+ 0
284
+ I
285
+ -2
286
+ p
287
+ 12
288
+ x
289
+ 4
290
+ Rule
291
+ n
292
+ x
293
+ 1
294
+ a
295
+ x
296
+ 6
297
+ Choice
298
+ n
299
+ x
300
+ 5
301
+ Match
302
+ n
303
+ s
304
+ 1
305
+ a
306
+ x
307
+ 2
308
+ []
309
+ x
310
+ 5
311
+ Apply
312
+ n
313
+ x
314
+ 1
315
+ b
316
+ p
317
+ 3
318
+ I
319
+ 0
320
+ I
321
+ b
322
+ I
323
+ 20
324
+ x
325
+ 107
326
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
327
+ p
328
+ 0
329
+ x
330
+ 3
331
+ let
332
+ s
333
+ 31
334
+ generates #match_<rule> methods
335
+ M
336
+ 1
337
+ p
338
+ 2
339
+ x
340
+ 9
341
+ for_block
342
+ t
343
+ n
344
+ x
345
+ 9
346
+ __block__
347
+ i
348
+ 19
349
+ 5
350
+ 56
351
+ 0
352
+ 47
353
+ 50
354
+ 1
355
+ 0
356
+ 49
357
+ 2
358
+ 0
359
+ 7
360
+ 3
361
+ 64
362
+ 49
363
+ 4
364
+ 0
365
+ 83
366
+ 5
367
+ 11
368
+ I
369
+ 3
370
+ I
371
+ 0
372
+ I
373
+ 0
374
+ I
375
+ 0
376
+ I
377
+ -2
378
+ p
379
+ 6
380
+ M
381
+ 1
382
+ p
383
+ 2
384
+ x
385
+ 9
386
+ for_block
387
+ t
388
+ n
389
+ x
390
+ 9
391
+ __block__
392
+ i
393
+ 13
394
+ 57
395
+ 19
396
+ 0
397
+ 15
398
+ 20
399
+ 0
400
+ 5
401
+ 48
402
+ 0
403
+ 49
404
+ 1
405
+ 1
406
+ 11
407
+ I
408
+ 4
409
+ I
410
+ 1
411
+ I
412
+ 1
413
+ I
414
+ 1
415
+ n
416
+ p
417
+ 2
418
+ x
419
+ 4
420
+ rule
421
+ x
422
+ 8
423
+ generate
424
+ p
425
+ 3
426
+ I
427
+ 0
428
+ I
429
+ e
430
+ I
431
+ d
432
+ x
433
+ 107
434
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
435
+ p
436
+ 1
437
+ x
438
+ 1
439
+ g
440
+ x
441
+ 14
442
+ generated_code
443
+ x
444
+ 6
445
+ should
446
+ s
447
+ 128
448
+ # @private
449
+ def match_a #:nodoc:
450
+ apply :match_a!
451
+ end
452
+
453
+ # @private
454
+ def match_a! #:nodoc:
455
+ @scanner.scan("a") ||
456
+ match(:b)
457
+ end
458
+
459
+ x
460
+ 5
461
+ strip
462
+ x
463
+ 2
464
+ ==
465
+ p
466
+ 5
467
+ I
468
+ 0
469
+ I
470
+ e
471
+ I
472
+ a
473
+ I
474
+ f
475
+ I
476
+ 13
477
+ x
478
+ 107
479
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
480
+ p
481
+ 0
482
+ x
483
+ 2
484
+ it
485
+ p
486
+ 5
487
+ I
488
+ 0
489
+ I
490
+ b
491
+ I
492
+ a
493
+ I
494
+ d
495
+ I
496
+ 15
497
+ x
498
+ 107
499
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
500
+ p
501
+ 0
502
+ x
503
+ 8
504
+ describe
505
+ p
506
+ 5
507
+ I
508
+ 0
509
+ I
510
+ 7
511
+ I
512
+ 9
513
+ I
514
+ 9
515
+ I
516
+ 14
517
+ x
518
+ 107
519
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
520
+ p
521
+ 0
522
+ x
523
+ 8
524
+ describe
525
+ p
526
+ 7
527
+ I
528
+ 0
529
+ I
530
+ 1
531
+ I
532
+ 1b
533
+ I
534
+ 3
535
+ I
536
+ 26
537
+ I
538
+ 5
539
+ I
540
+ 39
541
+ x
542
+ 107
543
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/rule_generator_spec.rb
544
+ p
545
+ 0