rattler 0.4.2 → 0.5.0

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 (347) hide show
  1. data/README.rdoc +9 -3
  2. data/features/command_line/dest_option.feature +1 -1
  3. data/features/command_line/lib_option.feature +2 -2
  4. data/features/command_line/output_option.feature +2 -2
  5. data/features/command_line/parser_generator.feature +3 -3
  6. data/features/grammar/any_character.feature +0 -4
  7. data/features/grammar/back_reference.feature +0 -4
  8. data/features/grammar/character_class.feature +0 -4
  9. data/features/grammar/comments.feature +0 -4
  10. data/features/grammar/e_symbol.feature +18 -0
  11. data/features/grammar/eof.feature +0 -4
  12. data/features/grammar/fail.feature +0 -4
  13. data/features/grammar/list_matching.feature +52 -3
  14. data/features/grammar/literal.feature +0 -4
  15. data/features/grammar/negative_lookahead.feature +0 -4
  16. data/features/grammar/negative_semantic_predicate.feature +99 -0
  17. data/features/grammar/node_action.feature +17 -4
  18. data/features/grammar/nonterminal.feature +3 -7
  19. data/features/grammar/one_or_more.feature +0 -4
  20. data/features/grammar/optional.feature +0 -4
  21. data/features/grammar/ordered_choice.feature +0 -4
  22. data/features/grammar/positive_lookahead.feature +0 -4
  23. data/features/grammar/positive_semantic_predicate.feature +99 -0
  24. data/features/grammar/posix_class.feature +3 -6
  25. data/features/grammar/repeat.feature +50 -0
  26. data/features/grammar/sequence.feature +0 -4
  27. data/features/grammar/side_effect.feature +81 -0
  28. data/features/grammar/skip_operator.feature +2 -5
  29. data/features/grammar/start_rule.feature +1 -5
  30. data/features/grammar/symantic_action.feature +9 -4
  31. data/features/grammar/token.feature +0 -4
  32. data/features/grammar/whitespace.feature +0 -4
  33. data/features/grammar/word_literal.feature +0 -4
  34. data/features/grammar/zero_or_more.feature +0 -4
  35. data/features/step_definitions/grammar_steps.rb +5 -1
  36. data/lib/rattler/back_end/optimizer.rb +1 -0
  37. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rb +20 -8
  38. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rb +10 -7
  39. data/lib/rattler/back_end/optimizer/specialize_repeat.rb +40 -0
  40. data/lib/rattler/back_end/parser_generator.rb +11 -6
  41. data/lib/rattler/back_end/parser_generator/delegating_generator.rb +20 -0
  42. data/lib/rattler/back_end/parser_generator/e_symbol_generator.rb +52 -0
  43. data/lib/rattler/back_end/parser_generator/eof_generator.rb +58 -0
  44. data/lib/rattler/back_end/parser_generator/expr_generator.rb +6 -2
  45. data/lib/rattler/back_end/parser_generator/gen_method_names.rb +15 -5
  46. data/lib/rattler/back_end/parser_generator/general_list_generator.rb +194 -0
  47. data/lib/rattler/back_end/parser_generator/general_repeat_generator.rb +177 -0
  48. data/lib/rattler/back_end/parser_generator/label_generator.rb +4 -1
  49. data/lib/rattler/back_end/parser_generator/list0_generating.rb +36 -0
  50. data/lib/rattler/back_end/parser_generator/list1_generating.rb +30 -0
  51. data/lib/rattler/back_end/parser_generator/list_generator.rb +16 -20
  52. data/lib/rattler/back_end/parser_generator/one_or_more_generating.rb +25 -0
  53. data/lib/rattler/back_end/parser_generator/{optional_generator.rb → optional_generating.rb} +66 -81
  54. data/lib/rattler/back_end/parser_generator/predicate_propogating.rb +4 -4
  55. data/lib/rattler/back_end/parser_generator/repeat_generator.rb +53 -0
  56. data/lib/rattler/back_end/parser_generator/skip_propogating.rb +2 -2
  57. data/lib/rattler/back_end/parser_generator/sub_generating.rb +16 -18
  58. data/lib/rattler/back_end/parser_generator/token_propogating.rb +1 -1
  59. data/lib/rattler/back_end/parser_generator/zero_or_more_generating.rb +31 -0
  60. data/lib/rattler/grammar/grammar_parser.rb +20 -0
  61. data/lib/rattler/grammar/metagrammar.rb +131 -13
  62. data/lib/rattler/grammar/rattler.rtlr +25 -12
  63. data/lib/rattler/parsers.rb +9 -5
  64. data/lib/rattler/parsers/assert_code.rb +31 -0
  65. data/lib/rattler/parsers/atomic.rb +19 -0
  66. data/lib/rattler/parsers/direct_action.rb +12 -4
  67. data/lib/rattler/parsers/disallow_code.rb +31 -0
  68. data/lib/rattler/parsers/dispatch_action.rb +3 -2
  69. data/lib/rattler/parsers/e_symbol.rb +47 -0
  70. data/lib/rattler/parsers/effect_code.rb +31 -0
  71. data/lib/rattler/parsers/eof.rb +6 -13
  72. data/lib/rattler/parsers/list_parser.rb +33 -14
  73. data/lib/rattler/parsers/match.rb +1 -6
  74. data/lib/rattler/parsers/parser_dsl.rb +78 -35
  75. data/lib/rattler/parsers/predicate.rb +1 -4
  76. data/lib/rattler/parsers/repeat.rb +76 -0
  77. data/lib/rattler/parsers/semantic_assert.rb +19 -0
  78. data/lib/rattler/parsers/semantic_disallow.rb +19 -0
  79. data/lib/rattler/parsers/side_effect.rb +19 -0
  80. data/lib/rattler/parsers/skip.rb +1 -9
  81. data/lib/rattler/parsers/token.rb +1 -6
  82. data/lib/rattler/util/graphviz/node_builder.rb +6 -3
  83. data/spec/rattler/back_end/assert_compiler_examples.rb +187 -0
  84. data/spec/rattler/back_end/direct_action_compiler_examples.rb +227 -0
  85. data/spec/rattler/back_end/disallow_compiler_examples.rb +187 -0
  86. data/spec/rattler/back_end/dispatch_action_compiler_examples.rb +225 -0
  87. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rb +45 -33
  88. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rb +32 -172
  89. data/spec/rattler/back_end/parser_generator/e_symbol_generator_spec.rb +149 -0
  90. data/spec/rattler/back_end/parser_generator/eof_generator_spec.rb +152 -0
  91. data/spec/rattler/back_end/parser_generator/label_generator_spec.rb +4 -4
  92. data/spec/rattler/back_end/parser_generator/list0_generator_examples.rb +322 -0
  93. data/spec/rattler/back_end/parser_generator/list1_generator_examples.rb +343 -0
  94. data/spec/rattler/back_end/parser_generator/list_generator_spec.rb +597 -140
  95. data/spec/rattler/back_end/parser_generator/one_or_more_generator_examples.rb +292 -0
  96. data/spec/rattler/back_end/parser_generator/optional_generator_examples.rb +233 -0
  97. data/spec/rattler/back_end/parser_generator/repeat_generator_spec.rb +281 -0
  98. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_examples.rb +277 -0
  99. data/spec/rattler/back_end/semantic_assert_compiler_examples.rb +152 -0
  100. data/spec/rattler/back_end/semantic_disallow_compiler_examples.rb +152 -0
  101. data/spec/rattler/back_end/shared_compiler_examples.rb +106 -651
  102. data/spec/rattler/back_end/side_effect_compiler_examples.rb +227 -0
  103. data/spec/rattler/back_end/skip_compiler_examples.rb +161 -0
  104. data/spec/rattler/back_end/token_compiler_examples.rb +262 -0
  105. data/spec/rattler/grammar/grammar_parser_spec.rb +302 -23
  106. data/spec/rattler/parsers/apply_spec.rb +6 -0
  107. data/spec/rattler/parsers/assert_spec.rb +18 -7
  108. data/spec/rattler/parsers/back_reference_spec.rb +9 -0
  109. data/spec/rattler/parsers/choice_spec.rb +36 -21
  110. data/spec/rattler/parsers/direct_action_spec.rb +76 -36
  111. data/spec/rattler/parsers/disallow_spec.rb +18 -7
  112. data/spec/rattler/parsers/dispatch_action_spec.rb +128 -22
  113. data/spec/rattler/parsers/e_symbol_spec.rb +30 -0
  114. data/spec/rattler/parsers/eof_spec.rb +15 -6
  115. data/spec/rattler/parsers/label_spec.rb +15 -2
  116. data/spec/rattler/parsers/list_parser_spec.rb +187 -0
  117. data/spec/rattler/parsers/match_spec.rb +16 -7
  118. data/spec/rattler/parsers/parser_dsl_spec.rb +82 -23
  119. data/spec/rattler/parsers/repeat_spec.rb +233 -0
  120. data/spec/rattler/parsers/semantic_assert_spec.rb +83 -0
  121. data/spec/rattler/parsers/semantic_disallow_spec.rb +83 -0
  122. data/spec/rattler/parsers/sequence_spec.rb +34 -20
  123. data/spec/rattler/parsers/side_effect_spec.rb +214 -0
  124. data/spec/rattler/parsers/skip_spec.rb +17 -6
  125. data/spec/rattler_spec.rb +2 -0
  126. data/spec/support/compiler_spec_helper.rb +8 -0
  127. metadata +156 -447
  128. data/bin/rtlr.compiled.rbc +0 -201
  129. data/features/step_definitions/cli_steps.rbc +0 -149
  130. data/features/step_definitions/grammar_steps.rbc +0 -1211
  131. data/features/support/env.rbc +0 -389
  132. data/lib/rattler.rbc +0 -1231
  133. data/lib/rattler/back_end.rbc +0 -286
  134. data/lib/rattler/back_end/compiler.rbc +0 -1394
  135. data/lib/rattler/back_end/optimizer.rbc +0 -2000
  136. data/lib/rattler/back_end/optimizer/composite_reducing.rbc +0 -337
  137. data/lib/rattler/back_end/optimizer/flatten_choice.rbc +0 -443
  138. data/lib/rattler/back_end/optimizer/flatten_sequence.rbc +0 -827
  139. data/lib/rattler/back_end/optimizer/flattening.rbc +0 -570
  140. data/lib/rattler/back_end/optimizer/inline_regular_rules.rbc +0 -691
  141. data/lib/rattler/back_end/optimizer/join_match_capturing_sequence.rbc +0 -1299
  142. data/lib/rattler/back_end/optimizer/join_match_choice.rbc +0 -523
  143. data/lib/rattler/back_end/optimizer/join_match_matching_sequence.rbc +0 -619
  144. data/lib/rattler/back_end/optimizer/join_match_sequence.rbc +0 -174
  145. data/lib/rattler/back_end/optimizer/join_predicate_bare_match.rbc +0 -1505
  146. data/lib/rattler/back_end/optimizer/join_predicate_match.rbc +0 -174
  147. data/lib/rattler/back_end/optimizer/join_predicate_nested_match.rbc +0 -620
  148. data/lib/rattler/back_end/optimizer/join_predicate_or_bare_match.rbc +0 -1502
  149. data/lib/rattler/back_end/optimizer/join_predicate_or_match.rbc +0 -174
  150. data/lib/rattler/back_end/optimizer/join_predicate_or_nested_match.rbc +0 -616
  151. data/lib/rattler/back_end/optimizer/match_joining.rbc +0 -1454
  152. data/lib/rattler/back_end/optimizer/optimization.rbc +0 -1366
  153. data/lib/rattler/back_end/optimizer/optimization_context.rbc +0 -1386
  154. data/lib/rattler/back_end/optimizer/optimization_sequence.rbc +0 -520
  155. data/lib/rattler/back_end/optimizer/optimize_children.rbc +0 -793
  156. data/lib/rattler/back_end/optimizer/reduce_repeat_match.rbc +0 -788
  157. data/lib/rattler/back_end/optimizer/remove_meaningless_wrapper.rbc +0 -508
  158. data/lib/rattler/back_end/optimizer/simplify_redundant_repeat.rbc +0 -807
  159. data/lib/rattler/back_end/optimizer/simplify_token_match.rbc +0 -561
  160. data/lib/rattler/back_end/parser_generator.rbc +0 -1326
  161. data/lib/rattler/back_end/parser_generator/apply_generator.rbc +0 -2148
  162. data/lib/rattler/back_end/parser_generator/assert_generator.rbc +0 -1967
  163. data/lib/rattler/back_end/parser_generator/back_reference_generator.rbc +0 -1665
  164. data/lib/rattler/back_end/parser_generator/choice_generator.rbc +0 -2793
  165. data/lib/rattler/back_end/parser_generator/direct_action_generator.rbc +0 -1071
  166. data/lib/rattler/back_end/parser_generator/disallow_generator.rbc +0 -1967
  167. data/lib/rattler/back_end/parser_generator/dispatch_action_generator.rbc +0 -1071
  168. data/lib/rattler/back_end/parser_generator/expr_generator.rbc +0 -2295
  169. data/lib/rattler/back_end/parser_generator/fail_generator.rbc +0 -1216
  170. data/lib/rattler/back_end/parser_generator/gen_method_names.rbc +0 -296
  171. data/lib/rattler/back_end/parser_generator/group_match.rbc +0 -612
  172. data/lib/rattler/back_end/parser_generator/group_match_generator.rbc +0 -1647
  173. data/lib/rattler/back_end/parser_generator/label_generator.rbc +0 -1401
  174. data/lib/rattler/back_end/parser_generator/list1_generator.rb +0 -54
  175. data/lib/rattler/back_end/parser_generator/list1_generator.rbc +0 -1237
  176. data/lib/rattler/back_end/parser_generator/list_generating.rb +0 -71
  177. data/lib/rattler/back_end/parser_generator/list_generating.rbc +0 -1900
  178. data/lib/rattler/back_end/parser_generator/list_generator.rbc +0 -1068
  179. data/lib/rattler/back_end/parser_generator/match_generator.rbc +0 -1743
  180. data/lib/rattler/back_end/parser_generator/nested.rbc +0 -496
  181. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rb +0 -56
  182. data/lib/rattler/back_end/parser_generator/one_or_more_generator.rbc +0 -1277
  183. data/lib/rattler/back_end/parser_generator/optional_generator.rbc +0 -2025
  184. data/lib/rattler/back_end/parser_generator/predicate_propogating.rbc +0 -648
  185. data/lib/rattler/back_end/parser_generator/repeat_generating.rb +0 -57
  186. data/lib/rattler/back_end/parser_generator/repeat_generating.rbc +0 -1549
  187. data/lib/rattler/back_end/parser_generator/rule_generator.rbc +0 -1239
  188. data/lib/rattler/back_end/parser_generator/rule_set_generator.rbc +0 -2641
  189. data/lib/rattler/back_end/parser_generator/sequence_generator.rbc +0 -4867
  190. data/lib/rattler/back_end/parser_generator/skip_generator.rbc +0 -1278
  191. data/lib/rattler/back_end/parser_generator/skip_propogating.rbc +0 -432
  192. data/lib/rattler/back_end/parser_generator/sub_generating.rbc +0 -2785
  193. data/lib/rattler/back_end/parser_generator/token_generator.rbc +0 -755
  194. data/lib/rattler/back_end/parser_generator/token_propogating.rbc +0 -324
  195. data/lib/rattler/back_end/parser_generator/top_level.rbc +0 -352
  196. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rb +0 -53
  197. data/lib/rattler/back_end/parser_generator/zero_or_more_generator.rbc +0 -1111
  198. data/lib/rattler/back_end/ruby_generator.rbc +0 -1841
  199. data/lib/rattler/grammar.rbc +0 -557
  200. data/lib/rattler/grammar/analysis.rbc +0 -1944
  201. data/lib/rattler/grammar/grammar.rbc +0 -1090
  202. data/lib/rattler/grammar/grammar_dsl.rbc +0 -1401
  203. data/lib/rattler/grammar/grammar_parser.rbc +0 -2096
  204. data/lib/rattler/grammar/metagrammar.rbc +0 -11014
  205. data/lib/rattler/parsers.rbc +0 -1006
  206. data/lib/rattler/parsers/action_code.rbc +0 -1577
  207. data/lib/rattler/parsers/apply.rbc +0 -562
  208. data/lib/rattler/parsers/assert.rbc +0 -378
  209. data/lib/rattler/parsers/back_reference.rbc +0 -871
  210. data/lib/rattler/parsers/choice.rbc +0 -607
  211. data/lib/rattler/parsers/combinator_parser.rbc +0 -612
  212. data/lib/rattler/parsers/combining.rbc +0 -570
  213. data/lib/rattler/parsers/direct_action.rbc +0 -1472
  214. data/lib/rattler/parsers/disallow.rbc +0 -379
  215. data/lib/rattler/parsers/dispatch_action.rbc +0 -2078
  216. data/lib/rattler/parsers/eof.rbc +0 -567
  217. data/lib/rattler/parsers/fail.rbc +0 -745
  218. data/lib/rattler/parsers/label.rbc +0 -749
  219. data/lib/rattler/parsers/list.rbc +0 -292
  220. data/lib/rattler/parsers/list0.rb +0 -26
  221. data/lib/rattler/parsers/list0.rbc +0 -292
  222. data/lib/rattler/parsers/list1.rb +0 -26
  223. data/lib/rattler/parsers/list1.rbc +0 -305
  224. data/lib/rattler/parsers/list_parser.rbc +0 -886
  225. data/lib/rattler/parsers/match.rbc +0 -621
  226. data/lib/rattler/parsers/node_code.rbc +0 -1064
  227. data/lib/rattler/parsers/one_or_more.rb +0 -47
  228. data/lib/rattler/parsers/one_or_more.rbc +0 -475
  229. data/lib/rattler/parsers/optional.rb +0 -42
  230. data/lib/rattler/parsers/optional.rbc +0 -450
  231. data/lib/rattler/parsers/parser.rbc +0 -994
  232. data/lib/rattler/parsers/parser_dsl.rbc +0 -4765
  233. data/lib/rattler/parsers/predicate.rbc +0 -490
  234. data/lib/rattler/parsers/rule.rbc +0 -777
  235. data/lib/rattler/parsers/rule_set.rbc +0 -1438
  236. data/lib/rattler/parsers/sequence.rbc +0 -1040
  237. data/lib/rattler/parsers/skip.rbc +0 -613
  238. data/lib/rattler/parsers/token.rbc +0 -457
  239. data/lib/rattler/parsers/zero_or_more.rb +0 -40
  240. data/lib/rattler/parsers/zero_or_more.rbc +0 -462
  241. data/lib/rattler/runner.rbc +0 -3813
  242. data/lib/rattler/runtime.rbc +0 -370
  243. data/lib/rattler/runtime/extended_packrat_parser.rbc +0 -2351
  244. data/lib/rattler/runtime/packrat_parser.rbc +0 -1390
  245. data/lib/rattler/runtime/parse_failure.rbc +0 -909
  246. data/lib/rattler/runtime/parse_node.rbc +0 -1007
  247. data/lib/rattler/runtime/parser.rbc +0 -2267
  248. data/lib/rattler/runtime/parser_helper.rbc +0 -337
  249. data/lib/rattler/runtime/recursive_descent_parser.rbc +0 -942
  250. data/lib/rattler/util.rbc +0 -286
  251. data/lib/rattler/util/graphviz.rbc +0 -327
  252. data/lib/rattler/util/graphviz/node_builder.rbc +0 -2207
  253. data/lib/rattler/util/line_counter.rbc +0 -988
  254. data/lib/rattler/util/node.rbc +0 -2393
  255. data/lib/rattler/util/parser_spec_helper.rbc +0 -2533
  256. data/spec/rattler/back_end/compiler_spec.rbc +0 -1187
  257. data/spec/rattler/back_end/optimizer/flatten_choice_spec.rbc +0 -2093
  258. data/spec/rattler/back_end/optimizer/flatten_sequence_spec.rbc +0 -4055
  259. data/spec/rattler/back_end/optimizer/inline_regular_rules_spec.rbc +0 -2345
  260. data/spec/rattler/back_end/optimizer/join_match_capturing_sequence_spec.rbc +0 -7006
  261. data/spec/rattler/back_end/optimizer/join_match_choice_spec.rbc +0 -3252
  262. data/spec/rattler/back_end/optimizer/join_match_matching_sequence_spec.rbc +0 -3681
  263. data/spec/rattler/back_end/optimizer/join_predicate_bare_match_spec.rbc +0 -5603
  264. data/spec/rattler/back_end/optimizer/join_predicate_nested_match_spec.rbc +0 -5232
  265. data/spec/rattler/back_end/optimizer/join_predicate_or_bare_match_spec.rbc +0 -4272
  266. data/spec/rattler/back_end/optimizer/join_predicate_or_nested_match_spec.rbc +0 -4342
  267. data/spec/rattler/back_end/optimizer/reduce_repeat_match_spec.rbc +0 -2960
  268. data/spec/rattler/back_end/optimizer/simplify_redundant_repeat_spec.rbc +0 -6929
  269. data/spec/rattler/back_end/optimizer/simplify_token_match_spec.rbc +0 -2327
  270. data/spec/rattler/back_end/optimizer_spec.rbc +0 -372
  271. data/spec/rattler/back_end/parser_generator/apply_generator_spec.rbc +0 -4710
  272. data/spec/rattler/back_end/parser_generator/assert_generator_spec.rbc +0 -4697
  273. data/spec/rattler/back_end/parser_generator/back_reference_generator_spec.rbc +0 -4855
  274. data/spec/rattler/back_end/parser_generator/choice_generator_spec.rbc +0 -5350
  275. data/spec/rattler/back_end/parser_generator/direct_action_generator_spec.rbc +0 -4737
  276. data/spec/rattler/back_end/parser_generator/disallow_generator_spec.rbc +0 -4697
  277. data/spec/rattler/back_end/parser_generator/dispatch_action_generator_spec.rbc +0 -4731
  278. data/spec/rattler/back_end/parser_generator/fail_generator_spec.rbc +0 -2115
  279. data/spec/rattler/back_end/parser_generator/group_match_generator_spec.rbc +0 -4195
  280. data/spec/rattler/back_end/parser_generator/group_match_spec.rbc +0 -1414
  281. data/spec/rattler/back_end/parser_generator/label_generator_spec.rbc +0 -4696
  282. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rb +0 -309
  283. data/spec/rattler/back_end/parser_generator/list1_generator_spec.rbc +0 -5213
  284. data/spec/rattler/back_end/parser_generator/list_generator_spec.rbc +0 -5179
  285. data/spec/rattler/back_end/parser_generator/match_generator_spec.rbc +0 -4681
  286. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rb +0 -259
  287. data/spec/rattler/back_end/parser_generator/one_or_more_generator_spec.rbc +0 -4957
  288. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rb +0 -190
  289. data/spec/rattler/back_end/parser_generator/optional_generator_spec.rbc +0 -4704
  290. data/spec/rattler/back_end/parser_generator/rule_generator_spec.rbc +0 -545
  291. data/spec/rattler/back_end/parser_generator/rule_set_generator_spec.rbc +0 -1110
  292. data/spec/rattler/back_end/parser_generator/sequence_generator_spec.rbc +0 -5453
  293. data/spec/rattler/back_end/parser_generator/skip_generator_spec.rbc +0 -4691
  294. data/spec/rattler/back_end/parser_generator/token_generator_spec.rbc +0 -4691
  295. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rb +0 -244
  296. data/spec/rattler/back_end/parser_generator/zero_or_more_generator_spec.rbc +0 -4924
  297. data/spec/rattler/back_end/ruby_generator_spec.rbc +0 -2460
  298. data/spec/rattler/back_end/shared_compiler_examples.rbc +0 -41886
  299. data/spec/rattler/grammar/analysis_spec.rbc +0 -4365
  300. data/spec/rattler/grammar/grammar_parser_spec.rbc +0 -10344
  301. data/spec/rattler/grammar/grammar_spec.rbc +0 -1701
  302. data/spec/rattler/parsers/action_code_spec.rbc +0 -4674
  303. data/spec/rattler/parsers/apply_spec.rbc +0 -851
  304. data/spec/rattler/parsers/assert_spec.rbc +0 -752
  305. data/spec/rattler/parsers/back_reference_spec.rbc +0 -1002
  306. data/spec/rattler/parsers/choice_spec.rbc +0 -1696
  307. data/spec/rattler/parsers/combinator_parser_spec.rbc +0 -361
  308. data/spec/rattler/parsers/direct_action_spec.rbc +0 -5222
  309. data/spec/rattler/parsers/disallow_spec.rbc +0 -752
  310. data/spec/rattler/parsers/dispatch_action_spec.rbc +0 -3033
  311. data/spec/rattler/parsers/eof_spec.rbc +0 -728
  312. data/spec/rattler/parsers/fail_spec.rbc +0 -548
  313. data/spec/rattler/parsers/label_spec.rbc +0 -1091
  314. data/spec/rattler/parsers/list0_spec.rb +0 -82
  315. data/spec/rattler/parsers/list0_spec.rbc +0 -2308
  316. data/spec/rattler/parsers/list1_spec.rb +0 -82
  317. data/spec/rattler/parsers/list1_spec.rbc +0 -2287
  318. data/spec/rattler/parsers/list_spec.rbc +0 -2308
  319. data/spec/rattler/parsers/match_spec.rbc +0 -780
  320. data/spec/rattler/parsers/node_code_spec.rbc +0 -1754
  321. data/spec/rattler/parsers/one_or_more_spec.rb +0 -64
  322. data/spec/rattler/parsers/one_or_more_spec.rbc +0 -1698
  323. data/spec/rattler/parsers/optional_spec.rb +0 -64
  324. data/spec/rattler/parsers/optional_spec.rbc +0 -1717
  325. data/spec/rattler/parsers/parser_dsl_spec.rbc +0 -10150
  326. data/spec/rattler/parsers/rule_set_spec.rbc +0 -1060
  327. data/spec/rattler/parsers/sequence_spec.rbc +0 -2899
  328. data/spec/rattler/parsers/skip_spec.rbc +0 -753
  329. data/spec/rattler/parsers/token_spec.rbc +0 -1511
  330. data/spec/rattler/parsers/zero_or_more_spec.rb +0 -64
  331. data/spec/rattler/parsers/zero_or_more_spec.rbc +0 -1719
  332. data/spec/rattler/runtime/extended_packrat_parser_spec.rbc +0 -1341
  333. data/spec/rattler/runtime/packrat_parser_spec.rbc +0 -210
  334. data/spec/rattler/runtime/parse_failure_spec.rbc +0 -2244
  335. data/spec/rattler/runtime/parse_node_spec.rbc +0 -2008
  336. data/spec/rattler/runtime/parser_spec.rbc +0 -2757
  337. data/spec/rattler/runtime/recursive_descent_parser_spec.rbc +0 -210
  338. data/spec/rattler/runtime/shared_parser_examples.rbc +0 -2567
  339. data/spec/rattler/util/graphviz/node_builder_spec.rbc +0 -3439
  340. data/spec/rattler/util/line_counter_spec.rbc +0 -2272
  341. data/spec/rattler/util/node_spec.rbc +0 -15023
  342. data/spec/rattler_spec.rbc +0 -1591
  343. data/spec/spec_helper.rbc +0 -336
  344. data/spec/support/combinator_parser_spec_helper.rbc +0 -1284
  345. data/spec/support/compiler_spec_helper.rbc +0 -1941
  346. data/spec/support/parser_generator_spec_helper.rbc +0 -718
  347. data/spec/support/runtime_parser_spec_helper.rbc +0 -313
@@ -1,71 +0,0 @@
1
- require 'rattler/back_end/parser_generator'
2
-
3
- module Rattler::BackEnd::ParserGenerator
4
- # @private
5
- module ListGenerating #:nodoc:
6
-
7
- def gen_basic(list, scope={})
8
- if list.capturing?
9
- expr(:block) { gen_capturing list, scope }
10
- else
11
- gen_skip list, scope
12
- end
13
- end
14
-
15
- def gen_dispatch_action(list, code, scope={})
16
- expr :block do
17
- gen_capturing list, scope do |a|
18
- code.bind scope, "select_captures(#{a})"
19
- end
20
- end
21
- end
22
-
23
- def gen_direct_action(list, code, scope={})
24
- expr :block do
25
- gen_capturing list, scope do |a|
26
- '(' + code.bind(scope, ["select_captures(#{a})"]) + ')'
27
- end
28
- end
29
- end
30
-
31
- protected
32
-
33
- def gen_capturing(list, scope={})
34
- (@g << "#{accumulator_name} = []").newline
35
- (@g << "#{saved_pos_name} = nil").newline
36
- @g << "while #{result_name} = "
37
- generate list.child, :basic, scope
38
- @g.block '' do
39
- (@g << "#{saved_pos_name} = @scanner.pos").newline
40
- (@g << "#{accumulator_name} << #{result_name}").newline
41
- @g << 'break unless '
42
- generate list.sep_parser, :intermediate_skip, scope
43
- end.newline
44
- @g << "@scanner.pos = #{saved_pos_name} unless #{saved_pos_name}.nil?"
45
- @g.newline
46
- gen_result(block_given? ? yield(accumulator_name) : accumulator_name)
47
- end
48
-
49
- def gen_skipping(list, scope={})
50
- (@g << "#{saved_pos_name} = nil").newline
51
- @g << 'while '
52
- generate list.child, :intermediate_skip, scope
53
- @g.block '' do
54
- yield if block_given?
55
- (@g << "#{saved_pos_name} = @scanner.pos").newline
56
- @g << 'break unless '
57
- generate list.sep_parser, :intermediate_skip, scope
58
- end.newline
59
- @g << "@scanner.pos = #{saved_pos_name} unless #{saved_pos_name}.nil?"
60
- end
61
-
62
- def accumulator_name
63
- "a#{repeat_level}"
64
- end
65
-
66
- def saved_pos_name
67
- "lp#{repeat_level}"
68
- end
69
-
70
- end
71
- end
@@ -1,1900 +0,0 @@
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
- 28
96
- 5
97
- 66
98
- 99
99
- 7
100
- 0
101
- 65
102
- 49
103
- 1
104
- 2
105
- 13
106
- 99
107
- 12
108
- 7
109
- 2
110
- 12
111
- 7
112
- 3
113
- 12
114
- 65
115
- 12
116
- 49
117
- 4
118
- 4
119
- 15
120
- 49
121
- 2
122
- 0
123
- 11
124
- I
125
- 6
126
- I
127
- 0
128
- I
129
- 0
130
- I
131
- 0
132
- n
133
- p
134
- 5
135
- x
136
- 14
137
- ListGenerating
138
- x
139
- 11
140
- open_module
141
- x
142
- 15
143
- __module_init__
144
- M
145
- 1
146
- n
147
- n
148
- x
149
- 14
150
- ListGenerating
151
- i
152
- 104
153
- 5
154
- 66
155
- 99
156
- 7
157
- 0
158
- 7
159
- 1
160
- 65
161
- 67
162
- 49
163
- 2
164
- 0
165
- 49
166
- 3
167
- 4
168
- 15
169
- 99
170
- 7
171
- 4
172
- 7
173
- 5
174
- 65
175
- 67
176
- 49
177
- 2
178
- 0
179
- 49
180
- 3
181
- 4
182
- 15
183
- 99
184
- 7
185
- 6
186
- 7
187
- 7
188
- 65
189
- 67
190
- 49
191
- 2
192
- 0
193
- 49
194
- 3
195
- 4
196
- 15
197
- 5
198
- 48
199
- 8
200
- 15
201
- 99
202
- 7
203
- 9
204
- 7
205
- 10
206
- 65
207
- 67
208
- 49
209
- 2
210
- 0
211
- 49
212
- 3
213
- 4
214
- 15
215
- 99
216
- 7
217
- 11
218
- 7
219
- 12
220
- 65
221
- 67
222
- 49
223
- 2
224
- 0
225
- 49
226
- 3
227
- 4
228
- 15
229
- 99
230
- 7
231
- 13
232
- 7
233
- 14
234
- 65
235
- 67
236
- 49
237
- 2
238
- 0
239
- 49
240
- 3
241
- 4
242
- 15
243
- 99
244
- 7
245
- 15
246
- 7
247
- 16
248
- 65
249
- 67
250
- 49
251
- 2
252
- 0
253
- 49
254
- 3
255
- 4
256
- 11
257
- I
258
- 5
259
- I
260
- 0
261
- I
262
- 0
263
- I
264
- 0
265
- n
266
- p
267
- 17
268
- x
269
- 9
270
- gen_basic
271
- M
272
- 1
273
- n
274
- n
275
- x
276
- 9
277
- gen_basic
278
- i
279
- 42
280
- 23
281
- 1
282
- 10
283
- 14
284
- 44
285
- 43
286
- 0
287
- 78
288
- 49
289
- 1
290
- 1
291
- 19
292
- 1
293
- 15
294
- 20
295
- 0
296
- 49
297
- 2
298
- 0
299
- 9
300
- 32
301
- 5
302
- 7
303
- 3
304
- 56
305
- 4
306
- 47
307
- 50
308
- 5
309
- 1
310
- 8
311
- 41
312
- 5
313
- 20
314
- 0
315
- 20
316
- 1
317
- 47
318
- 49
319
- 6
320
- 2
321
- 11
322
- I
323
- 5
324
- I
325
- 2
326
- I
327
- 1
328
- I
329
- 2
330
- n
331
- p
332
- 7
333
- x
334
- 4
335
- Hash
336
- x
337
- 16
338
- new_from_literal
339
- x
340
- 10
341
- capturing?
342
- x
343
- 5
344
- block
345
- M
346
- 1
347
- p
348
- 2
349
- x
350
- 9
351
- for_block
352
- t
353
- n
354
- x
355
- 9
356
- gen_basic
357
- i
358
- 12
359
- 5
360
- 21
361
- 1
362
- 0
363
- 21
364
- 1
365
- 1
366
- 47
367
- 49
368
- 0
369
- 2
370
- 11
371
- I
372
- 4
373
- I
374
- 0
375
- I
376
- 0
377
- I
378
- 0
379
- I
380
- -2
381
- p
382
- 1
383
- x
384
- 13
385
- gen_capturing
386
- p
387
- 3
388
- I
389
- 0
390
- I
391
- 9
392
- I
393
- c
394
- x
395
- 102
396
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
397
- p
398
- 0
399
- x
400
- 4
401
- expr
402
- x
403
- 8
404
- gen_skip
405
- p
406
- 9
407
- I
408
- -1
409
- I
410
- 7
411
- I
412
- e
413
- I
414
- 8
415
- I
416
- 15
417
- I
418
- 9
419
- I
420
- 20
421
- I
422
- b
423
- I
424
- 2a
425
- x
426
- 102
427
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
428
- p
429
- 2
430
- x
431
- 4
432
- list
433
- x
434
- 5
435
- scope
436
- x
437
- 17
438
- method_visibility
439
- x
440
- 15
441
- add_defn_method
442
- x
443
- 19
444
- gen_dispatch_action
445
- M
446
- 1
447
- n
448
- n
449
- x
450
- 19
451
- gen_dispatch_action
452
- i
453
- 24
454
- 23
455
- 2
456
- 10
457
- 14
458
- 44
459
- 43
460
- 0
461
- 78
462
- 49
463
- 1
464
- 1
465
- 19
466
- 2
467
- 15
468
- 5
469
- 7
470
- 2
471
- 56
472
- 3
473
- 47
474
- 50
475
- 4
476
- 1
477
- 11
478
- I
479
- 6
480
- I
481
- 3
482
- I
483
- 2
484
- I
485
- 3
486
- n
487
- p
488
- 5
489
- x
490
- 4
491
- Hash
492
- x
493
- 16
494
- new_from_literal
495
- x
496
- 5
497
- block
498
- M
499
- 1
500
- p
501
- 2
502
- x
503
- 9
504
- for_block
505
- t
506
- n
507
- x
508
- 19
509
- gen_dispatch_action
510
- i
511
- 14
512
- 5
513
- 21
514
- 1
515
- 0
516
- 21
517
- 1
518
- 2
519
- 56
520
- 0
521
- 47
522
- 50
523
- 1
524
- 2
525
- 11
526
- I
527
- 5
528
- I
529
- 0
530
- I
531
- 0
532
- I
533
- 0
534
- I
535
- -2
536
- p
537
- 2
538
- M
539
- 1
540
- p
541
- 2
542
- x
543
- 9
544
- for_block
545
- t
546
- n
547
- x
548
- 19
549
- gen_dispatch_action
550
- i
551
- 25
552
- 57
553
- 19
554
- 0
555
- 15
556
- 21
557
- 2
558
- 1
559
- 21
560
- 2
561
- 2
562
- 7
563
- 0
564
- 20
565
- 0
566
- 47
567
- 101
568
- 1
569
- 7
570
- 2
571
- 63
572
- 3
573
- 49
574
- 3
575
- 2
576
- 11
577
- I
578
- 7
579
- I
580
- 1
581
- I
582
- 1
583
- I
584
- 1
585
- n
586
- p
587
- 4
588
- s
589
- 16
590
- select_captures(
591
- x
592
- 4
593
- to_s
594
- s
595
- 1
596
- )
597
- x
598
- 4
599
- bind
600
- p
601
- 5
602
- I
603
- 0
604
- I
605
- 11
606
- I
607
- 4
608
- I
609
- 12
610
- I
611
- 19
612
- x
613
- 102
614
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
615
- p
616
- 1
617
- x
618
- 1
619
- a
620
- x
621
- 13
622
- gen_capturing
623
- p
624
- 3
625
- I
626
- 0
627
- I
628
- 11
629
- I
630
- e
631
- x
632
- 102
633
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
634
- p
635
- 0
636
- x
637
- 4
638
- expr
639
- p
640
- 5
641
- I
642
- -1
643
- I
644
- f
645
- I
646
- e
647
- I
648
- 10
649
- I
650
- 18
651
- x
652
- 102
653
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
654
- p
655
- 3
656
- x
657
- 4
658
- list
659
- x
660
- 4
661
- code
662
- x
663
- 5
664
- scope
665
- x
666
- 17
667
- gen_direct_action
668
- M
669
- 1
670
- n
671
- n
672
- x
673
- 17
674
- gen_direct_action
675
- i
676
- 24
677
- 23
678
- 2
679
- 10
680
- 14
681
- 44
682
- 43
683
- 0
684
- 78
685
- 49
686
- 1
687
- 1
688
- 19
689
- 2
690
- 15
691
- 5
692
- 7
693
- 2
694
- 56
695
- 3
696
- 47
697
- 50
698
- 4
699
- 1
700
- 11
701
- I
702
- 6
703
- I
704
- 3
705
- I
706
- 2
707
- I
708
- 3
709
- n
710
- p
711
- 5
712
- x
713
- 4
714
- Hash
715
- x
716
- 16
717
- new_from_literal
718
- x
719
- 5
720
- block
721
- M
722
- 1
723
- p
724
- 2
725
- x
726
- 9
727
- for_block
728
- t
729
- n
730
- x
731
- 17
732
- gen_direct_action
733
- i
734
- 14
735
- 5
736
- 21
737
- 1
738
- 0
739
- 21
740
- 1
741
- 2
742
- 56
743
- 0
744
- 47
745
- 50
746
- 1
747
- 2
748
- 11
749
- I
750
- 5
751
- I
752
- 0
753
- I
754
- 0
755
- I
756
- 0
757
- I
758
- -2
759
- p
760
- 2
761
- M
762
- 1
763
- p
764
- 2
765
- x
766
- 9
767
- for_block
768
- t
769
- n
770
- x
771
- 17
772
- gen_direct_action
773
- i
774
- 37
775
- 57
776
- 19
777
- 0
778
- 15
779
- 7
780
- 0
781
- 64
782
- 21
783
- 2
784
- 1
785
- 21
786
- 2
787
- 2
788
- 7
789
- 1
790
- 20
791
- 0
792
- 47
793
- 101
794
- 2
795
- 7
796
- 3
797
- 63
798
- 3
799
- 35
800
- 1
801
- 49
802
- 4
803
- 2
804
- 81
805
- 5
806
- 7
807
- 3
808
- 64
809
- 81
810
- 5
811
- 11
812
- I
813
- 8
814
- I
815
- 1
816
- I
817
- 1
818
- I
819
- 1
820
- n
821
- p
822
- 6
823
- s
824
- 1
825
- (
826
- s
827
- 16
828
- select_captures(
829
- x
830
- 4
831
- to_s
832
- s
833
- 1
834
- )
835
- x
836
- 4
837
- bind
838
- x
839
- 1
840
- +
841
- p
842
- 5
843
- I
844
- 0
845
- I
846
- 19
847
- I
848
- 4
849
- I
850
- 1a
851
- I
852
- 25
853
- x
854
- 102
855
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
856
- p
857
- 1
858
- x
859
- 1
860
- a
861
- x
862
- 13
863
- gen_capturing
864
- p
865
- 3
866
- I
867
- 0
868
- I
869
- 19
870
- I
871
- e
872
- x
873
- 102
874
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
875
- p
876
- 0
877
- x
878
- 4
879
- expr
880
- p
881
- 5
882
- I
883
- -1
884
- I
885
- 17
886
- I
887
- e
888
- I
889
- 18
890
- I
891
- 18
892
- x
893
- 102
894
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
895
- p
896
- 3
897
- x
898
- 4
899
- list
900
- x
901
- 4
902
- code
903
- x
904
- 5
905
- scope
906
- x
907
- 9
908
- protected
909
- x
910
- 13
911
- gen_capturing
912
- M
913
- 1
914
- n
915
- n
916
- x
917
- 13
918
- gen_capturing
919
- i
920
- 150
921
- 23
922
- 1
923
- 10
924
- 14
925
- 44
926
- 43
927
- 0
928
- 78
929
- 49
930
- 1
931
- 1
932
- 19
933
- 1
934
- 15
935
- 39
936
- 2
937
- 5
938
- 48
939
- 3
940
- 47
941
- 101
942
- 4
943
- 7
944
- 5
945
- 63
946
- 2
947
- 49
948
- 6
949
- 1
950
- 49
951
- 7
952
- 0
953
- 15
954
- 39
955
- 2
956
- 5
957
- 48
958
- 8
959
- 47
960
- 101
961
- 4
962
- 7
963
- 9
964
- 63
965
- 2
966
- 49
967
- 6
968
- 1
969
- 49
970
- 7
971
- 0
972
- 15
973
- 39
974
- 2
975
- 7
976
- 10
977
- 5
978
- 48
979
- 11
980
- 47
981
- 101
982
- 4
983
- 7
984
- 12
985
- 63
986
- 3
987
- 49
988
- 6
989
- 1
990
- 15
991
- 5
992
- 20
993
- 0
994
- 49
995
- 13
996
- 0
997
- 7
998
- 14
999
- 20
1000
- 1
1001
- 47
1002
- 49
1003
- 15
1004
- 3
1005
- 15
1006
- 39
1007
- 2
1008
- 7
1009
- 16
1010
- 64
1011
- 56
1012
- 17
1013
- 50
1014
- 18
1015
- 1
1016
- 49
1017
- 7
1018
- 0
1019
- 15
1020
- 39
1021
- 2
1022
- 7
1023
- 19
1024
- 5
1025
- 48
1026
- 8
1027
- 47
1028
- 101
1029
- 4
1030
- 7
1031
- 20
1032
- 5
1033
- 48
1034
- 8
1035
- 47
1036
- 101
1037
- 4
1038
- 7
1039
- 21
1040
- 63
1041
- 5
1042
- 49
1043
- 6
1044
- 1
1045
- 15
1046
- 39
1047
- 2
1048
- 49
1049
- 7
1050
- 0
1051
- 15
1052
- 5
1053
- 94
1054
- 9
1055
- 142
1056
- 5
1057
- 48
1058
- 3
1059
- 60
1060
- 1
1061
- 8
1062
- 145
1063
- 5
1064
- 48
1065
- 3
1066
- 47
1067
- 49
1068
- 22
1069
- 1
1070
- 11
1071
- I
1072
- 8
1073
- I
1074
- 2
1075
- I
1076
- 1
1077
- I
1078
- 2
1079
- n
1080
- p
1081
- 23
1082
- x
1083
- 4
1084
- Hash
1085
- x
1086
- 16
1087
- new_from_literal
1088
- x
1089
- 2
1090
- @g
1091
- x
1092
- 16
1093
- accumulator_name
1094
- x
1095
- 4
1096
- to_s
1097
- s
1098
- 5
1099
- = []
1100
- x
1101
- 2
1102
- <<
1103
- x
1104
- 7
1105
- newline
1106
- x
1107
- 14
1108
- saved_pos_name
1109
- s
1110
- 6
1111
- = nil
1112
- s
1113
- 6
1114
- while
1115
- x
1116
- 11
1117
- result_name
1118
- s
1119
- 3
1120
- =
1121
- x
1122
- 5
1123
- child
1124
- x
1125
- 5
1126
- basic
1127
- x
1128
- 8
1129
- generate
1130
- s
1131
- 0
1132
-
1133
- M
1134
- 1
1135
- p
1136
- 2
1137
- x
1138
- 9
1139
- for_block
1140
- t
1141
- n
1142
- x
1143
- 13
1144
- gen_capturing
1145
- i
1146
- 70
1147
- 39
1148
- 0
1149
- 5
1150
- 48
1151
- 1
1152
- 47
1153
- 101
1154
- 2
1155
- 7
1156
- 3
1157
- 63
1158
- 2
1159
- 49
1160
- 4
1161
- 1
1162
- 49
1163
- 5
1164
- 0
1165
- 15
1166
- 39
1167
- 0
1168
- 5
1169
- 48
1170
- 6
1171
- 47
1172
- 101
1173
- 2
1174
- 7
1175
- 7
1176
- 5
1177
- 48
1178
- 8
1179
- 47
1180
- 101
1181
- 2
1182
- 63
1183
- 3
1184
- 49
1185
- 4
1186
- 1
1187
- 49
1188
- 5
1189
- 0
1190
- 15
1191
- 39
1192
- 0
1193
- 7
1194
- 9
1195
- 64
1196
- 49
1197
- 4
1198
- 1
1199
- 15
1200
- 5
1201
- 21
1202
- 1
1203
- 0
1204
- 49
1205
- 10
1206
- 0
1207
- 7
1208
- 11
1209
- 21
1210
- 1
1211
- 1
1212
- 47
1213
- 49
1214
- 12
1215
- 3
1216
- 11
1217
- I
1218
- 5
1219
- I
1220
- 0
1221
- I
1222
- 0
1223
- I
1224
- 0
1225
- I
1226
- -2
1227
- p
1228
- 13
1229
- x
1230
- 2
1231
- @g
1232
- x
1233
- 14
1234
- saved_pos_name
1235
- x
1236
- 4
1237
- to_s
1238
- s
1239
- 15
1240
- = @scanner.pos
1241
- x
1242
- 2
1243
- <<
1244
- x
1245
- 7
1246
- newline
1247
- x
1248
- 16
1249
- accumulator_name
1250
- s
1251
- 4
1252
- <<
1253
- x
1254
- 11
1255
- result_name
1256
- s
1257
- 13
1258
- break unless
1259
- x
1260
- 10
1261
- sep_parser
1262
- x
1263
- 17
1264
- intermediate_skip
1265
- x
1266
- 8
1267
- generate
1268
- p
1269
- 9
1270
- I
1271
- 0
1272
- I
1273
- 27
1274
- I
1275
- 13
1276
- I
1277
- 28
1278
- I
1279
- 2c
1280
- I
1281
- 29
1282
- I
1283
- 35
1284
- I
1285
- 2a
1286
- I
1287
- 46
1288
- x
1289
- 102
1290
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1291
- p
1292
- 0
1293
- x
1294
- 5
1295
- block
1296
- s
1297
- 15
1298
- @scanner.pos =
1299
- s
1300
- 8
1301
- unless
1302
- s
1303
- 5
1304
- .nil?
1305
- x
1306
- 10
1307
- gen_result
1308
- p
1309
- 19
1310
- I
1311
- -1
1312
- I
1313
- 21
1314
- I
1315
- e
1316
- I
1317
- 22
1318
- I
1319
- 21
1320
- I
1321
- 23
1322
- I
1323
- 34
1324
- I
1325
- 24
1326
- I
1327
- 46
1328
- I
1329
- 25
1330
- I
1331
- 55
1332
- I
1333
- 26
1334
- I
1335
- 63
1336
- I
1337
- 2c
1338
- I
1339
- 7d
1340
- I
1341
- 2d
1342
- I
1343
- 83
1344
- I
1345
- 2e
1346
- I
1347
- 96
1348
- x
1349
- 102
1350
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1351
- p
1352
- 2
1353
- x
1354
- 4
1355
- list
1356
- x
1357
- 5
1358
- scope
1359
- x
1360
- 12
1361
- gen_skipping
1362
- M
1363
- 1
1364
- n
1365
- n
1366
- x
1367
- 12
1368
- gen_skipping
1369
- i
1370
- 97
1371
- 23
1372
- 1
1373
- 10
1374
- 14
1375
- 44
1376
- 43
1377
- 0
1378
- 78
1379
- 49
1380
- 1
1381
- 1
1382
- 19
1383
- 1
1384
- 15
1385
- 39
1386
- 2
1387
- 5
1388
- 48
1389
- 3
1390
- 47
1391
- 101
1392
- 4
1393
- 7
1394
- 5
1395
- 63
1396
- 2
1397
- 49
1398
- 6
1399
- 1
1400
- 49
1401
- 7
1402
- 0
1403
- 15
1404
- 39
1405
- 2
1406
- 7
1407
- 8
1408
- 64
1409
- 49
1410
- 6
1411
- 1
1412
- 15
1413
- 5
1414
- 20
1415
- 0
1416
- 49
1417
- 9
1418
- 0
1419
- 7
1420
- 10
1421
- 20
1422
- 1
1423
- 47
1424
- 49
1425
- 11
1426
- 3
1427
- 15
1428
- 39
1429
- 2
1430
- 7
1431
- 12
1432
- 64
1433
- 56
1434
- 13
1435
- 50
1436
- 14
1437
- 1
1438
- 49
1439
- 7
1440
- 0
1441
- 15
1442
- 39
1443
- 2
1444
- 7
1445
- 15
1446
- 5
1447
- 48
1448
- 3
1449
- 47
1450
- 101
1451
- 4
1452
- 7
1453
- 16
1454
- 5
1455
- 48
1456
- 3
1457
- 47
1458
- 101
1459
- 4
1460
- 7
1461
- 17
1462
- 63
1463
- 5
1464
- 49
1465
- 6
1466
- 1
1467
- 11
1468
- I
1469
- 8
1470
- I
1471
- 2
1472
- I
1473
- 1
1474
- I
1475
- 2
1476
- n
1477
- p
1478
- 18
1479
- x
1480
- 4
1481
- Hash
1482
- x
1483
- 16
1484
- new_from_literal
1485
- x
1486
- 2
1487
- @g
1488
- x
1489
- 14
1490
- saved_pos_name
1491
- x
1492
- 4
1493
- to_s
1494
- s
1495
- 6
1496
- = nil
1497
- x
1498
- 2
1499
- <<
1500
- x
1501
- 7
1502
- newline
1503
- s
1504
- 6
1505
- while
1506
- x
1507
- 5
1508
- child
1509
- x
1510
- 17
1511
- intermediate_skip
1512
- x
1513
- 8
1514
- generate
1515
- s
1516
- 0
1517
-
1518
- M
1519
- 1
1520
- p
1521
- 2
1522
- x
1523
- 9
1524
- for_block
1525
- t
1526
- n
1527
- x
1528
- 12
1529
- gen_skipping
1530
- i
1531
- 54
1532
- 94
1533
- 9
1534
- 7
1535
- 60
1536
- 0
1537
- 8
1538
- 8
1539
- 1
1540
- 15
1541
- 39
1542
- 0
1543
- 5
1544
- 48
1545
- 1
1546
- 47
1547
- 101
1548
- 2
1549
- 7
1550
- 3
1551
- 63
1552
- 2
1553
- 49
1554
- 4
1555
- 1
1556
- 49
1557
- 5
1558
- 0
1559
- 15
1560
- 39
1561
- 0
1562
- 7
1563
- 6
1564
- 64
1565
- 49
1566
- 4
1567
- 1
1568
- 15
1569
- 5
1570
- 21
1571
- 1
1572
- 0
1573
- 49
1574
- 7
1575
- 0
1576
- 7
1577
- 8
1578
- 21
1579
- 1
1580
- 1
1581
- 47
1582
- 49
1583
- 9
1584
- 3
1585
- 11
1586
- I
1587
- 5
1588
- I
1589
- 0
1590
- I
1591
- 0
1592
- I
1593
- 0
1594
- I
1595
- -2
1596
- p
1597
- 10
1598
- x
1599
- 2
1600
- @g
1601
- x
1602
- 14
1603
- saved_pos_name
1604
- x
1605
- 4
1606
- to_s
1607
- s
1608
- 15
1609
- = @scanner.pos
1610
- x
1611
- 2
1612
- <<
1613
- x
1614
- 7
1615
- newline
1616
- s
1617
- 13
1618
- break unless
1619
- x
1620
- 10
1621
- sep_parser
1622
- x
1623
- 17
1624
- intermediate_skip
1625
- x
1626
- 8
1627
- generate
1628
- p
1629
- 9
1630
- I
1631
- 0
1632
- I
1633
- 36
1634
- I
1635
- 9
1636
- I
1637
- 37
1638
- I
1639
- 1c
1640
- I
1641
- 38
1642
- I
1643
- 25
1644
- I
1645
- 39
1646
- I
1647
- 36
1648
- x
1649
- 102
1650
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1651
- p
1652
- 0
1653
- x
1654
- 5
1655
- block
1656
- s
1657
- 15
1658
- @scanner.pos =
1659
- s
1660
- 8
1661
- unless
1662
- s
1663
- 5
1664
- .nil?
1665
- p
1666
- 13
1667
- I
1668
- -1
1669
- I
1670
- 31
1671
- I
1672
- e
1673
- I
1674
- 32
1675
- I
1676
- 21
1677
- I
1678
- 33
1679
- I
1680
- 2a
1681
- I
1682
- 34
1683
- I
1684
- 39
1685
- I
1686
- 35
1687
- I
1688
- 47
1689
- I
1690
- 3b
1691
- I
1692
- 61
1693
- x
1694
- 102
1695
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1696
- p
1697
- 2
1698
- x
1699
- 4
1700
- list
1701
- x
1702
- 5
1703
- scope
1704
- x
1705
- 16
1706
- accumulator_name
1707
- M
1708
- 1
1709
- n
1710
- n
1711
- x
1712
- 16
1713
- accumulator_name
1714
- i
1715
- 11
1716
- 7
1717
- 0
1718
- 5
1719
- 48
1720
- 1
1721
- 47
1722
- 101
1723
- 2
1724
- 63
1725
- 2
1726
- 11
1727
- I
1728
- 2
1729
- I
1730
- 0
1731
- I
1732
- 0
1733
- I
1734
- 0
1735
- n
1736
- p
1737
- 3
1738
- s
1739
- 1
1740
- a
1741
- x
1742
- 12
1743
- repeat_level
1744
- x
1745
- 4
1746
- to_s
1747
- p
1748
- 5
1749
- I
1750
- -1
1751
- I
1752
- 3e
1753
- I
1754
- 0
1755
- I
1756
- 3f
1757
- I
1758
- b
1759
- x
1760
- 102
1761
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1762
- p
1763
- 0
1764
- x
1765
- 14
1766
- saved_pos_name
1767
- M
1768
- 1
1769
- n
1770
- n
1771
- x
1772
- 14
1773
- saved_pos_name
1774
- i
1775
- 11
1776
- 7
1777
- 0
1778
- 5
1779
- 48
1780
- 1
1781
- 47
1782
- 101
1783
- 2
1784
- 63
1785
- 2
1786
- 11
1787
- I
1788
- 2
1789
- I
1790
- 0
1791
- I
1792
- 0
1793
- I
1794
- 0
1795
- n
1796
- p
1797
- 3
1798
- s
1799
- 2
1800
- lp
1801
- x
1802
- 12
1803
- repeat_level
1804
- x
1805
- 4
1806
- to_s
1807
- p
1808
- 5
1809
- I
1810
- -1
1811
- I
1812
- 42
1813
- I
1814
- 0
1815
- I
1816
- 43
1817
- I
1818
- b
1819
- x
1820
- 102
1821
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1822
- p
1823
- 0
1824
- p
1825
- 17
1826
- I
1827
- 2
1828
- I
1829
- 7
1830
- I
1831
- 10
1832
- I
1833
- f
1834
- I
1835
- 1e
1836
- I
1837
- 17
1838
- I
1839
- 2c
1840
- I
1841
- 1f
1842
- I
1843
- 30
1844
- I
1845
- 21
1846
- I
1847
- 3e
1848
- I
1849
- 31
1850
- I
1851
- 4c
1852
- I
1853
- 3e
1854
- I
1855
- 5a
1856
- I
1857
- 42
1858
- I
1859
- 68
1860
- x
1861
- 102
1862
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1863
- p
1864
- 0
1865
- x
1866
- 13
1867
- attach_method
1868
- p
1869
- 3
1870
- I
1871
- 2
1872
- I
1873
- 5
1874
- I
1875
- 1c
1876
- x
1877
- 102
1878
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1879
- p
1880
- 0
1881
- x
1882
- 13
1883
- attach_method
1884
- p
1885
- 5
1886
- I
1887
- 0
1888
- I
1889
- 1
1890
- I
1891
- 9
1892
- I
1893
- 3
1894
- I
1895
- 29
1896
- x
1897
- 102
1898
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/lib/rattler/back_end/parser_generator/list_generating.rb
1899
- p
1900
- 0