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,93 +14,49 @@ module Rattler::BackEnd::ParserGenerator
14
14
  @repeat_level = repeat_level
15
15
  end
16
16
 
17
- def gen_basic_nested(parser, scope={})
18
- gen_basic parser, scope
19
- end
20
-
21
- def gen_basic_top_level(parser, scope={})
22
- gen_basic parser, scope
23
- end
24
-
25
- def gen_assert_nested(parser, scope={})
26
- gen_assert parser, scope
27
- end
28
-
29
- def gen_assert_top_level(parser, scope={})
30
- gen_assert parser, scope
31
- end
32
-
33
- def gen_disallow_nested(parser, scope={})
34
- gen_disallow parser, scope
35
- end
36
-
37
- def gen_disallow_top_level(parser, scope={})
38
- gen_disallow parser, scope
39
- end
40
-
41
- def gen_dispatch_action_nested(parser, code, scope={})
42
- gen_dispatch_action parser, code, scope
43
- end
44
-
45
- def gen_dispatch_action_top_level(parser, code, scope={})
46
- gen_dispatch_action parser, code, scope
47
- end
48
-
49
- def gen_direct_action_nested(parser, code, scope={})
50
- gen_direct_action parser, code, scope
17
+ def gen_dispatch_action(parser, code, scope={})
18
+ expr :block do
19
+ gen_capture { block_given? ? yield : gen_basic(parser, scope) }
20
+ (@g << ' &&').newline << code.bind(scope, dispatch_action_args)
21
+ end
51
22
  end
52
23
 
53
- def gen_direct_action_top_level(parser, code, scope={})
54
- gen_direct_action parser, code, scope
24
+ def gen_direct_action(parser, code, scope={})
25
+ expr :block do
26
+ gen_capture { block_given? ? yield : gen_basic(parser, scope) }
27
+ (@g << ' &&').newline << '(' << code.bind(scope, direct_action_args) << ')'
28
+ end
55
29
  end
56
30
 
57
- def gen_token_nested(parser, scope={})
58
- atomic_block { gen_token_top_level parser, scope }
59
- end
60
-
61
- def gen_token_top_level(parser, scope={})
62
- (@g << "tp = @scanner.pos").newline
63
- gen_intermediate_skip parser, scope
64
- (@g << ' &&').newline
65
- @g << "@scanner.string[tp...(@scanner.pos)]"
66
- end
67
-
68
- def gen_skip_nested(parser, scope={})
69
- gen_skip parser, scope
70
- end
71
-
72
- def gen_skip_top_level(parser, scope={})
73
- gen_skip parser, scope
31
+ def gen_token(parser, scope={})
32
+ expr :block do
33
+ (@g << "tp = @scanner.pos").newline
34
+ gen_intermediate_skip parser, scope
35
+ (@g << ' &&').newline
36
+ @g << "@scanner.string[tp...(@scanner.pos)]"
37
+ end
74
38
  end
75
39
 
76
40
  def gen_intermediate(parser, scope={})
77
- gen_basic_nested parser, scope
41
+ gen_basic parser, scope
78
42
  end
79
43
 
80
44
  def gen_intermediate_assert(parser, scope={})
81
- gen_assert_nested parser, scope
45
+ gen_assert parser, scope
82
46
  end
83
47
 
84
48
  def gen_intermediate_disallow(parser, scope={})
85
- gen_disallow_nested parser, scope
49
+ gen_disallow parser, scope
86
50
  end
87
51
 
88
52
  def gen_intermediate_skip(parser, scope={})
89
- gen_skip_nested parser, scope
53
+ gen_skip parser, scope
90
54
  end
91
55
 
92
56
  protected
93
57
 
94
58
  attr_reader :choice_level, :sequence_level, :repeat_level
95
59
 
96
- def atomic_expr
97
- @g.surround('(', ')') { yield }
98
- end
99
-
100
- def atomic_block
101
- @g.block('begin') { yield }
102
- end
103
-
104
60
  def result_name
105
61
  'r'
106
62
  end
@@ -115,6 +71,18 @@ module Rattler::BackEnd::ParserGenerator
115
71
  (@g << "@scanner.pos = #{saved_pos_name}").newline
116
72
  end
117
73
 
74
+ def gen_capture
75
+ @g.surround("(#{result_name} = ", ')') { yield }
76
+ end
77
+
78
+ def dispatch_action_args
79
+ "[#{result_name}]"
80
+ end
81
+
82
+ def direct_action_args
83
+ [result_name]
84
+ end
85
+
118
86
  end
119
87
 
120
88
  # @private
@@ -0,0 +1,2295 @@
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
+ 58
96
+ 5
97
+ 66
98
+ 99
99
+ 7
100
+ 0
101
+ 1
102
+ 65
103
+ 49
104
+ 1
105
+ 3
106
+ 13
107
+ 99
108
+ 12
109
+ 7
110
+ 2
111
+ 12
112
+ 7
113
+ 3
114
+ 12
115
+ 65
116
+ 12
117
+ 49
118
+ 4
119
+ 4
120
+ 15
121
+ 49
122
+ 2
123
+ 0
124
+ 15
125
+ 99
126
+ 7
127
+ 5
128
+ 45
129
+ 0
130
+ 6
131
+ 65
132
+ 49
133
+ 1
134
+ 3
135
+ 13
136
+ 99
137
+ 12
138
+ 7
139
+ 2
140
+ 12
141
+ 7
142
+ 7
143
+ 12
144
+ 65
145
+ 12
146
+ 49
147
+ 4
148
+ 4
149
+ 15
150
+ 49
151
+ 2
152
+ 0
153
+ 11
154
+ I
155
+ 6
156
+ I
157
+ 0
158
+ I
159
+ 0
160
+ I
161
+ 0
162
+ n
163
+ p
164
+ 8
165
+ x
166
+ 13
167
+ ExprGenerator
168
+ x
169
+ 10
170
+ open_class
171
+ x
172
+ 14
173
+ __class_init__
174
+ M
175
+ 1
176
+ n
177
+ n
178
+ x
179
+ 13
180
+ ExprGenerator
181
+ i
182
+ 225
183
+ 5
184
+ 66
185
+ 5
186
+ 45
187
+ 0
188
+ 1
189
+ 43
190
+ 2
191
+ 47
192
+ 49
193
+ 3
194
+ 1
195
+ 15
196
+ 99
197
+ 7
198
+ 4
199
+ 7
200
+ 5
201
+ 65
202
+ 67
203
+ 49
204
+ 6
205
+ 0
206
+ 49
207
+ 7
208
+ 4
209
+ 15
210
+ 99
211
+ 7
212
+ 8
213
+ 7
214
+ 9
215
+ 65
216
+ 67
217
+ 49
218
+ 6
219
+ 0
220
+ 49
221
+ 7
222
+ 4
223
+ 15
224
+ 99
225
+ 7
226
+ 10
227
+ 7
228
+ 11
229
+ 65
230
+ 67
231
+ 49
232
+ 6
233
+ 0
234
+ 49
235
+ 7
236
+ 4
237
+ 15
238
+ 99
239
+ 7
240
+ 12
241
+ 7
242
+ 13
243
+ 65
244
+ 67
245
+ 49
246
+ 6
247
+ 0
248
+ 49
249
+ 7
250
+ 4
251
+ 15
252
+ 99
253
+ 7
254
+ 14
255
+ 7
256
+ 15
257
+ 65
258
+ 67
259
+ 49
260
+ 6
261
+ 0
262
+ 49
263
+ 7
264
+ 4
265
+ 15
266
+ 99
267
+ 7
268
+ 16
269
+ 7
270
+ 17
271
+ 65
272
+ 67
273
+ 49
274
+ 6
275
+ 0
276
+ 49
277
+ 7
278
+ 4
279
+ 15
280
+ 99
281
+ 7
282
+ 18
283
+ 7
284
+ 19
285
+ 65
286
+ 67
287
+ 49
288
+ 6
289
+ 0
290
+ 49
291
+ 7
292
+ 4
293
+ 15
294
+ 99
295
+ 7
296
+ 20
297
+ 7
298
+ 21
299
+ 65
300
+ 67
301
+ 49
302
+ 6
303
+ 0
304
+ 49
305
+ 7
306
+ 4
307
+ 15
308
+ 5
309
+ 48
310
+ 22
311
+ 15
312
+ 5
313
+ 7
314
+ 23
315
+ 7
316
+ 24
317
+ 7
318
+ 25
319
+ 47
320
+ 49
321
+ 26
322
+ 3
323
+ 15
324
+ 99
325
+ 7
326
+ 27
327
+ 7
328
+ 28
329
+ 65
330
+ 67
331
+ 49
332
+ 6
333
+ 0
334
+ 49
335
+ 7
336
+ 4
337
+ 15
338
+ 99
339
+ 7
340
+ 29
341
+ 7
342
+ 30
343
+ 65
344
+ 67
345
+ 49
346
+ 6
347
+ 0
348
+ 49
349
+ 7
350
+ 4
351
+ 15
352
+ 99
353
+ 7
354
+ 31
355
+ 7
356
+ 32
357
+ 65
358
+ 67
359
+ 49
360
+ 6
361
+ 0
362
+ 49
363
+ 7
364
+ 4
365
+ 15
366
+ 99
367
+ 7
368
+ 33
369
+ 7
370
+ 34
371
+ 65
372
+ 67
373
+ 49
374
+ 6
375
+ 0
376
+ 49
377
+ 7
378
+ 4
379
+ 15
380
+ 99
381
+ 7
382
+ 35
383
+ 7
384
+ 36
385
+ 65
386
+ 67
387
+ 49
388
+ 6
389
+ 0
390
+ 49
391
+ 7
392
+ 4
393
+ 15
394
+ 99
395
+ 7
396
+ 37
397
+ 7
398
+ 38
399
+ 65
400
+ 67
401
+ 49
402
+ 6
403
+ 0
404
+ 49
405
+ 7
406
+ 4
407
+ 11
408
+ I
409
+ 5
410
+ I
411
+ 0
412
+ I
413
+ 0
414
+ I
415
+ 0
416
+ n
417
+ p
418
+ 39
419
+ x
420
+ 7
421
+ Rattler
422
+ n
423
+ x
424
+ 7
425
+ Parsers
426
+ x
427
+ 7
428
+ include
429
+ x
430
+ 10
431
+ initialize
432
+ M
433
+ 1
434
+ n
435
+ n
436
+ x
437
+ 10
438
+ initialize
439
+ i
440
+ 44
441
+ 23
442
+ 1
443
+ 10
444
+ 8
445
+ 1
446
+ 19
447
+ 1
448
+ 15
449
+ 23
450
+ 2
451
+ 10
452
+ 16
453
+ 1
454
+ 19
455
+ 2
456
+ 15
457
+ 23
458
+ 3
459
+ 10
460
+ 24
461
+ 1
462
+ 19
463
+ 3
464
+ 15
465
+ 20
466
+ 0
467
+ 38
468
+ 0
469
+ 15
470
+ 20
471
+ 1
472
+ 38
473
+ 1
474
+ 15
475
+ 20
476
+ 2
477
+ 38
478
+ 2
479
+ 15
480
+ 20
481
+ 3
482
+ 38
483
+ 3
484
+ 11
485
+ I
486
+ 5
487
+ I
488
+ 4
489
+ I
490
+ 1
491
+ I
492
+ 4
493
+ n
494
+ p
495
+ 4
496
+ x
497
+ 2
498
+ @g
499
+ x
500
+ 13
501
+ @choice_level
502
+ x
503
+ 15
504
+ @sequence_level
505
+ x
506
+ 13
507
+ @repeat_level
508
+ p
509
+ 11
510
+ I
511
+ -1
512
+ I
513
+ a
514
+ I
515
+ 18
516
+ I
517
+ b
518
+ I
519
+ 1d
520
+ I
521
+ c
522
+ I
523
+ 22
524
+ I
525
+ d
526
+ I
527
+ 27
528
+ I
529
+ e
530
+ I
531
+ 2c
532
+ x
533
+ 101
534
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
535
+ p
536
+ 4
537
+ x
538
+ 1
539
+ g
540
+ x
541
+ 12
542
+ choice_level
543
+ x
544
+ 14
545
+ sequence_level
546
+ x
547
+ 12
548
+ repeat_level
549
+ x
550
+ 17
551
+ method_visibility
552
+ x
553
+ 15
554
+ add_defn_method
555
+ x
556
+ 19
557
+ gen_dispatch_action
558
+ M
559
+ 1
560
+ n
561
+ n
562
+ x
563
+ 19
564
+ gen_dispatch_action
565
+ i
566
+ 24
567
+ 23
568
+ 2
569
+ 10
570
+ 14
571
+ 44
572
+ 43
573
+ 0
574
+ 78
575
+ 49
576
+ 1
577
+ 1
578
+ 19
579
+ 2
580
+ 15
581
+ 5
582
+ 7
583
+ 2
584
+ 56
585
+ 3
586
+ 47
587
+ 50
588
+ 4
589
+ 1
590
+ 11
591
+ I
592
+ 6
593
+ I
594
+ 3
595
+ I
596
+ 2
597
+ I
598
+ 3
599
+ n
600
+ p
601
+ 5
602
+ x
603
+ 4
604
+ Hash
605
+ x
606
+ 16
607
+ new_from_literal
608
+ x
609
+ 5
610
+ block
611
+ M
612
+ 1
613
+ p
614
+ 2
615
+ x
616
+ 9
617
+ for_block
618
+ t
619
+ n
620
+ x
621
+ 19
622
+ gen_dispatch_action
623
+ i
624
+ 35
625
+ 5
626
+ 56
627
+ 0
628
+ 47
629
+ 50
630
+ 1
631
+ 0
632
+ 15
633
+ 39
634
+ 2
635
+ 7
636
+ 3
637
+ 64
638
+ 49
639
+ 4
640
+ 1
641
+ 49
642
+ 5
643
+ 0
644
+ 21
645
+ 1
646
+ 1
647
+ 21
648
+ 1
649
+ 2
650
+ 5
651
+ 48
652
+ 6
653
+ 49
654
+ 7
655
+ 2
656
+ 49
657
+ 4
658
+ 1
659
+ 11
660
+ I
661
+ 5
662
+ I
663
+ 0
664
+ I
665
+ 0
666
+ I
667
+ 0
668
+ I
669
+ -2
670
+ p
671
+ 8
672
+ M
673
+ 1
674
+ p
675
+ 2
676
+ x
677
+ 9
678
+ for_block
679
+ t
680
+ n
681
+ x
682
+ 19
683
+ gen_dispatch_action
684
+ i
685
+ 19
686
+ 94
687
+ 9
688
+ 7
689
+ 60
690
+ 0
691
+ 8
692
+ 18
693
+ 5
694
+ 21
695
+ 2
696
+ 0
697
+ 21
698
+ 2
699
+ 2
700
+ 47
701
+ 49
702
+ 0
703
+ 2
704
+ 11
705
+ I
706
+ 4
707
+ I
708
+ 0
709
+ I
710
+ 0
711
+ I
712
+ 0
713
+ I
714
+ -2
715
+ p
716
+ 1
717
+ x
718
+ 9
719
+ gen_basic
720
+ p
721
+ 3
722
+ I
723
+ 0
724
+ I
725
+ 13
726
+ I
727
+ 13
728
+ x
729
+ 101
730
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
731
+ p
732
+ 0
733
+ x
734
+ 11
735
+ gen_capture
736
+ x
737
+ 2
738
+ @g
739
+ s
740
+ 3
741
+ &&
742
+ x
743
+ 2
744
+ <<
745
+ x
746
+ 7
747
+ newline
748
+ x
749
+ 20
750
+ dispatch_action_args
751
+ x
752
+ 4
753
+ bind
754
+ p
755
+ 5
756
+ I
757
+ 0
758
+ I
759
+ 13
760
+ I
761
+ 8
762
+ I
763
+ 14
764
+ I
765
+ 23
766
+ x
767
+ 101
768
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
769
+ p
770
+ 0
771
+ x
772
+ 4
773
+ expr
774
+ p
775
+ 5
776
+ I
777
+ -1
778
+ I
779
+ 11
780
+ I
781
+ e
782
+ I
783
+ 12
784
+ I
785
+ 18
786
+ x
787
+ 101
788
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
789
+ p
790
+ 3
791
+ x
792
+ 6
793
+ parser
794
+ x
795
+ 4
796
+ code
797
+ x
798
+ 5
799
+ scope
800
+ x
801
+ 17
802
+ gen_direct_action
803
+ M
804
+ 1
805
+ n
806
+ n
807
+ x
808
+ 17
809
+ gen_direct_action
810
+ i
811
+ 24
812
+ 23
813
+ 2
814
+ 10
815
+ 14
816
+ 44
817
+ 43
818
+ 0
819
+ 78
820
+ 49
821
+ 1
822
+ 1
823
+ 19
824
+ 2
825
+ 15
826
+ 5
827
+ 7
828
+ 2
829
+ 56
830
+ 3
831
+ 47
832
+ 50
833
+ 4
834
+ 1
835
+ 11
836
+ I
837
+ 6
838
+ I
839
+ 3
840
+ I
841
+ 2
842
+ I
843
+ 3
844
+ n
845
+ p
846
+ 5
847
+ x
848
+ 4
849
+ Hash
850
+ x
851
+ 16
852
+ new_from_literal
853
+ x
854
+ 5
855
+ block
856
+ M
857
+ 1
858
+ p
859
+ 2
860
+ x
861
+ 9
862
+ for_block
863
+ t
864
+ n
865
+ x
866
+ 17
867
+ gen_direct_action
868
+ i
869
+ 47
870
+ 5
871
+ 56
872
+ 0
873
+ 47
874
+ 50
875
+ 1
876
+ 0
877
+ 15
878
+ 39
879
+ 2
880
+ 7
881
+ 3
882
+ 64
883
+ 49
884
+ 4
885
+ 1
886
+ 49
887
+ 5
888
+ 0
889
+ 7
890
+ 6
891
+ 64
892
+ 49
893
+ 4
894
+ 1
895
+ 21
896
+ 1
897
+ 1
898
+ 21
899
+ 1
900
+ 2
901
+ 5
902
+ 48
903
+ 7
904
+ 49
905
+ 8
906
+ 2
907
+ 49
908
+ 4
909
+ 1
910
+ 7
911
+ 9
912
+ 64
913
+ 49
914
+ 4
915
+ 1
916
+ 11
917
+ I
918
+ 5
919
+ I
920
+ 0
921
+ I
922
+ 0
923
+ I
924
+ 0
925
+ I
926
+ -2
927
+ p
928
+ 10
929
+ M
930
+ 1
931
+ p
932
+ 2
933
+ x
934
+ 9
935
+ for_block
936
+ t
937
+ n
938
+ x
939
+ 17
940
+ gen_direct_action
941
+ i
942
+ 19
943
+ 94
944
+ 9
945
+ 7
946
+ 60
947
+ 0
948
+ 8
949
+ 18
950
+ 5
951
+ 21
952
+ 2
953
+ 0
954
+ 21
955
+ 2
956
+ 2
957
+ 47
958
+ 49
959
+ 0
960
+ 2
961
+ 11
962
+ I
963
+ 4
964
+ I
965
+ 0
966
+ I
967
+ 0
968
+ I
969
+ 0
970
+ I
971
+ -2
972
+ p
973
+ 1
974
+ x
975
+ 9
976
+ gen_basic
977
+ p
978
+ 3
979
+ I
980
+ 0
981
+ I
982
+ 1a
983
+ I
984
+ 13
985
+ x
986
+ 101
987
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
988
+ p
989
+ 0
990
+ x
991
+ 11
992
+ gen_capture
993
+ x
994
+ 2
995
+ @g
996
+ s
997
+ 3
998
+ &&
999
+ x
1000
+ 2
1001
+ <<
1002
+ x
1003
+ 7
1004
+ newline
1005
+ s
1006
+ 1
1007
+ (
1008
+ x
1009
+ 18
1010
+ direct_action_args
1011
+ x
1012
+ 4
1013
+ bind
1014
+ s
1015
+ 1
1016
+ )
1017
+ p
1018
+ 5
1019
+ I
1020
+ 0
1021
+ I
1022
+ 1a
1023
+ I
1024
+ 8
1025
+ I
1026
+ 1b
1027
+ I
1028
+ 2f
1029
+ x
1030
+ 101
1031
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1032
+ p
1033
+ 0
1034
+ x
1035
+ 4
1036
+ expr
1037
+ p
1038
+ 5
1039
+ I
1040
+ -1
1041
+ I
1042
+ 18
1043
+ I
1044
+ e
1045
+ I
1046
+ 19
1047
+ I
1048
+ 18
1049
+ x
1050
+ 101
1051
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1052
+ p
1053
+ 3
1054
+ x
1055
+ 6
1056
+ parser
1057
+ x
1058
+ 4
1059
+ code
1060
+ x
1061
+ 5
1062
+ scope
1063
+ x
1064
+ 9
1065
+ gen_token
1066
+ M
1067
+ 1
1068
+ n
1069
+ n
1070
+ x
1071
+ 9
1072
+ gen_token
1073
+ i
1074
+ 24
1075
+ 23
1076
+ 1
1077
+ 10
1078
+ 14
1079
+ 44
1080
+ 43
1081
+ 0
1082
+ 78
1083
+ 49
1084
+ 1
1085
+ 1
1086
+ 19
1087
+ 1
1088
+ 15
1089
+ 5
1090
+ 7
1091
+ 2
1092
+ 56
1093
+ 3
1094
+ 47
1095
+ 50
1096
+ 4
1097
+ 1
1098
+ 11
1099
+ I
1100
+ 5
1101
+ I
1102
+ 2
1103
+ I
1104
+ 1
1105
+ I
1106
+ 2
1107
+ n
1108
+ p
1109
+ 5
1110
+ x
1111
+ 4
1112
+ Hash
1113
+ x
1114
+ 16
1115
+ new_from_literal
1116
+ x
1117
+ 5
1118
+ block
1119
+ M
1120
+ 1
1121
+ p
1122
+ 2
1123
+ x
1124
+ 9
1125
+ for_block
1126
+ t
1127
+ n
1128
+ x
1129
+ 9
1130
+ gen_token
1131
+ i
1132
+ 45
1133
+ 39
1134
+ 0
1135
+ 7
1136
+ 1
1137
+ 64
1138
+ 49
1139
+ 2
1140
+ 1
1141
+ 49
1142
+ 3
1143
+ 0
1144
+ 15
1145
+ 5
1146
+ 21
1147
+ 1
1148
+ 0
1149
+ 21
1150
+ 1
1151
+ 1
1152
+ 47
1153
+ 49
1154
+ 4
1155
+ 2
1156
+ 15
1157
+ 39
1158
+ 0
1159
+ 7
1160
+ 5
1161
+ 64
1162
+ 49
1163
+ 2
1164
+ 1
1165
+ 49
1166
+ 3
1167
+ 0
1168
+ 15
1169
+ 39
1170
+ 0
1171
+ 7
1172
+ 6
1173
+ 64
1174
+ 49
1175
+ 2
1176
+ 1
1177
+ 11
1178
+ I
1179
+ 4
1180
+ I
1181
+ 0
1182
+ I
1183
+ 0
1184
+ I
1185
+ 0
1186
+ I
1187
+ -2
1188
+ p
1189
+ 7
1190
+ x
1191
+ 2
1192
+ @g
1193
+ s
1194
+ 17
1195
+ tp = @scanner.pos
1196
+ x
1197
+ 2
1198
+ <<
1199
+ x
1200
+ 7
1201
+ newline
1202
+ x
1203
+ 21
1204
+ gen_intermediate_skip
1205
+ s
1206
+ 3
1207
+ &&
1208
+ s
1209
+ 36
1210
+ @scanner.string[tp...(@scanner.pos)]
1211
+ p
1212
+ 9
1213
+ I
1214
+ 0
1215
+ I
1216
+ 21
1217
+ I
1218
+ c
1219
+ I
1220
+ 22
1221
+ I
1222
+ 18
1223
+ I
1224
+ 23
1225
+ I
1226
+ 24
1227
+ I
1228
+ 24
1229
+ I
1230
+ 2d
1231
+ x
1232
+ 101
1233
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1234
+ p
1235
+ 0
1236
+ x
1237
+ 4
1238
+ expr
1239
+ p
1240
+ 5
1241
+ I
1242
+ -1
1243
+ I
1244
+ 1f
1245
+ I
1246
+ e
1247
+ I
1248
+ 20
1249
+ I
1250
+ 18
1251
+ x
1252
+ 101
1253
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1254
+ p
1255
+ 2
1256
+ x
1257
+ 6
1258
+ parser
1259
+ x
1260
+ 5
1261
+ scope
1262
+ x
1263
+ 16
1264
+ gen_intermediate
1265
+ M
1266
+ 1
1267
+ n
1268
+ n
1269
+ x
1270
+ 16
1271
+ gen_intermediate
1272
+ i
1273
+ 24
1274
+ 23
1275
+ 1
1276
+ 10
1277
+ 14
1278
+ 44
1279
+ 43
1280
+ 0
1281
+ 78
1282
+ 49
1283
+ 1
1284
+ 1
1285
+ 19
1286
+ 1
1287
+ 15
1288
+ 5
1289
+ 20
1290
+ 0
1291
+ 20
1292
+ 1
1293
+ 47
1294
+ 49
1295
+ 2
1296
+ 2
1297
+ 11
1298
+ I
1299
+ 5
1300
+ I
1301
+ 2
1302
+ I
1303
+ 1
1304
+ I
1305
+ 2
1306
+ n
1307
+ p
1308
+ 3
1309
+ x
1310
+ 4
1311
+ Hash
1312
+ x
1313
+ 16
1314
+ new_from_literal
1315
+ x
1316
+ 9
1317
+ gen_basic
1318
+ p
1319
+ 5
1320
+ I
1321
+ -1
1322
+ I
1323
+ 28
1324
+ I
1325
+ e
1326
+ I
1327
+ 29
1328
+ I
1329
+ 18
1330
+ x
1331
+ 101
1332
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1333
+ p
1334
+ 2
1335
+ x
1336
+ 6
1337
+ parser
1338
+ x
1339
+ 5
1340
+ scope
1341
+ x
1342
+ 23
1343
+ gen_intermediate_assert
1344
+ M
1345
+ 1
1346
+ n
1347
+ n
1348
+ x
1349
+ 23
1350
+ gen_intermediate_assert
1351
+ i
1352
+ 24
1353
+ 23
1354
+ 1
1355
+ 10
1356
+ 14
1357
+ 44
1358
+ 43
1359
+ 0
1360
+ 78
1361
+ 49
1362
+ 1
1363
+ 1
1364
+ 19
1365
+ 1
1366
+ 15
1367
+ 5
1368
+ 20
1369
+ 0
1370
+ 20
1371
+ 1
1372
+ 47
1373
+ 49
1374
+ 2
1375
+ 2
1376
+ 11
1377
+ I
1378
+ 5
1379
+ I
1380
+ 2
1381
+ I
1382
+ 1
1383
+ I
1384
+ 2
1385
+ n
1386
+ p
1387
+ 3
1388
+ x
1389
+ 4
1390
+ Hash
1391
+ x
1392
+ 16
1393
+ new_from_literal
1394
+ x
1395
+ 10
1396
+ gen_assert
1397
+ p
1398
+ 5
1399
+ I
1400
+ -1
1401
+ I
1402
+ 2c
1403
+ I
1404
+ e
1405
+ I
1406
+ 2d
1407
+ I
1408
+ 18
1409
+ x
1410
+ 101
1411
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1412
+ p
1413
+ 2
1414
+ x
1415
+ 6
1416
+ parser
1417
+ x
1418
+ 5
1419
+ scope
1420
+ x
1421
+ 25
1422
+ gen_intermediate_disallow
1423
+ M
1424
+ 1
1425
+ n
1426
+ n
1427
+ x
1428
+ 25
1429
+ gen_intermediate_disallow
1430
+ i
1431
+ 24
1432
+ 23
1433
+ 1
1434
+ 10
1435
+ 14
1436
+ 44
1437
+ 43
1438
+ 0
1439
+ 78
1440
+ 49
1441
+ 1
1442
+ 1
1443
+ 19
1444
+ 1
1445
+ 15
1446
+ 5
1447
+ 20
1448
+ 0
1449
+ 20
1450
+ 1
1451
+ 47
1452
+ 49
1453
+ 2
1454
+ 2
1455
+ 11
1456
+ I
1457
+ 5
1458
+ I
1459
+ 2
1460
+ I
1461
+ 1
1462
+ I
1463
+ 2
1464
+ n
1465
+ p
1466
+ 3
1467
+ x
1468
+ 4
1469
+ Hash
1470
+ x
1471
+ 16
1472
+ new_from_literal
1473
+ x
1474
+ 12
1475
+ gen_disallow
1476
+ p
1477
+ 5
1478
+ I
1479
+ -1
1480
+ I
1481
+ 30
1482
+ I
1483
+ e
1484
+ I
1485
+ 31
1486
+ I
1487
+ 18
1488
+ x
1489
+ 101
1490
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1491
+ p
1492
+ 2
1493
+ x
1494
+ 6
1495
+ parser
1496
+ x
1497
+ 5
1498
+ scope
1499
+ x
1500
+ 21
1501
+ gen_intermediate_skip
1502
+ M
1503
+ 1
1504
+ n
1505
+ n
1506
+ x
1507
+ 21
1508
+ gen_intermediate_skip
1509
+ i
1510
+ 24
1511
+ 23
1512
+ 1
1513
+ 10
1514
+ 14
1515
+ 44
1516
+ 43
1517
+ 0
1518
+ 78
1519
+ 49
1520
+ 1
1521
+ 1
1522
+ 19
1523
+ 1
1524
+ 15
1525
+ 5
1526
+ 20
1527
+ 0
1528
+ 20
1529
+ 1
1530
+ 47
1531
+ 49
1532
+ 2
1533
+ 2
1534
+ 11
1535
+ I
1536
+ 5
1537
+ I
1538
+ 2
1539
+ I
1540
+ 1
1541
+ I
1542
+ 2
1543
+ n
1544
+ p
1545
+ 3
1546
+ x
1547
+ 4
1548
+ Hash
1549
+ x
1550
+ 16
1551
+ new_from_literal
1552
+ x
1553
+ 8
1554
+ gen_skip
1555
+ p
1556
+ 5
1557
+ I
1558
+ -1
1559
+ I
1560
+ 34
1561
+ I
1562
+ e
1563
+ I
1564
+ 35
1565
+ I
1566
+ 18
1567
+ x
1568
+ 101
1569
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1570
+ p
1571
+ 2
1572
+ x
1573
+ 6
1574
+ parser
1575
+ x
1576
+ 5
1577
+ scope
1578
+ x
1579
+ 9
1580
+ protected
1581
+ x
1582
+ 12
1583
+ choice_level
1584
+ x
1585
+ 14
1586
+ sequence_level
1587
+ x
1588
+ 12
1589
+ repeat_level
1590
+ x
1591
+ 11
1592
+ attr_reader
1593
+ x
1594
+ 11
1595
+ result_name
1596
+ M
1597
+ 1
1598
+ n
1599
+ n
1600
+ x
1601
+ 11
1602
+ result_name
1603
+ i
1604
+ 4
1605
+ 7
1606
+ 0
1607
+ 64
1608
+ 11
1609
+ I
1610
+ 1
1611
+ I
1612
+ 0
1613
+ I
1614
+ 0
1615
+ I
1616
+ 0
1617
+ n
1618
+ p
1619
+ 1
1620
+ s
1621
+ 1
1622
+ r
1623
+ p
1624
+ 5
1625
+ I
1626
+ -1
1627
+ I
1628
+ 3c
1629
+ I
1630
+ 0
1631
+ I
1632
+ 3d
1633
+ I
1634
+ 4
1635
+ x
1636
+ 101
1637
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1638
+ p
1639
+ 0
1640
+ x
1641
+ 14
1642
+ saved_pos_name
1643
+ M
1644
+ 1
1645
+ n
1646
+ n
1647
+ x
1648
+ 14
1649
+ saved_pos_name
1650
+ i
1651
+ 11
1652
+ 7
1653
+ 0
1654
+ 5
1655
+ 48
1656
+ 1
1657
+ 47
1658
+ 101
1659
+ 2
1660
+ 63
1661
+ 2
1662
+ 11
1663
+ I
1664
+ 2
1665
+ I
1666
+ 0
1667
+ I
1668
+ 0
1669
+ I
1670
+ 0
1671
+ n
1672
+ p
1673
+ 3
1674
+ s
1675
+ 1
1676
+ p
1677
+ x
1678
+ 14
1679
+ sequence_level
1680
+ x
1681
+ 4
1682
+ to_s
1683
+ p
1684
+ 5
1685
+ I
1686
+ -1
1687
+ I
1688
+ 40
1689
+ I
1690
+ 0
1691
+ I
1692
+ 41
1693
+ I
1694
+ b
1695
+ x
1696
+ 101
1697
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1698
+ p
1699
+ 0
1700
+ x
1701
+ 9
1702
+ lookahead
1703
+ M
1704
+ 1
1705
+ n
1706
+ n
1707
+ x
1708
+ 9
1709
+ lookahead
1710
+ i
1711
+ 41
1712
+ 39
1713
+ 0
1714
+ 5
1715
+ 48
1716
+ 1
1717
+ 47
1718
+ 101
1719
+ 2
1720
+ 7
1721
+ 3
1722
+ 63
1723
+ 2
1724
+ 49
1725
+ 4
1726
+ 1
1727
+ 49
1728
+ 5
1729
+ 0
1730
+ 15
1731
+ 60
1732
+ 0
1733
+ 15
1734
+ 39
1735
+ 0
1736
+ 7
1737
+ 6
1738
+ 5
1739
+ 48
1740
+ 1
1741
+ 47
1742
+ 101
1743
+ 2
1744
+ 63
1745
+ 2
1746
+ 49
1747
+ 4
1748
+ 1
1749
+ 49
1750
+ 5
1751
+ 0
1752
+ 11
1753
+ I
1754
+ 3
1755
+ I
1756
+ 0
1757
+ I
1758
+ 0
1759
+ I
1760
+ 0
1761
+ n
1762
+ p
1763
+ 7
1764
+ x
1765
+ 2
1766
+ @g
1767
+ x
1768
+ 14
1769
+ saved_pos_name
1770
+ x
1771
+ 4
1772
+ to_s
1773
+ s
1774
+ 15
1775
+ = @scanner.pos
1776
+ x
1777
+ 2
1778
+ <<
1779
+ x
1780
+ 7
1781
+ newline
1782
+ s
1783
+ 15
1784
+ @scanner.pos =
1785
+ p
1786
+ 9
1787
+ I
1788
+ -1
1789
+ I
1790
+ 44
1791
+ I
1792
+ 0
1793
+ I
1794
+ 45
1795
+ I
1796
+ 13
1797
+ I
1798
+ 46
1799
+ I
1800
+ 16
1801
+ I
1802
+ 47
1803
+ I
1804
+ 29
1805
+ x
1806
+ 101
1807
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1808
+ p
1809
+ 0
1810
+ x
1811
+ 11
1812
+ gen_capture
1813
+ M
1814
+ 1
1815
+ n
1816
+ n
1817
+ x
1818
+ 11
1819
+ gen_capture
1820
+ i
1821
+ 23
1822
+ 39
1823
+ 0
1824
+ 7
1825
+ 1
1826
+ 5
1827
+ 48
1828
+ 2
1829
+ 47
1830
+ 101
1831
+ 3
1832
+ 7
1833
+ 4
1834
+ 63
1835
+ 3
1836
+ 7
1837
+ 5
1838
+ 64
1839
+ 56
1840
+ 6
1841
+ 50
1842
+ 7
1843
+ 2
1844
+ 11
1845
+ I
1846
+ 4
1847
+ I
1848
+ 0
1849
+ I
1850
+ 0
1851
+ I
1852
+ 0
1853
+ n
1854
+ p
1855
+ 8
1856
+ x
1857
+ 2
1858
+ @g
1859
+ s
1860
+ 1
1861
+ (
1862
+ x
1863
+ 11
1864
+ result_name
1865
+ x
1866
+ 4
1867
+ to_s
1868
+ s
1869
+ 3
1870
+ =
1871
+ s
1872
+ 1
1873
+ )
1874
+ M
1875
+ 1
1876
+ p
1877
+ 2
1878
+ x
1879
+ 9
1880
+ for_block
1881
+ t
1882
+ n
1883
+ x
1884
+ 11
1885
+ gen_capture
1886
+ i
1887
+ 3
1888
+ 60
1889
+ 0
1890
+ 11
1891
+ I
1892
+ 2
1893
+ I
1894
+ 0
1895
+ I
1896
+ 0
1897
+ I
1898
+ 0
1899
+ I
1900
+ -2
1901
+ p
1902
+ 0
1903
+ p
1904
+ 3
1905
+ I
1906
+ 0
1907
+ I
1908
+ 4b
1909
+ I
1910
+ 3
1911
+ x
1912
+ 101
1913
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1914
+ p
1915
+ 0
1916
+ x
1917
+ 8
1918
+ surround
1919
+ p
1920
+ 5
1921
+ I
1922
+ -1
1923
+ I
1924
+ 4a
1925
+ I
1926
+ 0
1927
+ I
1928
+ 4b
1929
+ I
1930
+ 17
1931
+ x
1932
+ 101
1933
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1934
+ p
1935
+ 0
1936
+ x
1937
+ 20
1938
+ dispatch_action_args
1939
+ M
1940
+ 1
1941
+ n
1942
+ n
1943
+ x
1944
+ 20
1945
+ dispatch_action_args
1946
+ i
1947
+ 13
1948
+ 7
1949
+ 0
1950
+ 5
1951
+ 48
1952
+ 1
1953
+ 47
1954
+ 101
1955
+ 2
1956
+ 7
1957
+ 3
1958
+ 63
1959
+ 3
1960
+ 11
1961
+ I
1962
+ 3
1963
+ I
1964
+ 0
1965
+ I
1966
+ 0
1967
+ I
1968
+ 0
1969
+ n
1970
+ p
1971
+ 4
1972
+ s
1973
+ 1
1974
+ [
1975
+ x
1976
+ 11
1977
+ result_name
1978
+ x
1979
+ 4
1980
+ to_s
1981
+ s
1982
+ 1
1983
+ ]
1984
+ p
1985
+ 5
1986
+ I
1987
+ -1
1988
+ I
1989
+ 4e
1990
+ I
1991
+ 0
1992
+ I
1993
+ 4f
1994
+ I
1995
+ d
1996
+ x
1997
+ 101
1998
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
1999
+ p
2000
+ 0
2001
+ x
2002
+ 18
2003
+ direct_action_args
2004
+ M
2005
+ 1
2006
+ n
2007
+ n
2008
+ x
2009
+ 18
2010
+ direct_action_args
2011
+ i
2012
+ 6
2013
+ 5
2014
+ 48
2015
+ 0
2016
+ 35
2017
+ 1
2018
+ 11
2019
+ I
2020
+ 1
2021
+ I
2022
+ 0
2023
+ I
2024
+ 0
2025
+ I
2026
+ 0
2027
+ n
2028
+ p
2029
+ 1
2030
+ x
2031
+ 11
2032
+ result_name
2033
+ p
2034
+ 5
2035
+ I
2036
+ -1
2037
+ I
2038
+ 52
2039
+ I
2040
+ 0
2041
+ I
2042
+ 53
2043
+ I
2044
+ 6
2045
+ x
2046
+ 101
2047
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2048
+ p
2049
+ 0
2050
+ p
2051
+ 35
2052
+ I
2053
+ 2
2054
+ I
2055
+ 8
2056
+ I
2057
+ d
2058
+ I
2059
+ a
2060
+ I
2061
+ 1b
2062
+ I
2063
+ 11
2064
+ I
2065
+ 29
2066
+ I
2067
+ 18
2068
+ I
2069
+ 37
2070
+ I
2071
+ 1f
2072
+ I
2073
+ 45
2074
+ I
2075
+ 28
2076
+ I
2077
+ 53
2078
+ I
2079
+ 2c
2080
+ I
2081
+ 61
2082
+ I
2083
+ 30
2084
+ I
2085
+ 6f
2086
+ I
2087
+ 34
2088
+ I
2089
+ 7d
2090
+ I
2091
+ 38
2092
+ I
2093
+ 81
2094
+ I
2095
+ 3a
2096
+ I
2097
+ 8d
2098
+ I
2099
+ 3c
2100
+ I
2101
+ 9b
2102
+ I
2103
+ 40
2104
+ I
2105
+ a9
2106
+ I
2107
+ 44
2108
+ I
2109
+ b7
2110
+ I
2111
+ 4a
2112
+ I
2113
+ c5
2114
+ I
2115
+ 4e
2116
+ I
2117
+ d3
2118
+ I
2119
+ 52
2120
+ I
2121
+ e1
2122
+ x
2123
+ 101
2124
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2125
+ p
2126
+ 0
2127
+ x
2128
+ 13
2129
+ attach_method
2130
+ x
2131
+ 17
2132
+ TopLevelGenerator
2133
+ n
2134
+ M
2135
+ 1
2136
+ n
2137
+ n
2138
+ x
2139
+ 17
2140
+ TopLevelGenerator
2141
+ i
2142
+ 25
2143
+ 5
2144
+ 66
2145
+ 5
2146
+ 45
2147
+ 0
2148
+ 1
2149
+ 47
2150
+ 49
2151
+ 2
2152
+ 1
2153
+ 15
2154
+ 99
2155
+ 7
2156
+ 3
2157
+ 7
2158
+ 4
2159
+ 65
2160
+ 67
2161
+ 49
2162
+ 5
2163
+ 0
2164
+ 49
2165
+ 6
2166
+ 4
2167
+ 11
2168
+ I
2169
+ 5
2170
+ I
2171
+ 0
2172
+ I
2173
+ 0
2174
+ I
2175
+ 0
2176
+ n
2177
+ p
2178
+ 7
2179
+ x
2180
+ 21
2181
+ TopLevelSubGenerating
2182
+ n
2183
+ x
2184
+ 7
2185
+ include
2186
+ x
2187
+ 8
2188
+ generate
2189
+ M
2190
+ 1
2191
+ n
2192
+ n
2193
+ x
2194
+ 8
2195
+ generate
2196
+ i
2197
+ 4
2198
+ 54
2199
+ 89
2200
+ 0
2201
+ 11
2202
+ I
2203
+ 2
2204
+ I
2205
+ 1
2206
+ I
2207
+ 1
2208
+ I
2209
+ 1
2210
+ n
2211
+ p
2212
+ 1
2213
+ x
2214
+ 8
2215
+ generate
2216
+ p
2217
+ 5
2218
+ I
2219
+ -1
2220
+ I
2221
+ 5c
2222
+ I
2223
+ 0
2224
+ I
2225
+ 5d
2226
+ I
2227
+ 4
2228
+ x
2229
+ 101
2230
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2231
+ p
2232
+ 1
2233
+ x
2234
+ 6
2235
+ parser
2236
+ x
2237
+ 17
2238
+ method_visibility
2239
+ x
2240
+ 15
2241
+ add_defn_method
2242
+ p
2243
+ 5
2244
+ I
2245
+ 2
2246
+ I
2247
+ 5a
2248
+ I
2249
+ b
2250
+ I
2251
+ 5c
2252
+ I
2253
+ 19
2254
+ x
2255
+ 101
2256
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2257
+ p
2258
+ 0
2259
+ p
2260
+ 5
2261
+ I
2262
+ 2
2263
+ I
2264
+ 6
2265
+ I
2266
+ 1d
2267
+ I
2268
+ 59
2269
+ I
2270
+ 3a
2271
+ x
2272
+ 101
2273
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2274
+ p
2275
+ 0
2276
+ x
2277
+ 13
2278
+ attach_method
2279
+ p
2280
+ 5
2281
+ I
2282
+ 0
2283
+ I
2284
+ 1
2285
+ I
2286
+ 9
2287
+ I
2288
+ 3
2289
+ I
2290
+ 29
2291
+ x
2292
+ 101
2293
+ /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/expr_generator.rb
2294
+ p
2295
+ 0