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