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