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