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
@@ -14,7 +14,7 @@ A language syntax is specified in a grammar using the Rattler syntax. Parser
14
14
  classes and modules can be generated statically using the "rtlr" command or
15
15
  dynamically from strings.
16
16
 
17
- {RDoc}[http://rubydoc.info/gems/rattler/0.4.1/frames]
17
+ {RDoc}[http://rubydoc.info/gems/rattler/0.4.2/frames]
18
18
 
19
19
  == FEATURES:
20
20
 
@@ -24,7 +24,7 @@ dynamically from strings.
24
24
  * Automatic and custom parse error reporting
25
25
  * Optimizing parser generator generates efficient pure-ruby parsers
26
26
  * Compatible with Ruby 1.8.7 and 1.9.2, tested with MRI and JRuby on Linux and
27
- Windows
27
+ Windows and with Rubinius on Linux
28
28
 
29
29
  == PROBLEMS/LIMITATIONS:
30
30
 
@@ -0,0 +1,201 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 89
13
+ 45
14
+ 0
15
+ 1
16
+ 45
17
+ 0
18
+ 2
19
+ 45
20
+ 0
21
+ 3
22
+ 65
23
+ 49
24
+ 4
25
+ 0
26
+ 49
27
+ 5
28
+ 1
29
+ 7
30
+ 6
31
+ 64
32
+ 7
33
+ 7
34
+ 64
35
+ 49
36
+ 8
37
+ 3
38
+ 49
39
+ 9
40
+ 1
41
+ 19
42
+ 0
43
+ 15
44
+ 99
45
+ 43
46
+ 10
47
+ 7
48
+ 11
49
+ 49
50
+ 12
51
+ 1
52
+ 20
53
+ 0
54
+ 49
55
+ 13
56
+ 1
57
+ 9
58
+ 49
59
+ 1
60
+ 8
61
+ 62
62
+ 99
63
+ 43
64
+ 10
65
+ 7
66
+ 11
67
+ 49
68
+ 12
69
+ 1
70
+ 20
71
+ 0
72
+ 49
73
+ 14
74
+ 1
75
+ 15
76
+ 5
77
+ 7
78
+ 15
79
+ 64
80
+ 47
81
+ 49
82
+ 16
83
+ 1
84
+ 15
85
+ 44
86
+ 43
87
+ 17
88
+ 43
89
+ 18
90
+ 45
91
+ 19
92
+ 20
93
+ 49
94
+ 21
95
+ 0
96
+ 49
97
+ 22
98
+ 1
99
+ 15
100
+ 2
101
+ 11
102
+ I
103
+ 6
104
+ I
105
+ 1
106
+ I
107
+ 0
108
+ I
109
+ 0
110
+ n
111
+ p
112
+ 23
113
+ x
114
+ 4
115
+ File
116
+ n
117
+ n
118
+ n
119
+ x
120
+ 11
121
+ active_path
122
+ x
123
+ 7
124
+ dirname
125
+ s
126
+ 2
127
+ ..
128
+ s
129
+ 3
130
+ lib
131
+ x
132
+ 4
133
+ join
134
+ x
135
+ 11
136
+ expand_path
137
+ x
138
+ 7
139
+ Globals
140
+ x
141
+ 2
142
+ $:
143
+ x
144
+ 2
145
+ []
146
+ x
147
+ 8
148
+ include?
149
+ x
150
+ 7
151
+ unshift
152
+ s
153
+ 14
154
+ rattler/runner
155
+ x
156
+ 7
157
+ require
158
+ x
159
+ 7
160
+ Rattler
161
+ x
162
+ 6
163
+ Runner
164
+ x
165
+ 4
166
+ ARGV
167
+ n
168
+ x
169
+ 5
170
+ clone
171
+ x
172
+ 3
173
+ run
174
+ p
175
+ 9
176
+ I
177
+ 0
178
+ I
179
+ 3
180
+ I
181
+ 1f
182
+ I
183
+ 4
184
+ I
185
+ 3f
186
+ I
187
+ 6
188
+ I
189
+ 48
190
+ I
191
+ 8
192
+ I
193
+ 59
194
+ x
195
+ 54
196
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/bin/rtlr
197
+ p
198
+ 1
199
+ x
200
+ 11
201
+ rattler_dir
@@ -4,6 +4,7 @@ Feature: --dest option
4
4
  By default Rattler uses the module path of the grammar to build a destination
5
5
  directory by converting camel-case to underscore.
6
6
 
7
+ @command-line
7
8
  Scenario: Overriding the destination directory
8
9
  Given a file named "binary.rtlr" with:
9
10
  """
@@ -6,6 +6,7 @@ Feature: --lib option
6
6
  on the library directory by converting camel-case to underscore. To specify
7
7
  an explicit destination directory use the --dest (or -d) option.
8
8
 
9
+ @command-line
9
10
  Scenario: Grammar as top-level module
10
11
  Given a file named "binary.rtlr" with:
11
12
  """
@@ -20,6 +21,7 @@ Feature: --lib option
20
21
  module BinaryGrammar
21
22
  """
22
23
 
24
+ @command-line
23
25
  Scenario: Grammar as a nested module
24
26
  Given a file named "binary.rtlr" with:
25
27
  """
@@ -3,6 +3,7 @@ Feature: --output option
3
3
  Use the --output (or -o) option to specify a different output file name, or
4
4
  "-" for STDOUT.
5
5
 
6
+ @command-line
6
7
  Scenario: Specify a different file name
7
8
  Given a file named "binary.rtlr" with:
8
9
  """
@@ -17,6 +18,7 @@ Feature: --output option
17
18
  module BinaryGrammar
18
19
  """
19
20
 
21
+ @command-line
20
22
  Scenario: Use "-" to write to STDOUT
21
23
  Given a file named "binary.rtlr" with:
22
24
  """
@@ -3,6 +3,7 @@ Feature: Parser Generator
3
3
  The "rtlr" command is used to generate a grammar module or parser class from
4
4
  a Rattler grammar file.
5
5
 
6
+ @command-line
6
7
  Scenario: Getting help
7
8
  When I run "rtlr --help"
8
9
  Then the output should contain:
@@ -19,6 +20,7 @@ Feature: Parser Generator
19
20
  -h, --help Show this message
20
21
  """
21
22
 
23
+ @command-line
22
24
  Scenario: Generate a grammar module
23
25
  Given a file named "binary.rtlr" with:
24
26
  """
@@ -49,6 +51,7 @@ Feature: Parser Generator
49
51
  end
50
52
  """
51
53
 
54
+ @command-line
52
55
  Scenario: Generate a parser class
53
56
  Given a file named "binary.rtlr" with:
54
57
  """
@@ -0,0 +1,149 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 28
13
+ 5
14
+ 7
15
+ 0
16
+ 13
17
+ 70
18
+ 9
19
+ 19
20
+ 15
21
+ 44
22
+ 43
23
+ 1
24
+ 7
25
+ 2
26
+ 78
27
+ 49
28
+ 3
29
+ 2
30
+ 6
31
+ 0
32
+ 56
33
+ 4
34
+ 47
35
+ 50
36
+ 5
37
+ 1
38
+ 15
39
+ 2
40
+ 11
41
+ I
42
+ 4
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ I
48
+ 0
49
+ n
50
+ p
51
+ 6
52
+ n
53
+ x
54
+ 6
55
+ Regexp
56
+ s
57
+ 36
58
+ ^the file "([^"]+)" should contain:$
59
+ x
60
+ 3
61
+ new
62
+ M
63
+ 1
64
+ p
65
+ 2
66
+ x
67
+ 9
68
+ for_block
69
+ t
70
+ n
71
+ x
72
+ 9
73
+ __block__
74
+ i
75
+ 21
76
+ 58
77
+ 37
78
+ 19
79
+ 0
80
+ 15
81
+ 37
82
+ 19
83
+ 1
84
+ 15
85
+ 15
86
+ 5
87
+ 20
88
+ 0
89
+ 20
90
+ 1
91
+ 2
92
+ 47
93
+ 49
94
+ 0
95
+ 3
96
+ 11
97
+ I
98
+ 7
99
+ I
100
+ 2
101
+ I
102
+ 2
103
+ I
104
+ 2
105
+ n
106
+ p
107
+ 1
108
+ x
109
+ 18
110
+ check_file_content
111
+ p
112
+ 5
113
+ I
114
+ 0
115
+ I
116
+ 1
117
+ I
118
+ a
119
+ I
120
+ 2
121
+ I
122
+ 15
123
+ x
124
+ 84
125
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/cli_steps.rb
126
+ p
127
+ 2
128
+ x
129
+ 4
130
+ file
131
+ x
132
+ 15
133
+ partial_content
134
+ x
135
+ 4
136
+ Then
137
+ p
138
+ 3
139
+ I
140
+ 0
141
+ I
142
+ 1
143
+ I
144
+ 1c
145
+ x
146
+ 84
147
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/cli_steps.rb
148
+ p
149
+ 0
@@ -0,0 +1,1211 @@
1
+ !RBIX
2
+ 3105615304195158506
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 262
13
+ 5
14
+ 7
15
+ 0
16
+ 13
17
+ 70
18
+ 9
19
+ 19
20
+ 15
21
+ 44
22
+ 43
23
+ 1
24
+ 7
25
+ 2
26
+ 78
27
+ 49
28
+ 3
29
+ 2
30
+ 6
31
+ 0
32
+ 56
33
+ 4
34
+ 47
35
+ 50
36
+ 5
37
+ 1
38
+ 15
39
+ 5
40
+ 7
41
+ 6
42
+ 13
43
+ 70
44
+ 9
45
+ 45
46
+ 15
47
+ 44
48
+ 43
49
+ 1
50
+ 7
51
+ 7
52
+ 78
53
+ 49
54
+ 3
55
+ 2
56
+ 6
57
+ 6
58
+ 56
59
+ 8
60
+ 47
61
+ 50
62
+ 5
63
+ 1
64
+ 15
65
+ 5
66
+ 7
67
+ 9
68
+ 13
69
+ 70
70
+ 9
71
+ 71
72
+ 15
73
+ 44
74
+ 43
75
+ 1
76
+ 7
77
+ 10
78
+ 78
79
+ 49
80
+ 3
81
+ 2
82
+ 6
83
+ 9
84
+ 56
85
+ 11
86
+ 47
87
+ 50
88
+ 12
89
+ 1
90
+ 15
91
+ 5
92
+ 7
93
+ 13
94
+ 13
95
+ 70
96
+ 9
97
+ 97
98
+ 15
99
+ 44
100
+ 43
101
+ 1
102
+ 7
103
+ 14
104
+ 78
105
+ 49
106
+ 3
107
+ 2
108
+ 6
109
+ 13
110
+ 56
111
+ 15
112
+ 47
113
+ 50
114
+ 12
115
+ 1
116
+ 15
117
+ 5
118
+ 7
119
+ 16
120
+ 13
121
+ 70
122
+ 9
123
+ 123
124
+ 15
125
+ 44
126
+ 43
127
+ 1
128
+ 7
129
+ 17
130
+ 78
131
+ 49
132
+ 3
133
+ 2
134
+ 6
135
+ 16
136
+ 56
137
+ 18
138
+ 47
139
+ 50
140
+ 19
141
+ 1
142
+ 15
143
+ 5
144
+ 7
145
+ 20
146
+ 13
147
+ 70
148
+ 9
149
+ 149
150
+ 15
151
+ 44
152
+ 43
153
+ 1
154
+ 7
155
+ 21
156
+ 78
157
+ 49
158
+ 3
159
+ 2
160
+ 6
161
+ 20
162
+ 56
163
+ 22
164
+ 47
165
+ 50
166
+ 19
167
+ 1
168
+ 15
169
+ 5
170
+ 7
171
+ 23
172
+ 13
173
+ 70
174
+ 9
175
+ 175
176
+ 15
177
+ 44
178
+ 43
179
+ 1
180
+ 7
181
+ 24
182
+ 78
183
+ 49
184
+ 3
185
+ 2
186
+ 6
187
+ 23
188
+ 56
189
+ 25
190
+ 47
191
+ 50
192
+ 19
193
+ 1
194
+ 15
195
+ 5
196
+ 7
197
+ 26
198
+ 13
199
+ 70
200
+ 9
201
+ 201
202
+ 15
203
+ 44
204
+ 43
205
+ 1
206
+ 7
207
+ 27
208
+ 78
209
+ 49
210
+ 3
211
+ 2
212
+ 6
213
+ 26
214
+ 56
215
+ 28
216
+ 47
217
+ 50
218
+ 19
219
+ 1
220
+ 15
221
+ 5
222
+ 7
223
+ 29
224
+ 13
225
+ 70
226
+ 9
227
+ 227
228
+ 15
229
+ 44
230
+ 43
231
+ 1
232
+ 7
233
+ 30
234
+ 78
235
+ 49
236
+ 3
237
+ 2
238
+ 6
239
+ 29
240
+ 56
241
+ 31
242
+ 47
243
+ 50
244
+ 19
245
+ 1
246
+ 15
247
+ 5
248
+ 7
249
+ 32
250
+ 13
251
+ 70
252
+ 9
253
+ 253
254
+ 15
255
+ 44
256
+ 43
257
+ 1
258
+ 7
259
+ 33
260
+ 78
261
+ 49
262
+ 3
263
+ 2
264
+ 6
265
+ 32
266
+ 56
267
+ 34
268
+ 47
269
+ 50
270
+ 19
271
+ 1
272
+ 15
273
+ 2
274
+ 11
275
+ I
276
+ 4
277
+ I
278
+ 0
279
+ I
280
+ 0
281
+ I
282
+ 0
283
+ n
284
+ p
285
+ 35
286
+ n
287
+ x
288
+ 6
289
+ Regexp
290
+ s
291
+ 14
292
+ grammar with\:
293
+ x
294
+ 3
295
+ new
296
+ M
297
+ 1
298
+ p
299
+ 2
300
+ x
301
+ 9
302
+ for_block
303
+ t
304
+ n
305
+ x
306
+ 9
307
+ __block__
308
+ i
309
+ 15
310
+ 57
311
+ 19
312
+ 0
313
+ 15
314
+ 45
315
+ 0
316
+ 1
317
+ 20
318
+ 0
319
+ 49
320
+ 2
321
+ 1
322
+ 38
323
+ 3
324
+ 11
325
+ I
326
+ 4
327
+ I
328
+ 1
329
+ I
330
+ 1
331
+ I
332
+ 1
333
+ n
334
+ p
335
+ 4
336
+ x
337
+ 7
338
+ Rattler
339
+ n
340
+ x
341
+ 14
342
+ compile_parser
343
+ x
344
+ 13
345
+ @parser_class
346
+ p
347
+ 5
348
+ I
349
+ 0
350
+ I
351
+ 1
352
+ I
353
+ 4
354
+ I
355
+ 2
356
+ I
357
+ f
358
+ x
359
+ 88
360
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
361
+ p
362
+ 1
363
+ x
364
+ 6
365
+ source
366
+ x
367
+ 5
368
+ Given
369
+ n
370
+ s
371
+ 18
372
+ class definition\:
373
+ M
374
+ 1
375
+ p
376
+ 2
377
+ x
378
+ 9
379
+ for_block
380
+ t
381
+ n
382
+ x
383
+ 9
384
+ __block__
385
+ i
386
+ 15
387
+ 57
388
+ 19
389
+ 0
390
+ 15
391
+ 5
392
+ 20
393
+ 0
394
+ 45
395
+ 0
396
+ 1
397
+ 47
398
+ 49
399
+ 2
400
+ 2
401
+ 11
402
+ I
403
+ 5
404
+ I
405
+ 1
406
+ I
407
+ 1
408
+ I
409
+ 1
410
+ n
411
+ p
412
+ 3
413
+ x
414
+ 16
415
+ TOPLEVEL_BINDING
416
+ n
417
+ x
418
+ 4
419
+ eval
420
+ p
421
+ 5
422
+ I
423
+ 0
424
+ I
425
+ 5
426
+ I
427
+ 4
428
+ I
429
+ 6
430
+ I
431
+ f
432
+ x
433
+ 88
434
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
435
+ p
436
+ 1
437
+ x
438
+ 6
439
+ source
440
+ n
441
+ s
442
+ 23
443
+ parse ([^[:alpha:]].*)$
444
+ M
445
+ 1
446
+ p
447
+ 2
448
+ x
449
+ 9
450
+ for_block
451
+ t
452
+ n
453
+ x
454
+ 9
455
+ __block__
456
+ i
457
+ 50
458
+ 57
459
+ 19
460
+ 0
461
+ 15
462
+ 39
463
+ 0
464
+ 13
465
+ 71
466
+ 1
467
+ 47
468
+ 9
469
+ 34
470
+ 47
471
+ 49
472
+ 2
473
+ 0
474
+ 13
475
+ 5
476
+ 20
477
+ 0
478
+ 45
479
+ 3
480
+ 4
481
+ 47
482
+ 49
483
+ 5
484
+ 2
485
+ 47
486
+ 49
487
+ 6
488
+ 1
489
+ 15
490
+ 8
491
+ 47
492
+ 5
493
+ 20
494
+ 0
495
+ 45
496
+ 3
497
+ 7
498
+ 47
499
+ 49
500
+ 5
501
+ 2
502
+ 49
503
+ 1
504
+ 1
505
+ 38
506
+ 8
507
+ 11
508
+ I
509
+ 7
510
+ I
511
+ 1
512
+ I
513
+ 1
514
+ I
515
+ 1
516
+ n
517
+ p
518
+ 9
519
+ x
520
+ 13
521
+ @parser_class
522
+ x
523
+ 3
524
+ new
525
+ x
526
+ 8
527
+ allocate
528
+ x
529
+ 16
530
+ TOPLEVEL_BINDING
531
+ n
532
+ x
533
+ 4
534
+ eval
535
+ x
536
+ 10
537
+ initialize
538
+ n
539
+ x
540
+ 7
541
+ @parser
542
+ p
543
+ 5
544
+ I
545
+ 0
546
+ I
547
+ 9
548
+ I
549
+ 4
550
+ I
551
+ a
552
+ I
553
+ 32
554
+ x
555
+ 88
556
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
557
+ p
558
+ 1
559
+ x
560
+ 4
561
+ expr
562
+ x
563
+ 4
564
+ When
565
+ n
566
+ s
567
+ 23
568
+ parse position is (.+)$
569
+ M
570
+ 1
571
+ p
572
+ 2
573
+ x
574
+ 9
575
+ for_block
576
+ t
577
+ n
578
+ x
579
+ 9
580
+ __block__
581
+ i
582
+ 24
583
+ 57
584
+ 19
585
+ 0
586
+ 15
587
+ 39
588
+ 0
589
+ 5
590
+ 20
591
+ 0
592
+ 45
593
+ 1
594
+ 2
595
+ 47
596
+ 49
597
+ 3
598
+ 2
599
+ 13
600
+ 18
601
+ 2
602
+ 49
603
+ 4
604
+ 1
605
+ 15
606
+ 11
607
+ I
608
+ 6
609
+ I
610
+ 1
611
+ I
612
+ 1
613
+ I
614
+ 1
615
+ n
616
+ p
617
+ 5
618
+ x
619
+ 7
620
+ @parser
621
+ x
622
+ 16
623
+ TOPLEVEL_BINDING
624
+ n
625
+ x
626
+ 4
627
+ eval
628
+ x
629
+ 4
630
+ pos=
631
+ p
632
+ 5
633
+ I
634
+ 0
635
+ I
636
+ d
637
+ I
638
+ 4
639
+ I
640
+ e
641
+ I
642
+ 18
643
+ x
644
+ 88
645
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
646
+ p
647
+ 1
648
+ x
649
+ 4
650
+ expr
651
+ n
652
+ s
653
+ 36
654
+ parse result should be (?!FAIL)(.+)$
655
+ M
656
+ 1
657
+ p
658
+ 2
659
+ x
660
+ 9
661
+ for_block
662
+ t
663
+ n
664
+ x
665
+ 9
666
+ __block__
667
+ i
668
+ 25
669
+ 57
670
+ 19
671
+ 0
672
+ 15
673
+ 39
674
+ 0
675
+ 49
676
+ 1
677
+ 0
678
+ 49
679
+ 2
680
+ 0
681
+ 5
682
+ 20
683
+ 0
684
+ 45
685
+ 3
686
+ 4
687
+ 47
688
+ 49
689
+ 5
690
+ 2
691
+ 83
692
+ 6
693
+ 11
694
+ I
695
+ 6
696
+ I
697
+ 1
698
+ I
699
+ 1
700
+ I
701
+ 1
702
+ n
703
+ p
704
+ 7
705
+ x
706
+ 7
707
+ @parser
708
+ x
709
+ 5
710
+ parse
711
+ x
712
+ 6
713
+ should
714
+ x
715
+ 16
716
+ TOPLEVEL_BINDING
717
+ n
718
+ x
719
+ 4
720
+ eval
721
+ x
722
+ 2
723
+ ==
724
+ p
725
+ 5
726
+ I
727
+ 0
728
+ I
729
+ 11
730
+ I
731
+ 4
732
+ I
733
+ 12
734
+ I
735
+ 19
736
+ x
737
+ 88
738
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
739
+ p
740
+ 1
741
+ x
742
+ 4
743
+ expr
744
+ x
745
+ 4
746
+ Then
747
+ n
748
+ s
749
+ 17
750
+ parse should fail
751
+ M
752
+ 1
753
+ p
754
+ 2
755
+ x
756
+ 9
757
+ for_block
758
+ t
759
+ n
760
+ x
761
+ 9
762
+ __block__
763
+ i
764
+ 12
765
+ 39
766
+ 0
767
+ 49
768
+ 1
769
+ 0
770
+ 5
771
+ 48
772
+ 2
773
+ 49
774
+ 3
775
+ 1
776
+ 11
777
+ I
778
+ 3
779
+ I
780
+ 0
781
+ I
782
+ 0
783
+ I
784
+ 0
785
+ I
786
+ -2
787
+ p
788
+ 4
789
+ x
790
+ 7
791
+ @parser
792
+ x
793
+ 5
794
+ parse
795
+ x
796
+ 8
797
+ be_false
798
+ x
799
+ 6
800
+ should
801
+ p
802
+ 3
803
+ I
804
+ 0
805
+ I
806
+ 16
807
+ I
808
+ c
809
+ x
810
+ 88
811
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
812
+ p
813
+ 0
814
+ n
815
+ s
816
+ 28
817
+ parse result should be FAIL$
818
+ M
819
+ 1
820
+ p
821
+ 2
822
+ x
823
+ 9
824
+ for_block
825
+ t
826
+ n
827
+ x
828
+ 9
829
+ __block__
830
+ i
831
+ 9
832
+ 5
833
+ 7
834
+ 0
835
+ 64
836
+ 47
837
+ 49
838
+ 1
839
+ 1
840
+ 11
841
+ I
842
+ 3
843
+ I
844
+ 0
845
+ I
846
+ 0
847
+ I
848
+ 0
849
+ I
850
+ -2
851
+ p
852
+ 2
853
+ s
854
+ 17
855
+ parse should fail
856
+ x
857
+ 4
858
+ Then
859
+ p
860
+ 3
861
+ I
862
+ 0
863
+ I
864
+ 1a
865
+ I
866
+ 9
867
+ x
868
+ 88
869
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
870
+ p
871
+ 0
872
+ n
873
+ s
874
+ 30
875
+ parse position should be (.+)$
876
+ M
877
+ 1
878
+ p
879
+ 2
880
+ x
881
+ 9
882
+ for_block
883
+ t
884
+ n
885
+ x
886
+ 9
887
+ __block__
888
+ i
889
+ 25
890
+ 57
891
+ 19
892
+ 0
893
+ 15
894
+ 39
895
+ 0
896
+ 49
897
+ 1
898
+ 0
899
+ 49
900
+ 2
901
+ 0
902
+ 5
903
+ 20
904
+ 0
905
+ 45
906
+ 3
907
+ 4
908
+ 47
909
+ 49
910
+ 5
911
+ 2
912
+ 83
913
+ 6
914
+ 11
915
+ I
916
+ 6
917
+ I
918
+ 1
919
+ I
920
+ 1
921
+ I
922
+ 1
923
+ n
924
+ p
925
+ 7
926
+ x
927
+ 7
928
+ @parser
929
+ x
930
+ 3
931
+ pos
932
+ x
933
+ 6
934
+ should
935
+ x
936
+ 16
937
+ TOPLEVEL_BINDING
938
+ n
939
+ x
940
+ 4
941
+ eval
942
+ x
943
+ 2
944
+ ==
945
+ p
946
+ 5
947
+ I
948
+ 0
949
+ I
950
+ 1d
951
+ I
952
+ 4
953
+ I
954
+ 1e
955
+ I
956
+ 19
957
+ x
958
+ 88
959
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
960
+ p
961
+ 1
962
+ x
963
+ 4
964
+ expr
965
+ n
966
+ s
967
+ 31
968
+ failure message should be (.+)$
969
+ M
970
+ 1
971
+ p
972
+ 2
973
+ x
974
+ 9
975
+ for_block
976
+ t
977
+ n
978
+ x
979
+ 9
980
+ __block__
981
+ i
982
+ 28
983
+ 57
984
+ 19
985
+ 0
986
+ 15
987
+ 39
988
+ 0
989
+ 49
990
+ 1
991
+ 0
992
+ 49
993
+ 2
994
+ 0
995
+ 49
996
+ 3
997
+ 0
998
+ 5
999
+ 20
1000
+ 0
1001
+ 45
1002
+ 4
1003
+ 5
1004
+ 47
1005
+ 49
1006
+ 6
1007
+ 2
1008
+ 83
1009
+ 7
1010
+ 11
1011
+ I
1012
+ 6
1013
+ I
1014
+ 1
1015
+ I
1016
+ 1
1017
+ I
1018
+ 1
1019
+ n
1020
+ p
1021
+ 8
1022
+ x
1023
+ 7
1024
+ @parser
1025
+ x
1026
+ 7
1027
+ failure
1028
+ x
1029
+ 7
1030
+ message
1031
+ x
1032
+ 6
1033
+ should
1034
+ x
1035
+ 16
1036
+ TOPLEVEL_BINDING
1037
+ n
1038
+ x
1039
+ 4
1040
+ eval
1041
+ x
1042
+ 2
1043
+ ==
1044
+ p
1045
+ 5
1046
+ I
1047
+ 0
1048
+ I
1049
+ 21
1050
+ I
1051
+ 4
1052
+ I
1053
+ 22
1054
+ I
1055
+ 1c
1056
+ x
1057
+ 88
1058
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
1059
+ p
1060
+ 1
1061
+ x
1062
+ 4
1063
+ expr
1064
+ n
1065
+ s
1066
+ 32
1067
+ failure position should be (.+)$
1068
+ M
1069
+ 1
1070
+ p
1071
+ 2
1072
+ x
1073
+ 9
1074
+ for_block
1075
+ t
1076
+ n
1077
+ x
1078
+ 9
1079
+ __block__
1080
+ i
1081
+ 28
1082
+ 57
1083
+ 19
1084
+ 0
1085
+ 15
1086
+ 39
1087
+ 0
1088
+ 49
1089
+ 1
1090
+ 0
1091
+ 49
1092
+ 2
1093
+ 0
1094
+ 49
1095
+ 3
1096
+ 0
1097
+ 5
1098
+ 20
1099
+ 0
1100
+ 45
1101
+ 4
1102
+ 5
1103
+ 47
1104
+ 49
1105
+ 6
1106
+ 2
1107
+ 83
1108
+ 7
1109
+ 11
1110
+ I
1111
+ 6
1112
+ I
1113
+ 1
1114
+ I
1115
+ 1
1116
+ I
1117
+ 1
1118
+ n
1119
+ p
1120
+ 8
1121
+ x
1122
+ 7
1123
+ @parser
1124
+ x
1125
+ 7
1126
+ failure
1127
+ x
1128
+ 3
1129
+ pos
1130
+ x
1131
+ 6
1132
+ should
1133
+ x
1134
+ 16
1135
+ TOPLEVEL_BINDING
1136
+ n
1137
+ x
1138
+ 4
1139
+ eval
1140
+ x
1141
+ 2
1142
+ ==
1143
+ p
1144
+ 5
1145
+ I
1146
+ 0
1147
+ I
1148
+ 25
1149
+ I
1150
+ 4
1151
+ I
1152
+ 26
1153
+ I
1154
+ 1c
1155
+ x
1156
+ 88
1157
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
1158
+ p
1159
+ 1
1160
+ x
1161
+ 4
1162
+ expr
1163
+ p
1164
+ 21
1165
+ I
1166
+ 0
1167
+ I
1168
+ 1
1169
+ I
1170
+ 1a
1171
+ I
1172
+ 5
1173
+ I
1174
+ 34
1175
+ I
1176
+ 9
1177
+ I
1178
+ 4e
1179
+ I
1180
+ d
1181
+ I
1182
+ 68
1183
+ I
1184
+ 11
1185
+ I
1186
+ 82
1187
+ I
1188
+ 15
1189
+ I
1190
+ 9c
1191
+ I
1192
+ 19
1193
+ I
1194
+ b6
1195
+ I
1196
+ 1d
1197
+ I
1198
+ d0
1199
+ I
1200
+ 21
1201
+ I
1202
+ ea
1203
+ I
1204
+ 25
1205
+ I
1206
+ 106
1207
+ x
1208
+ 88
1209
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/features/step_definitions/grammar_steps.rb
1210
+ p
1211
+ 0