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,190 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- include Rattler::BackEnd::ParserGenerator
4
- include Rattler::Parsers
5
-
6
- describe OptionalGenerator do
7
-
8
- include ParserGeneratorSpecHelper
9
-
10
- let(:optional) { Optional[Match[/w+/]] }
11
-
12
- describe '#gen_basic' do
13
-
14
- context 'when nested' do
15
- it 'generates nested optional matching code' do
16
- nested_code {|g| g.gen_basic optional }.
17
- should == '((r = @scanner.scan(/w+/)) ? [r] : [])'
18
- end
19
- end
20
-
21
- context 'when top-level' do
22
- it 'generates top level optional matching code' do
23
- top_level_code {|g| g.gen_basic optional }.
24
- should == '(r = @scanner.scan(/w+/)) ? [r] : []'
25
- end
26
- end
27
- end
28
-
29
- describe '#gen_assert' do
30
-
31
- context 'when nested' do
32
- it 'generates "true"' do
33
- nested_code {|g| g.gen_assert optional }.should == 'true'
34
- end
35
- end
36
-
37
- context 'when top-level' do
38
- it 'generates "true"' do
39
- top_level_code {|g| g.gen_assert optional }.should == 'true'
40
- end
41
- end
42
- end
43
-
44
- describe '#gen_disallow' do
45
-
46
- context 'when nested' do
47
- it 'generates "false"' do
48
- nested_code {|g| g.gen_disallow optional }.should == 'false'
49
- end
50
- end
51
-
52
- context 'when top-level' do
53
- it 'generates "false"' do
54
- top_level_code {|g| g.gen_disallow optional }.should == 'false'
55
- end
56
- end
57
- end
58
-
59
- describe '#gen_dispatch_action' do
60
-
61
- let(:code) { NodeCode.new('Word', 'parsed') }
62
-
63
- context 'when nested' do
64
- it 'generates nested optional matching code with a dispatch action' do
65
- nested_code {|g| g.gen_dispatch_action optional, code }.
66
- should == (<<-CODE).strip
67
- begin
68
- r = @scanner.scan(/w+/)
69
- Word.parsed(r ? [r] : [])
70
- end
71
- CODE
72
- end
73
- end
74
-
75
- context 'when top-level' do
76
- it 'generates top level optional matching code with a dispatch action' do
77
- top_level_code {|g| g.gen_dispatch_action optional, code }.
78
- should == (<<-CODE).strip
79
- r = @scanner.scan(/w+/)
80
- Word.parsed(r ? [r] : [])
81
- CODE
82
- end
83
- end
84
- end
85
-
86
- describe '#gen_direct_action' do
87
-
88
- let(:code) { ActionCode.new('|_| _.size') }
89
-
90
- context 'when nested' do
91
- it 'generates nested optional matching code with a direct action' do
92
- nested_code {|g| g.gen_direct_action optional, code }.
93
- should == (<<-CODE).strip
94
- begin
95
- r = @scanner.scan(/w+/)
96
- ((r ? [r] : []).size)
97
- end
98
- CODE
99
- end
100
- end
101
-
102
- context 'when top-level' do
103
- it 'generates top level optional matching code with a direct action' do
104
- top_level_code {|g| g.gen_direct_action optional, code }.
105
- should == (<<-CODE).strip
106
- r = @scanner.scan(/w+/)
107
- ((r ? [r] : []).size)
108
- CODE
109
- end
110
- end
111
- end
112
-
113
- describe '#gen_token' do
114
-
115
- context 'when nested' do
116
- it 'generates nested optional matching code' do
117
- nested_code {|g| g.gen_token optional }.
118
- should == (<<-CODE).strip
119
- begin
120
- @scanner.scan(/w+/) || ''
121
- end
122
- CODE
123
- end
124
- end
125
-
126
- context 'when top-level' do
127
- it 'generates top level optional matching code' do
128
- top_level_code {|g| g.gen_token optional }.
129
- should == "@scanner.scan(/w+/) || ''"
130
- end
131
- end
132
- end
133
-
134
- describe '#gen_skip' do
135
-
136
- context 'when nested' do
137
- it 'generates nested optional skipping code' do
138
- nested_code {|g| g.gen_skip optional }.
139
- should == (<<-CODE).strip
140
- begin
141
- @scanner.skip(/w+/)
142
- true
143
- end
144
- CODE
145
- end
146
- end
147
-
148
- context 'when top-level' do
149
- it 'generates top level optional skipping code' do
150
- top_level_code {|g| g.gen_skip optional }.
151
- should == (<<-CODE).strip
152
- @scanner.skip(/w+/)
153
- true
154
- CODE
155
- end
156
- end
157
- end
158
-
159
- describe '#gen_intermediate' do
160
- it 'generates nested optional matching code' do
161
- nested_code {|g| g.gen_intermediate optional }.
162
- should == '((r = @scanner.scan(/w+/)) ? [r] : [])'
163
- end
164
- end
165
-
166
- describe '#gen_intermediate_assert' do
167
- it 'generates "true"' do
168
- nested_code {|g| g.gen_intermediate_assert optional }.should == 'true'
169
- end
170
- end
171
-
172
- describe '#gen_intermediate_disallow' do
173
- it 'generates "false"' do
174
- nested_code {|g| g.gen_intermediate_disallow optional }.should == 'false'
175
- end
176
- end
177
-
178
- describe '#gen_intermediate_skip' do
179
- it 'generates nested optional skipping code' do
180
- nested_code {|g| g.gen_intermediate_skip optional }.
181
- should == (<<-CODE).strip
182
- begin
183
- @scanner.skip(/w+/)
184
- true
185
- end
186
- CODE
187
- end
188
- end
189
-
190
- end
@@ -1,4704 +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
- 64
13
- 5
14
- 45
15
- 0
16
- 1
17
- 45
18
- 0
19
- 2
20
- 65
21
- 49
22
- 3
23
- 0
24
- 49
25
- 4
26
- 1
27
- 7
28
- 5
29
- 64
30
- 81
31
- 6
32
- 49
33
- 7
34
- 1
35
- 47
36
- 49
37
- 8
38
- 1
39
- 15
40
- 5
41
- 45
42
- 9
43
- 10
44
- 43
45
- 11
46
- 43
47
- 12
48
- 47
49
- 49
50
- 13
51
- 1
52
- 15
53
- 5
54
- 45
55
- 9
56
- 14
57
- 43
58
- 15
59
- 47
60
- 49
61
- 13
62
- 1
63
- 15
64
- 5
65
- 45
66
- 16
67
- 17
68
- 56
69
- 18
70
- 47
71
- 50
72
- 19
73
- 1
74
- 15
75
- 2
76
- 11
77
- I
78
- 4
79
- I
80
- 0
81
- I
82
- 0
83
- I
84
- 0
85
- n
86
- p
87
- 20
88
- x
89
- 4
90
- File
91
- n
92
- n
93
- x
94
- 11
95
- active_path
96
- x
97
- 7
98
- dirname
99
- s
100
- 21
101
- /../../../spec_helper
102
- x
103
- 1
104
- +
105
- x
106
- 11
107
- expand_path
108
- x
109
- 7
110
- require
111
- x
112
- 7
113
- Rattler
114
- n
115
- x
116
- 7
117
- BackEnd
118
- x
119
- 15
120
- ParserGenerator
121
- x
122
- 7
123
- include
124
- n
125
- x
126
- 7
127
- Parsers
128
- x
129
- 17
130
- OptionalGenerator
131
- n
132
- M
133
- 1
134
- p
135
- 2
136
- x
137
- 9
138
- for_block
139
- t
140
- n
141
- x
142
- 9
143
- __block__
144
- i
145
- 140
146
- 5
147
- 45
148
- 0
149
- 1
150
- 47
151
- 49
152
- 2
153
- 1
154
- 15
155
- 5
156
- 7
157
- 3
158
- 56
159
- 4
160
- 47
161
- 50
162
- 5
163
- 1
164
- 15
165
- 5
166
- 7
167
- 6
168
- 64
169
- 56
170
- 7
171
- 47
172
- 50
173
- 8
174
- 1
175
- 15
176
- 5
177
- 7
178
- 9
179
- 64
180
- 56
181
- 10
182
- 47
183
- 50
184
- 8
185
- 1
186
- 15
187
- 5
188
- 7
189
- 11
190
- 64
191
- 56
192
- 12
193
- 47
194
- 50
195
- 8
196
- 1
197
- 15
198
- 5
199
- 7
200
- 13
201
- 64
202
- 56
203
- 14
204
- 47
205
- 50
206
- 8
207
- 1
208
- 15
209
- 5
210
- 7
211
- 15
212
- 64
213
- 56
214
- 16
215
- 47
216
- 50
217
- 8
218
- 1
219
- 15
220
- 5
221
- 7
222
- 17
223
- 64
224
- 56
225
- 18
226
- 47
227
- 50
228
- 8
229
- 1
230
- 15
231
- 5
232
- 7
233
- 19
234
- 64
235
- 56
236
- 20
237
- 47
238
- 50
239
- 8
240
- 1
241
- 15
242
- 5
243
- 7
244
- 21
245
- 64
246
- 56
247
- 22
248
- 47
249
- 50
250
- 8
251
- 1
252
- 15
253
- 5
254
- 7
255
- 23
256
- 64
257
- 56
258
- 24
259
- 47
260
- 50
261
- 8
262
- 1
263
- 15
264
- 5
265
- 7
266
- 25
267
- 64
268
- 56
269
- 26
270
- 47
271
- 50
272
- 8
273
- 1
274
- 15
275
- 5
276
- 7
277
- 27
278
- 64
279
- 56
280
- 28
281
- 47
282
- 50
283
- 8
284
- 1
285
- 11
286
- I
287
- 4
288
- I
289
- 0
290
- I
291
- 0
292
- I
293
- 0
294
- I
295
- -2
296
- p
297
- 29
298
- x
299
- 25
300
- ParserGeneratorSpecHelper
301
- n
302
- x
303
- 7
304
- include
305
- x
306
- 8
307
- optional
308
- M
309
- 1
310
- p
311
- 2
312
- x
313
- 9
314
- for_block
315
- t
316
- n
317
- x
318
- 9
319
- __block__
320
- i
321
- 31
322
- 45
323
- 0
324
- 1
325
- 45
326
- 2
327
- 3
328
- 7
329
- 4
330
- 13
331
- 70
332
- 9
333
- 24
334
- 15
335
- 44
336
- 43
337
- 5
338
- 7
339
- 6
340
- 78
341
- 49
342
- 7
343
- 2
344
- 6
345
- 4
346
- 49
347
- 8
348
- 1
349
- 49
350
- 8
351
- 1
352
- 11
353
- I
354
- 6
355
- I
356
- 0
357
- I
358
- 0
359
- I
360
- 0
361
- I
362
- -2
363
- p
364
- 9
365
- x
366
- 8
367
- Optional
368
- n
369
- x
370
- 5
371
- Match
372
- n
373
- n
374
- x
375
- 6
376
- Regexp
377
- s
378
- 2
379
- w+
380
- x
381
- 3
382
- new
383
- x
384
- 2
385
- []
386
- p
387
- 3
388
- I
389
- 0
390
- I
391
- a
392
- I
393
- 1f
394
- x
395
- 111
396
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
397
- p
398
- 0
399
- x
400
- 3
401
- let
402
- s
403
- 10
404
- #gen_basic
405
- M
406
- 1
407
- p
408
- 2
409
- x
410
- 9
411
- for_block
412
- t
413
- n
414
- x
415
- 9
416
- __block__
417
- i
418
- 22
419
- 5
420
- 7
421
- 0
422
- 64
423
- 56
424
- 1
425
- 47
426
- 50
427
- 2
428
- 1
429
- 15
430
- 5
431
- 7
432
- 3
433
- 64
434
- 56
435
- 4
436
- 47
437
- 50
438
- 2
439
- 1
440
- 11
441
- I
442
- 4
443
- I
444
- 0
445
- I
446
- 0
447
- I
448
- 0
449
- I
450
- -2
451
- p
452
- 5
453
- s
454
- 11
455
- when nested
456
- M
457
- 1
458
- p
459
- 2
460
- x
461
- 9
462
- for_block
463
- t
464
- n
465
- x
466
- 9
467
- __block__
468
- i
469
- 11
470
- 5
471
- 7
472
- 0
473
- 64
474
- 56
475
- 1
476
- 47
477
- 50
478
- 2
479
- 1
480
- 11
481
- I
482
- 4
483
- I
484
- 0
485
- I
486
- 0
487
- I
488
- 0
489
- I
490
- -2
491
- p
492
- 3
493
- s
494
- 39
495
- generates nested optional matching code
496
- M
497
- 1
498
- p
499
- 2
500
- x
501
- 9
502
- for_block
503
- t
504
- n
505
- x
506
- 9
507
- __block__
508
- i
509
- 16
510
- 5
511
- 56
512
- 0
513
- 47
514
- 50
515
- 1
516
- 0
517
- 49
518
- 2
519
- 0
520
- 7
521
- 3
522
- 64
523
- 83
524
- 4
525
- 11
526
- I
527
- 3
528
- I
529
- 0
530
- I
531
- 0
532
- I
533
- 0
534
- I
535
- -2
536
- p
537
- 5
538
- M
539
- 1
540
- p
541
- 2
542
- x
543
- 9
544
- for_block
545
- t
546
- n
547
- x
548
- 9
549
- __block__
550
- i
551
- 13
552
- 57
553
- 19
554
- 0
555
- 15
556
- 20
557
- 0
558
- 5
559
- 48
560
- 0
561
- 49
562
- 1
563
- 1
564
- 11
565
- I
566
- 4
567
- I
568
- 1
569
- I
570
- 1
571
- I
572
- 1
573
- n
574
- p
575
- 2
576
- x
577
- 8
578
- optional
579
- x
580
- 9
581
- gen_basic
582
- p
583
- 3
584
- I
585
- 0
586
- I
587
- 10
588
- I
589
- d
590
- x
591
- 111
592
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
593
- p
594
- 1
595
- x
596
- 1
597
- g
598
- x
599
- 11
600
- nested_code
601
- x
602
- 6
603
- should
604
- s
605
- 38
606
- ((r = @scanner.scan(/w+/)) ? [r] : [])
607
- x
608
- 2
609
- ==
610
- p
611
- 5
612
- I
613
- 0
614
- I
615
- 10
616
- I
617
- a
618
- I
619
- 11
620
- I
621
- 10
622
- x
623
- 111
624
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
625
- p
626
- 0
627
- x
628
- 2
629
- it
630
- p
631
- 3
632
- I
633
- 0
634
- I
635
- f
636
- I
637
- b
638
- x
639
- 111
640
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
641
- p
642
- 0
643
- x
644
- 7
645
- context
646
- s
647
- 14
648
- when top-level
649
- M
650
- 1
651
- p
652
- 2
653
- x
654
- 9
655
- for_block
656
- t
657
- n
658
- x
659
- 9
660
- __block__
661
- i
662
- 11
663
- 5
664
- 7
665
- 0
666
- 64
667
- 56
668
- 1
669
- 47
670
- 50
671
- 2
672
- 1
673
- 11
674
- I
675
- 4
676
- I
677
- 0
678
- I
679
- 0
680
- I
681
- 0
682
- I
683
- -2
684
- p
685
- 3
686
- s
687
- 42
688
- generates top level optional matching code
689
- M
690
- 1
691
- p
692
- 2
693
- x
694
- 9
695
- for_block
696
- t
697
- n
698
- x
699
- 9
700
- __block__
701
- i
702
- 16
703
- 5
704
- 56
705
- 0
706
- 47
707
- 50
708
- 1
709
- 0
710
- 49
711
- 2
712
- 0
713
- 7
714
- 3
715
- 64
716
- 83
717
- 4
718
- 11
719
- I
720
- 3
721
- I
722
- 0
723
- I
724
- 0
725
- I
726
- 0
727
- I
728
- -2
729
- p
730
- 5
731
- M
732
- 1
733
- p
734
- 2
735
- x
736
- 9
737
- for_block
738
- t
739
- n
740
- x
741
- 9
742
- __block__
743
- i
744
- 13
745
- 57
746
- 19
747
- 0
748
- 15
749
- 20
750
- 0
751
- 5
752
- 48
753
- 0
754
- 49
755
- 1
756
- 1
757
- 11
758
- I
759
- 4
760
- I
761
- 1
762
- I
763
- 1
764
- I
765
- 1
766
- n
767
- p
768
- 2
769
- x
770
- 8
771
- optional
772
- x
773
- 9
774
- gen_basic
775
- p
776
- 3
777
- I
778
- 0
779
- I
780
- 17
781
- I
782
- d
783
- x
784
- 111
785
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
786
- p
787
- 1
788
- x
789
- 1
790
- g
791
- x
792
- 14
793
- top_level_code
794
- x
795
- 6
796
- should
797
- s
798
- 36
799
- (r = @scanner.scan(/w+/)) ? [r] : []
800
- x
801
- 2
802
- ==
803
- p
804
- 5
805
- I
806
- 0
807
- I
808
- 17
809
- I
810
- a
811
- I
812
- 18
813
- I
814
- 10
815
- x
816
- 111
817
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
818
- p
819
- 0
820
- x
821
- 2
822
- it
823
- p
824
- 3
825
- I
826
- 0
827
- I
828
- 16
829
- I
830
- b
831
- x
832
- 111
833
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
834
- p
835
- 0
836
- p
837
- 5
838
- I
839
- 0
840
- I
841
- e
842
- I
843
- b
844
- I
845
- 15
846
- I
847
- 16
848
- x
849
- 111
850
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
851
- p
852
- 0
853
- x
854
- 8
855
- describe
856
- s
857
- 11
858
- #gen_assert
859
- M
860
- 1
861
- p
862
- 2
863
- x
864
- 9
865
- for_block
866
- t
867
- n
868
- x
869
- 9
870
- __block__
871
- i
872
- 22
873
- 5
874
- 7
875
- 0
876
- 64
877
- 56
878
- 1
879
- 47
880
- 50
881
- 2
882
- 1
883
- 15
884
- 5
885
- 7
886
- 3
887
- 64
888
- 56
889
- 4
890
- 47
891
- 50
892
- 2
893
- 1
894
- 11
895
- I
896
- 4
897
- I
898
- 0
899
- I
900
- 0
901
- I
902
- 0
903
- I
904
- -2
905
- p
906
- 5
907
- s
908
- 11
909
- when nested
910
- M
911
- 1
912
- p
913
- 2
914
- x
915
- 9
916
- for_block
917
- t
918
- n
919
- x
920
- 9
921
- __block__
922
- i
923
- 11
924
- 5
925
- 7
926
- 0
927
- 64
928
- 56
929
- 1
930
- 47
931
- 50
932
- 2
933
- 1
934
- 11
935
- I
936
- 4
937
- I
938
- 0
939
- I
940
- 0
941
- I
942
- 0
943
- I
944
- -2
945
- p
946
- 3
947
- s
948
- 16
949
- generates "true"
950
- M
951
- 1
952
- p
953
- 2
954
- x
955
- 9
956
- for_block
957
- t
958
- n
959
- x
960
- 9
961
- __block__
962
- i
963
- 16
964
- 5
965
- 56
966
- 0
967
- 47
968
- 50
969
- 1
970
- 0
971
- 49
972
- 2
973
- 0
974
- 7
975
- 3
976
- 64
977
- 83
978
- 4
979
- 11
980
- I
981
- 3
982
- I
983
- 0
984
- I
985
- 0
986
- I
987
- 0
988
- I
989
- -2
990
- p
991
- 5
992
- M
993
- 1
994
- p
995
- 2
996
- x
997
- 9
998
- for_block
999
- t
1000
- n
1001
- x
1002
- 9
1003
- __block__
1004
- i
1005
- 13
1006
- 57
1007
- 19
1008
- 0
1009
- 15
1010
- 20
1011
- 0
1012
- 5
1013
- 48
1014
- 0
1015
- 49
1016
- 1
1017
- 1
1018
- 11
1019
- I
1020
- 4
1021
- I
1022
- 1
1023
- I
1024
- 1
1025
- I
1026
- 1
1027
- n
1028
- p
1029
- 2
1030
- x
1031
- 8
1032
- optional
1033
- x
1034
- 10
1035
- gen_assert
1036
- p
1037
- 3
1038
- I
1039
- 0
1040
- I
1041
- 21
1042
- I
1043
- d
1044
- x
1045
- 111
1046
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1047
- p
1048
- 1
1049
- x
1050
- 1
1051
- g
1052
- x
1053
- 11
1054
- nested_code
1055
- x
1056
- 6
1057
- should
1058
- s
1059
- 4
1060
- true
1061
- x
1062
- 2
1063
- ==
1064
- p
1065
- 3
1066
- I
1067
- 0
1068
- I
1069
- 21
1070
- I
1071
- 10
1072
- x
1073
- 111
1074
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1075
- p
1076
- 0
1077
- x
1078
- 2
1079
- it
1080
- p
1081
- 3
1082
- I
1083
- 0
1084
- I
1085
- 20
1086
- I
1087
- b
1088
- x
1089
- 111
1090
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1091
- p
1092
- 0
1093
- x
1094
- 7
1095
- context
1096
- s
1097
- 14
1098
- when top-level
1099
- M
1100
- 1
1101
- p
1102
- 2
1103
- x
1104
- 9
1105
- for_block
1106
- t
1107
- n
1108
- x
1109
- 9
1110
- __block__
1111
- i
1112
- 11
1113
- 5
1114
- 7
1115
- 0
1116
- 64
1117
- 56
1118
- 1
1119
- 47
1120
- 50
1121
- 2
1122
- 1
1123
- 11
1124
- I
1125
- 4
1126
- I
1127
- 0
1128
- I
1129
- 0
1130
- I
1131
- 0
1132
- I
1133
- -2
1134
- p
1135
- 3
1136
- s
1137
- 16
1138
- generates "true"
1139
- M
1140
- 1
1141
- p
1142
- 2
1143
- x
1144
- 9
1145
- for_block
1146
- t
1147
- n
1148
- x
1149
- 9
1150
- __block__
1151
- i
1152
- 16
1153
- 5
1154
- 56
1155
- 0
1156
- 47
1157
- 50
1158
- 1
1159
- 0
1160
- 49
1161
- 2
1162
- 0
1163
- 7
1164
- 3
1165
- 64
1166
- 83
1167
- 4
1168
- 11
1169
- I
1170
- 3
1171
- I
1172
- 0
1173
- I
1174
- 0
1175
- I
1176
- 0
1177
- I
1178
- -2
1179
- p
1180
- 5
1181
- M
1182
- 1
1183
- p
1184
- 2
1185
- x
1186
- 9
1187
- for_block
1188
- t
1189
- n
1190
- x
1191
- 9
1192
- __block__
1193
- i
1194
- 13
1195
- 57
1196
- 19
1197
- 0
1198
- 15
1199
- 20
1200
- 0
1201
- 5
1202
- 48
1203
- 0
1204
- 49
1205
- 1
1206
- 1
1207
- 11
1208
- I
1209
- 4
1210
- I
1211
- 1
1212
- I
1213
- 1
1214
- I
1215
- 1
1216
- n
1217
- p
1218
- 2
1219
- x
1220
- 8
1221
- optional
1222
- x
1223
- 10
1224
- gen_assert
1225
- p
1226
- 3
1227
- I
1228
- 0
1229
- I
1230
- 27
1231
- I
1232
- d
1233
- x
1234
- 111
1235
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1236
- p
1237
- 1
1238
- x
1239
- 1
1240
- g
1241
- x
1242
- 14
1243
- top_level_code
1244
- x
1245
- 6
1246
- should
1247
- s
1248
- 4
1249
- true
1250
- x
1251
- 2
1252
- ==
1253
- p
1254
- 3
1255
- I
1256
- 0
1257
- I
1258
- 27
1259
- I
1260
- 10
1261
- x
1262
- 111
1263
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1264
- p
1265
- 0
1266
- x
1267
- 2
1268
- it
1269
- p
1270
- 3
1271
- I
1272
- 0
1273
- I
1274
- 26
1275
- I
1276
- b
1277
- x
1278
- 111
1279
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1280
- p
1281
- 0
1282
- p
1283
- 5
1284
- I
1285
- 0
1286
- I
1287
- 1f
1288
- I
1289
- b
1290
- I
1291
- 25
1292
- I
1293
- 16
1294
- x
1295
- 111
1296
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1297
- p
1298
- 0
1299
- s
1300
- 13
1301
- #gen_disallow
1302
- M
1303
- 1
1304
- p
1305
- 2
1306
- x
1307
- 9
1308
- for_block
1309
- t
1310
- n
1311
- x
1312
- 9
1313
- __block__
1314
- i
1315
- 22
1316
- 5
1317
- 7
1318
- 0
1319
- 64
1320
- 56
1321
- 1
1322
- 47
1323
- 50
1324
- 2
1325
- 1
1326
- 15
1327
- 5
1328
- 7
1329
- 3
1330
- 64
1331
- 56
1332
- 4
1333
- 47
1334
- 50
1335
- 2
1336
- 1
1337
- 11
1338
- I
1339
- 4
1340
- I
1341
- 0
1342
- I
1343
- 0
1344
- I
1345
- 0
1346
- I
1347
- -2
1348
- p
1349
- 5
1350
- s
1351
- 11
1352
- when nested
1353
- M
1354
- 1
1355
- p
1356
- 2
1357
- x
1358
- 9
1359
- for_block
1360
- t
1361
- n
1362
- x
1363
- 9
1364
- __block__
1365
- i
1366
- 11
1367
- 5
1368
- 7
1369
- 0
1370
- 64
1371
- 56
1372
- 1
1373
- 47
1374
- 50
1375
- 2
1376
- 1
1377
- 11
1378
- I
1379
- 4
1380
- I
1381
- 0
1382
- I
1383
- 0
1384
- I
1385
- 0
1386
- I
1387
- -2
1388
- p
1389
- 3
1390
- s
1391
- 17
1392
- generates "false"
1393
- M
1394
- 1
1395
- p
1396
- 2
1397
- x
1398
- 9
1399
- for_block
1400
- t
1401
- n
1402
- x
1403
- 9
1404
- __block__
1405
- i
1406
- 16
1407
- 5
1408
- 56
1409
- 0
1410
- 47
1411
- 50
1412
- 1
1413
- 0
1414
- 49
1415
- 2
1416
- 0
1417
- 7
1418
- 3
1419
- 64
1420
- 83
1421
- 4
1422
- 11
1423
- I
1424
- 3
1425
- I
1426
- 0
1427
- I
1428
- 0
1429
- I
1430
- 0
1431
- I
1432
- -2
1433
- p
1434
- 5
1435
- M
1436
- 1
1437
- p
1438
- 2
1439
- x
1440
- 9
1441
- for_block
1442
- t
1443
- n
1444
- x
1445
- 9
1446
- __block__
1447
- i
1448
- 13
1449
- 57
1450
- 19
1451
- 0
1452
- 15
1453
- 20
1454
- 0
1455
- 5
1456
- 48
1457
- 0
1458
- 49
1459
- 1
1460
- 1
1461
- 11
1462
- I
1463
- 4
1464
- I
1465
- 1
1466
- I
1467
- 1
1468
- I
1469
- 1
1470
- n
1471
- p
1472
- 2
1473
- x
1474
- 8
1475
- optional
1476
- x
1477
- 12
1478
- gen_disallow
1479
- p
1480
- 3
1481
- I
1482
- 0
1483
- I
1484
- 30
1485
- I
1486
- d
1487
- x
1488
- 111
1489
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1490
- p
1491
- 1
1492
- x
1493
- 1
1494
- g
1495
- x
1496
- 11
1497
- nested_code
1498
- x
1499
- 6
1500
- should
1501
- s
1502
- 5
1503
- false
1504
- x
1505
- 2
1506
- ==
1507
- p
1508
- 3
1509
- I
1510
- 0
1511
- I
1512
- 30
1513
- I
1514
- 10
1515
- x
1516
- 111
1517
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1518
- p
1519
- 0
1520
- x
1521
- 2
1522
- it
1523
- p
1524
- 3
1525
- I
1526
- 0
1527
- I
1528
- 2f
1529
- I
1530
- b
1531
- x
1532
- 111
1533
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1534
- p
1535
- 0
1536
- x
1537
- 7
1538
- context
1539
- s
1540
- 14
1541
- when top-level
1542
- M
1543
- 1
1544
- p
1545
- 2
1546
- x
1547
- 9
1548
- for_block
1549
- t
1550
- n
1551
- x
1552
- 9
1553
- __block__
1554
- i
1555
- 11
1556
- 5
1557
- 7
1558
- 0
1559
- 64
1560
- 56
1561
- 1
1562
- 47
1563
- 50
1564
- 2
1565
- 1
1566
- 11
1567
- I
1568
- 4
1569
- I
1570
- 0
1571
- I
1572
- 0
1573
- I
1574
- 0
1575
- I
1576
- -2
1577
- p
1578
- 3
1579
- s
1580
- 17
1581
- generates "false"
1582
- M
1583
- 1
1584
- p
1585
- 2
1586
- x
1587
- 9
1588
- for_block
1589
- t
1590
- n
1591
- x
1592
- 9
1593
- __block__
1594
- i
1595
- 16
1596
- 5
1597
- 56
1598
- 0
1599
- 47
1600
- 50
1601
- 1
1602
- 0
1603
- 49
1604
- 2
1605
- 0
1606
- 7
1607
- 3
1608
- 64
1609
- 83
1610
- 4
1611
- 11
1612
- I
1613
- 3
1614
- I
1615
- 0
1616
- I
1617
- 0
1618
- I
1619
- 0
1620
- I
1621
- -2
1622
- p
1623
- 5
1624
- M
1625
- 1
1626
- p
1627
- 2
1628
- x
1629
- 9
1630
- for_block
1631
- t
1632
- n
1633
- x
1634
- 9
1635
- __block__
1636
- i
1637
- 13
1638
- 57
1639
- 19
1640
- 0
1641
- 15
1642
- 20
1643
- 0
1644
- 5
1645
- 48
1646
- 0
1647
- 49
1648
- 1
1649
- 1
1650
- 11
1651
- I
1652
- 4
1653
- I
1654
- 1
1655
- I
1656
- 1
1657
- I
1658
- 1
1659
- n
1660
- p
1661
- 2
1662
- x
1663
- 8
1664
- optional
1665
- x
1666
- 12
1667
- gen_disallow
1668
- p
1669
- 3
1670
- I
1671
- 0
1672
- I
1673
- 36
1674
- I
1675
- d
1676
- x
1677
- 111
1678
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1679
- p
1680
- 1
1681
- x
1682
- 1
1683
- g
1684
- x
1685
- 14
1686
- top_level_code
1687
- x
1688
- 6
1689
- should
1690
- s
1691
- 5
1692
- false
1693
- x
1694
- 2
1695
- ==
1696
- p
1697
- 3
1698
- I
1699
- 0
1700
- I
1701
- 36
1702
- I
1703
- 10
1704
- x
1705
- 111
1706
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1707
- p
1708
- 0
1709
- x
1710
- 2
1711
- it
1712
- p
1713
- 3
1714
- I
1715
- 0
1716
- I
1717
- 35
1718
- I
1719
- b
1720
- x
1721
- 111
1722
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1723
- p
1724
- 0
1725
- p
1726
- 5
1727
- I
1728
- 0
1729
- I
1730
- 2e
1731
- I
1732
- b
1733
- I
1734
- 34
1735
- I
1736
- 16
1737
- x
1738
- 111
1739
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1740
- p
1741
- 0
1742
- s
1743
- 20
1744
- #gen_dispatch_action
1745
- M
1746
- 1
1747
- p
1748
- 2
1749
- x
1750
- 9
1751
- for_block
1752
- t
1753
- n
1754
- x
1755
- 9
1756
- __block__
1757
- i
1758
- 32
1759
- 5
1760
- 7
1761
- 0
1762
- 56
1763
- 1
1764
- 47
1765
- 50
1766
- 2
1767
- 1
1768
- 15
1769
- 5
1770
- 7
1771
- 3
1772
- 64
1773
- 56
1774
- 4
1775
- 47
1776
- 50
1777
- 5
1778
- 1
1779
- 15
1780
- 5
1781
- 7
1782
- 6
1783
- 64
1784
- 56
1785
- 7
1786
- 47
1787
- 50
1788
- 5
1789
- 1
1790
- 11
1791
- I
1792
- 4
1793
- I
1794
- 0
1795
- I
1796
- 0
1797
- I
1798
- 0
1799
- I
1800
- -2
1801
- p
1802
- 8
1803
- x
1804
- 4
1805
- code
1806
- M
1807
- 1
1808
- p
1809
- 2
1810
- x
1811
- 9
1812
- for_block
1813
- t
1814
- n
1815
- x
1816
- 9
1817
- __block__
1818
- i
1819
- 37
1820
- 45
1821
- 0
1822
- 1
1823
- 13
1824
- 71
1825
- 2
1826
- 47
1827
- 9
1828
- 27
1829
- 47
1830
- 49
1831
- 3
1832
- 0
1833
- 13
1834
- 7
1835
- 4
1836
- 64
1837
- 7
1838
- 5
1839
- 64
1840
- 47
1841
- 49
1842
- 6
1843
- 2
1844
- 15
1845
- 8
1846
- 36
1847
- 7
1848
- 4
1849
- 64
1850
- 7
1851
- 5
1852
- 64
1853
- 49
1854
- 2
1855
- 2
1856
- 11
1857
- I
1858
- 5
1859
- I
1860
- 0
1861
- I
1862
- 0
1863
- I
1864
- 0
1865
- I
1866
- -2
1867
- p
1868
- 7
1869
- x
1870
- 8
1871
- NodeCode
1872
- n
1873
- x
1874
- 3
1875
- new
1876
- x
1877
- 8
1878
- allocate
1879
- s
1880
- 4
1881
- Word
1882
- s
1883
- 6
1884
- parsed
1885
- x
1886
- 10
1887
- initialize
1888
- p
1889
- 3
1890
- I
1891
- 0
1892
- I
1893
- 3d
1894
- I
1895
- 25
1896
- x
1897
- 111
1898
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
1899
- p
1900
- 0
1901
- x
1902
- 3
1903
- let
1904
- s
1905
- 11
1906
- when nested
1907
- M
1908
- 1
1909
- p
1910
- 2
1911
- x
1912
- 9
1913
- for_block
1914
- t
1915
- n
1916
- x
1917
- 9
1918
- __block__
1919
- i
1920
- 11
1921
- 5
1922
- 7
1923
- 0
1924
- 64
1925
- 56
1926
- 1
1927
- 47
1928
- 50
1929
- 2
1930
- 1
1931
- 11
1932
- I
1933
- 4
1934
- I
1935
- 0
1936
- I
1937
- 0
1938
- I
1939
- 0
1940
- I
1941
- -2
1942
- p
1943
- 3
1944
- s
1945
- 62
1946
- generates nested optional matching code with a dispatch action
1947
- M
1948
- 1
1949
- p
1950
- 2
1951
- x
1952
- 9
1953
- for_block
1954
- t
1955
- n
1956
- x
1957
- 9
1958
- __block__
1959
- i
1960
- 19
1961
- 5
1962
- 56
1963
- 0
1964
- 47
1965
- 50
1966
- 1
1967
- 0
1968
- 49
1969
- 2
1970
- 0
1971
- 7
1972
- 3
1973
- 64
1974
- 49
1975
- 4
1976
- 0
1977
- 83
1978
- 5
1979
- 11
1980
- I
1981
- 3
1982
- I
1983
- 0
1984
- I
1985
- 0
1986
- I
1987
- 0
1988
- I
1989
- -2
1990
- p
1991
- 6
1992
- M
1993
- 1
1994
- p
1995
- 2
1996
- x
1997
- 9
1998
- for_block
1999
- t
2000
- n
2001
- x
2002
- 9
2003
- __block__
2004
- i
2005
- 16
2006
- 57
2007
- 19
2008
- 0
2009
- 15
2010
- 20
2011
- 0
2012
- 5
2013
- 48
2014
- 0
2015
- 5
2016
- 48
2017
- 1
2018
- 49
2019
- 2
2020
- 2
2021
- 11
2022
- I
2023
- 5
2024
- I
2025
- 1
2026
- I
2027
- 1
2028
- I
2029
- 1
2030
- n
2031
- p
2032
- 3
2033
- x
2034
- 8
2035
- optional
2036
- x
2037
- 4
2038
- code
2039
- x
2040
- 19
2041
- gen_dispatch_action
2042
- p
2043
- 3
2044
- I
2045
- 0
2046
- I
2047
- 41
2048
- I
2049
- 10
2050
- x
2051
- 111
2052
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2053
- p
2054
- 1
2055
- x
2056
- 1
2057
- g
2058
- x
2059
- 11
2060
- nested_code
2061
- x
2062
- 6
2063
- should
2064
- s
2065
- 64
2066
- begin
2067
- r = @scanner.scan(/w+/)
2068
- Word.parsed(r ? [r] : [])
2069
- end
2070
-
2071
- x
2072
- 5
2073
- strip
2074
- x
2075
- 2
2076
- ==
2077
- p
2078
- 5
2079
- I
2080
- 0
2081
- I
2082
- 41
2083
- I
2084
- a
2085
- I
2086
- 42
2087
- I
2088
- 13
2089
- x
2090
- 111
2091
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2092
- p
2093
- 0
2094
- x
2095
- 2
2096
- it
2097
- p
2098
- 3
2099
- I
2100
- 0
2101
- I
2102
- 40
2103
- I
2104
- b
2105
- x
2106
- 111
2107
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2108
- p
2109
- 0
2110
- x
2111
- 7
2112
- context
2113
- s
2114
- 14
2115
- when top-level
2116
- M
2117
- 1
2118
- p
2119
- 2
2120
- x
2121
- 9
2122
- for_block
2123
- t
2124
- n
2125
- x
2126
- 9
2127
- __block__
2128
- i
2129
- 11
2130
- 5
2131
- 7
2132
- 0
2133
- 64
2134
- 56
2135
- 1
2136
- 47
2137
- 50
2138
- 2
2139
- 1
2140
- 11
2141
- I
2142
- 4
2143
- I
2144
- 0
2145
- I
2146
- 0
2147
- I
2148
- 0
2149
- I
2150
- -2
2151
- p
2152
- 3
2153
- s
2154
- 65
2155
- generates top level optional matching code with a dispatch action
2156
- M
2157
- 1
2158
- p
2159
- 2
2160
- x
2161
- 9
2162
- for_block
2163
- t
2164
- n
2165
- x
2166
- 9
2167
- __block__
2168
- i
2169
- 19
2170
- 5
2171
- 56
2172
- 0
2173
- 47
2174
- 50
2175
- 1
2176
- 0
2177
- 49
2178
- 2
2179
- 0
2180
- 7
2181
- 3
2182
- 64
2183
- 49
2184
- 4
2185
- 0
2186
- 83
2187
- 5
2188
- 11
2189
- I
2190
- 3
2191
- I
2192
- 0
2193
- I
2194
- 0
2195
- I
2196
- 0
2197
- I
2198
- -2
2199
- p
2200
- 6
2201
- M
2202
- 1
2203
- p
2204
- 2
2205
- x
2206
- 9
2207
- for_block
2208
- t
2209
- n
2210
- x
2211
- 9
2212
- __block__
2213
- i
2214
- 16
2215
- 57
2216
- 19
2217
- 0
2218
- 15
2219
- 20
2220
- 0
2221
- 5
2222
- 48
2223
- 0
2224
- 5
2225
- 48
2226
- 1
2227
- 49
2228
- 2
2229
- 2
2230
- 11
2231
- I
2232
- 5
2233
- I
2234
- 1
2235
- I
2236
- 1
2237
- I
2238
- 1
2239
- n
2240
- p
2241
- 3
2242
- x
2243
- 8
2244
- optional
2245
- x
2246
- 4
2247
- code
2248
- x
2249
- 19
2250
- gen_dispatch_action
2251
- p
2252
- 3
2253
- I
2254
- 0
2255
- I
2256
- 4d
2257
- I
2258
- 10
2259
- x
2260
- 111
2261
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2262
- p
2263
- 1
2264
- x
2265
- 1
2266
- g
2267
- x
2268
- 14
2269
- top_level_code
2270
- x
2271
- 6
2272
- should
2273
- s
2274
- 50
2275
- r = @scanner.scan(/w+/)
2276
- Word.parsed(r ? [r] : [])
2277
-
2278
- x
2279
- 5
2280
- strip
2281
- x
2282
- 2
2283
- ==
2284
- p
2285
- 5
2286
- I
2287
- 0
2288
- I
2289
- 4d
2290
- I
2291
- a
2292
- I
2293
- 4e
2294
- I
2295
- 13
2296
- x
2297
- 111
2298
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2299
- p
2300
- 0
2301
- x
2302
- 2
2303
- it
2304
- p
2305
- 3
2306
- I
2307
- 0
2308
- I
2309
- 4c
2310
- I
2311
- b
2312
- x
2313
- 111
2314
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2315
- p
2316
- 0
2317
- p
2318
- 7
2319
- I
2320
- 0
2321
- I
2322
- 3d
2323
- I
2324
- a
2325
- I
2326
- 3f
2327
- I
2328
- 15
2329
- I
2330
- 4b
2331
- I
2332
- 20
2333
- x
2334
- 111
2335
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2336
- p
2337
- 0
2338
- s
2339
- 18
2340
- #gen_direct_action
2341
- M
2342
- 1
2343
- p
2344
- 2
2345
- x
2346
- 9
2347
- for_block
2348
- t
2349
- n
2350
- x
2351
- 9
2352
- __block__
2353
- i
2354
- 32
2355
- 5
2356
- 7
2357
- 0
2358
- 56
2359
- 1
2360
- 47
2361
- 50
2362
- 2
2363
- 1
2364
- 15
2365
- 5
2366
- 7
2367
- 3
2368
- 64
2369
- 56
2370
- 4
2371
- 47
2372
- 50
2373
- 5
2374
- 1
2375
- 15
2376
- 5
2377
- 7
2378
- 6
2379
- 64
2380
- 56
2381
- 7
2382
- 47
2383
- 50
2384
- 5
2385
- 1
2386
- 11
2387
- I
2388
- 4
2389
- I
2390
- 0
2391
- I
2392
- 0
2393
- I
2394
- 0
2395
- I
2396
- -2
2397
- p
2398
- 8
2399
- x
2400
- 4
2401
- code
2402
- M
2403
- 1
2404
- p
2405
- 2
2406
- x
2407
- 9
2408
- for_block
2409
- t
2410
- n
2411
- x
2412
- 9
2413
- __block__
2414
- i
2415
- 31
2416
- 45
2417
- 0
2418
- 1
2419
- 13
2420
- 71
2421
- 2
2422
- 47
2423
- 9
2424
- 24
2425
- 47
2426
- 49
2427
- 3
2428
- 0
2429
- 13
2430
- 7
2431
- 4
2432
- 64
2433
- 47
2434
- 49
2435
- 5
2436
- 1
2437
- 15
2438
- 8
2439
- 30
2440
- 7
2441
- 4
2442
- 64
2443
- 49
2444
- 2
2445
- 1
2446
- 11
2447
- I
2448
- 4
2449
- I
2450
- 0
2451
- I
2452
- 0
2453
- I
2454
- 0
2455
- I
2456
- -2
2457
- p
2458
- 6
2459
- x
2460
- 10
2461
- ActionCode
2462
- n
2463
- x
2464
- 3
2465
- new
2466
- x
2467
- 8
2468
- allocate
2469
- s
2470
- 10
2471
- |_| _.size
2472
- x
2473
- 10
2474
- initialize
2475
- p
2476
- 3
2477
- I
2478
- 0
2479
- I
2480
- 58
2481
- I
2482
- 1f
2483
- x
2484
- 111
2485
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2486
- p
2487
- 0
2488
- x
2489
- 3
2490
- let
2491
- s
2492
- 11
2493
- when nested
2494
- M
2495
- 1
2496
- p
2497
- 2
2498
- x
2499
- 9
2500
- for_block
2501
- t
2502
- n
2503
- x
2504
- 9
2505
- __block__
2506
- i
2507
- 11
2508
- 5
2509
- 7
2510
- 0
2511
- 64
2512
- 56
2513
- 1
2514
- 47
2515
- 50
2516
- 2
2517
- 1
2518
- 11
2519
- I
2520
- 4
2521
- I
2522
- 0
2523
- I
2524
- 0
2525
- I
2526
- 0
2527
- I
2528
- -2
2529
- p
2530
- 3
2531
- s
2532
- 60
2533
- generates nested optional matching code with a direct action
2534
- M
2535
- 1
2536
- p
2537
- 2
2538
- x
2539
- 9
2540
- for_block
2541
- t
2542
- n
2543
- x
2544
- 9
2545
- __block__
2546
- i
2547
- 19
2548
- 5
2549
- 56
2550
- 0
2551
- 47
2552
- 50
2553
- 1
2554
- 0
2555
- 49
2556
- 2
2557
- 0
2558
- 7
2559
- 3
2560
- 64
2561
- 49
2562
- 4
2563
- 0
2564
- 83
2565
- 5
2566
- 11
2567
- I
2568
- 3
2569
- I
2570
- 0
2571
- I
2572
- 0
2573
- I
2574
- 0
2575
- I
2576
- -2
2577
- p
2578
- 6
2579
- M
2580
- 1
2581
- p
2582
- 2
2583
- x
2584
- 9
2585
- for_block
2586
- t
2587
- n
2588
- x
2589
- 9
2590
- __block__
2591
- i
2592
- 16
2593
- 57
2594
- 19
2595
- 0
2596
- 15
2597
- 20
2598
- 0
2599
- 5
2600
- 48
2601
- 0
2602
- 5
2603
- 48
2604
- 1
2605
- 49
2606
- 2
2607
- 2
2608
- 11
2609
- I
2610
- 5
2611
- I
2612
- 1
2613
- I
2614
- 1
2615
- I
2616
- 1
2617
- n
2618
- p
2619
- 3
2620
- x
2621
- 8
2622
- optional
2623
- x
2624
- 4
2625
- code
2626
- x
2627
- 17
2628
- gen_direct_action
2629
- p
2630
- 3
2631
- I
2632
- 0
2633
- I
2634
- 5c
2635
- I
2636
- 10
2637
- x
2638
- 111
2639
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2640
- p
2641
- 1
2642
- x
2643
- 1
2644
- g
2645
- x
2646
- 11
2647
- nested_code
2648
- x
2649
- 6
2650
- should
2651
- s
2652
- 60
2653
- begin
2654
- r = @scanner.scan(/w+/)
2655
- ((r ? [r] : []).size)
2656
- end
2657
-
2658
- x
2659
- 5
2660
- strip
2661
- x
2662
- 2
2663
- ==
2664
- p
2665
- 5
2666
- I
2667
- 0
2668
- I
2669
- 5c
2670
- I
2671
- a
2672
- I
2673
- 5d
2674
- I
2675
- 13
2676
- x
2677
- 111
2678
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2679
- p
2680
- 0
2681
- x
2682
- 2
2683
- it
2684
- p
2685
- 3
2686
- I
2687
- 0
2688
- I
2689
- 5b
2690
- I
2691
- b
2692
- x
2693
- 111
2694
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2695
- p
2696
- 0
2697
- x
2698
- 7
2699
- context
2700
- s
2701
- 14
2702
- when top-level
2703
- M
2704
- 1
2705
- p
2706
- 2
2707
- x
2708
- 9
2709
- for_block
2710
- t
2711
- n
2712
- x
2713
- 9
2714
- __block__
2715
- i
2716
- 11
2717
- 5
2718
- 7
2719
- 0
2720
- 64
2721
- 56
2722
- 1
2723
- 47
2724
- 50
2725
- 2
2726
- 1
2727
- 11
2728
- I
2729
- 4
2730
- I
2731
- 0
2732
- I
2733
- 0
2734
- I
2735
- 0
2736
- I
2737
- -2
2738
- p
2739
- 3
2740
- s
2741
- 63
2742
- generates top level optional matching code with a direct action
2743
- M
2744
- 1
2745
- p
2746
- 2
2747
- x
2748
- 9
2749
- for_block
2750
- t
2751
- n
2752
- x
2753
- 9
2754
- __block__
2755
- i
2756
- 19
2757
- 5
2758
- 56
2759
- 0
2760
- 47
2761
- 50
2762
- 1
2763
- 0
2764
- 49
2765
- 2
2766
- 0
2767
- 7
2768
- 3
2769
- 64
2770
- 49
2771
- 4
2772
- 0
2773
- 83
2774
- 5
2775
- 11
2776
- I
2777
- 3
2778
- I
2779
- 0
2780
- I
2781
- 0
2782
- I
2783
- 0
2784
- I
2785
- -2
2786
- p
2787
- 6
2788
- M
2789
- 1
2790
- p
2791
- 2
2792
- x
2793
- 9
2794
- for_block
2795
- t
2796
- n
2797
- x
2798
- 9
2799
- __block__
2800
- i
2801
- 16
2802
- 57
2803
- 19
2804
- 0
2805
- 15
2806
- 20
2807
- 0
2808
- 5
2809
- 48
2810
- 0
2811
- 5
2812
- 48
2813
- 1
2814
- 49
2815
- 2
2816
- 2
2817
- 11
2818
- I
2819
- 5
2820
- I
2821
- 1
2822
- I
2823
- 1
2824
- I
2825
- 1
2826
- n
2827
- p
2828
- 3
2829
- x
2830
- 8
2831
- optional
2832
- x
2833
- 4
2834
- code
2835
- x
2836
- 17
2837
- gen_direct_action
2838
- p
2839
- 3
2840
- I
2841
- 0
2842
- I
2843
- 68
2844
- I
2845
- 10
2846
- x
2847
- 111
2848
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2849
- p
2850
- 1
2851
- x
2852
- 1
2853
- g
2854
- x
2855
- 14
2856
- top_level_code
2857
- x
2858
- 6
2859
- should
2860
- s
2861
- 46
2862
- r = @scanner.scan(/w+/)
2863
- ((r ? [r] : []).size)
2864
-
2865
- x
2866
- 5
2867
- strip
2868
- x
2869
- 2
2870
- ==
2871
- p
2872
- 5
2873
- I
2874
- 0
2875
- I
2876
- 68
2877
- I
2878
- a
2879
- I
2880
- 69
2881
- I
2882
- 13
2883
- x
2884
- 111
2885
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2886
- p
2887
- 0
2888
- x
2889
- 2
2890
- it
2891
- p
2892
- 3
2893
- I
2894
- 0
2895
- I
2896
- 67
2897
- I
2898
- b
2899
- x
2900
- 111
2901
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2902
- p
2903
- 0
2904
- p
2905
- 7
2906
- I
2907
- 0
2908
- I
2909
- 58
2910
- I
2911
- a
2912
- I
2913
- 5a
2914
- I
2915
- 15
2916
- I
2917
- 66
2918
- I
2919
- 20
2920
- x
2921
- 111
2922
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
2923
- p
2924
- 0
2925
- s
2926
- 10
2927
- #gen_token
2928
- M
2929
- 1
2930
- p
2931
- 2
2932
- x
2933
- 9
2934
- for_block
2935
- t
2936
- n
2937
- x
2938
- 9
2939
- __block__
2940
- i
2941
- 22
2942
- 5
2943
- 7
2944
- 0
2945
- 64
2946
- 56
2947
- 1
2948
- 47
2949
- 50
2950
- 2
2951
- 1
2952
- 15
2953
- 5
2954
- 7
2955
- 3
2956
- 64
2957
- 56
2958
- 4
2959
- 47
2960
- 50
2961
- 2
2962
- 1
2963
- 11
2964
- I
2965
- 4
2966
- I
2967
- 0
2968
- I
2969
- 0
2970
- I
2971
- 0
2972
- I
2973
- -2
2974
- p
2975
- 5
2976
- s
2977
- 11
2978
- when nested
2979
- M
2980
- 1
2981
- p
2982
- 2
2983
- x
2984
- 9
2985
- for_block
2986
- t
2987
- n
2988
- x
2989
- 9
2990
- __block__
2991
- i
2992
- 11
2993
- 5
2994
- 7
2995
- 0
2996
- 64
2997
- 56
2998
- 1
2999
- 47
3000
- 50
3001
- 2
3002
- 1
3003
- 11
3004
- I
3005
- 4
3006
- I
3007
- 0
3008
- I
3009
- 0
3010
- I
3011
- 0
3012
- I
3013
- -2
3014
- p
3015
- 3
3016
- s
3017
- 39
3018
- generates nested optional matching code
3019
- M
3020
- 1
3021
- p
3022
- 2
3023
- x
3024
- 9
3025
- for_block
3026
- t
3027
- n
3028
- x
3029
- 9
3030
- __block__
3031
- i
3032
- 19
3033
- 5
3034
- 56
3035
- 0
3036
- 47
3037
- 50
3038
- 1
3039
- 0
3040
- 49
3041
- 2
3042
- 0
3043
- 7
3044
- 3
3045
- 64
3046
- 49
3047
- 4
3048
- 0
3049
- 83
3050
- 5
3051
- 11
3052
- I
3053
- 3
3054
- I
3055
- 0
3056
- I
3057
- 0
3058
- I
3059
- 0
3060
- I
3061
- -2
3062
- p
3063
- 6
3064
- M
3065
- 1
3066
- p
3067
- 2
3068
- x
3069
- 9
3070
- for_block
3071
- t
3072
- n
3073
- x
3074
- 9
3075
- __block__
3076
- i
3077
- 13
3078
- 57
3079
- 19
3080
- 0
3081
- 15
3082
- 20
3083
- 0
3084
- 5
3085
- 48
3086
- 0
3087
- 49
3088
- 1
3089
- 1
3090
- 11
3091
- I
3092
- 4
3093
- I
3094
- 1
3095
- I
3096
- 1
3097
- I
3098
- 1
3099
- n
3100
- p
3101
- 2
3102
- x
3103
- 8
3104
- optional
3105
- x
3106
- 9
3107
- gen_token
3108
- p
3109
- 3
3110
- I
3111
- 0
3112
- I
3113
- 75
3114
- I
3115
- d
3116
- x
3117
- 111
3118
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3119
- p
3120
- 1
3121
- x
3122
- 1
3123
- g
3124
- x
3125
- 11
3126
- nested_code
3127
- x
3128
- 6
3129
- should
3130
- s
3131
- 38
3132
- begin
3133
- @scanner.scan(/w+/) || ''
3134
- end
3135
-
3136
- x
3137
- 5
3138
- strip
3139
- x
3140
- 2
3141
- ==
3142
- p
3143
- 5
3144
- I
3145
- 0
3146
- I
3147
- 75
3148
- I
3149
- a
3150
- I
3151
- 76
3152
- I
3153
- 13
3154
- x
3155
- 111
3156
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3157
- p
3158
- 0
3159
- x
3160
- 2
3161
- it
3162
- p
3163
- 3
3164
- I
3165
- 0
3166
- I
3167
- 74
3168
- I
3169
- b
3170
- x
3171
- 111
3172
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3173
- p
3174
- 0
3175
- x
3176
- 7
3177
- context
3178
- s
3179
- 14
3180
- when top-level
3181
- M
3182
- 1
3183
- p
3184
- 2
3185
- x
3186
- 9
3187
- for_block
3188
- t
3189
- n
3190
- x
3191
- 9
3192
- __block__
3193
- i
3194
- 11
3195
- 5
3196
- 7
3197
- 0
3198
- 64
3199
- 56
3200
- 1
3201
- 47
3202
- 50
3203
- 2
3204
- 1
3205
- 11
3206
- I
3207
- 4
3208
- I
3209
- 0
3210
- I
3211
- 0
3212
- I
3213
- 0
3214
- I
3215
- -2
3216
- p
3217
- 3
3218
- s
3219
- 42
3220
- generates top level optional matching code
3221
- M
3222
- 1
3223
- p
3224
- 2
3225
- x
3226
- 9
3227
- for_block
3228
- t
3229
- n
3230
- x
3231
- 9
3232
- __block__
3233
- i
3234
- 16
3235
- 5
3236
- 56
3237
- 0
3238
- 47
3239
- 50
3240
- 1
3241
- 0
3242
- 49
3243
- 2
3244
- 0
3245
- 7
3246
- 3
3247
- 64
3248
- 83
3249
- 4
3250
- 11
3251
- I
3252
- 3
3253
- I
3254
- 0
3255
- I
3256
- 0
3257
- I
3258
- 0
3259
- I
3260
- -2
3261
- p
3262
- 5
3263
- M
3264
- 1
3265
- p
3266
- 2
3267
- x
3268
- 9
3269
- for_block
3270
- t
3271
- n
3272
- x
3273
- 9
3274
- __block__
3275
- i
3276
- 13
3277
- 57
3278
- 19
3279
- 0
3280
- 15
3281
- 20
3282
- 0
3283
- 5
3284
- 48
3285
- 0
3286
- 49
3287
- 1
3288
- 1
3289
- 11
3290
- I
3291
- 4
3292
- I
3293
- 1
3294
- I
3295
- 1
3296
- I
3297
- 1
3298
- n
3299
- p
3300
- 2
3301
- x
3302
- 8
3303
- optional
3304
- x
3305
- 9
3306
- gen_token
3307
- p
3308
- 3
3309
- I
3310
- 0
3311
- I
3312
- 80
3313
- I
3314
- d
3315
- x
3316
- 111
3317
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3318
- p
3319
- 1
3320
- x
3321
- 1
3322
- g
3323
- x
3324
- 14
3325
- top_level_code
3326
- x
3327
- 6
3328
- should
3329
- s
3330
- 25
3331
- @scanner.scan(/w+/) || ''
3332
- x
3333
- 2
3334
- ==
3335
- p
3336
- 5
3337
- I
3338
- 0
3339
- I
3340
- 80
3341
- I
3342
- a
3343
- I
3344
- 81
3345
- I
3346
- 10
3347
- x
3348
- 111
3349
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3350
- p
3351
- 0
3352
- x
3353
- 2
3354
- it
3355
- p
3356
- 3
3357
- I
3358
- 0
3359
- I
3360
- 7f
3361
- I
3362
- b
3363
- x
3364
- 111
3365
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3366
- p
3367
- 0
3368
- p
3369
- 5
3370
- I
3371
- 0
3372
- I
3373
- 73
3374
- I
3375
- b
3376
- I
3377
- 7e
3378
- I
3379
- 16
3380
- x
3381
- 111
3382
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3383
- p
3384
- 0
3385
- s
3386
- 9
3387
- #gen_skip
3388
- M
3389
- 1
3390
- p
3391
- 2
3392
- x
3393
- 9
3394
- for_block
3395
- t
3396
- n
3397
- x
3398
- 9
3399
- __block__
3400
- i
3401
- 22
3402
- 5
3403
- 7
3404
- 0
3405
- 64
3406
- 56
3407
- 1
3408
- 47
3409
- 50
3410
- 2
3411
- 1
3412
- 15
3413
- 5
3414
- 7
3415
- 3
3416
- 64
3417
- 56
3418
- 4
3419
- 47
3420
- 50
3421
- 2
3422
- 1
3423
- 11
3424
- I
3425
- 4
3426
- I
3427
- 0
3428
- I
3429
- 0
3430
- I
3431
- 0
3432
- I
3433
- -2
3434
- p
3435
- 5
3436
- s
3437
- 11
3438
- when nested
3439
- M
3440
- 1
3441
- p
3442
- 2
3443
- x
3444
- 9
3445
- for_block
3446
- t
3447
- n
3448
- x
3449
- 9
3450
- __block__
3451
- i
3452
- 11
3453
- 5
3454
- 7
3455
- 0
3456
- 64
3457
- 56
3458
- 1
3459
- 47
3460
- 50
3461
- 2
3462
- 1
3463
- 11
3464
- I
3465
- 4
3466
- I
3467
- 0
3468
- I
3469
- 0
3470
- I
3471
- 0
3472
- I
3473
- -2
3474
- p
3475
- 3
3476
- s
3477
- 39
3478
- generates nested optional skipping code
3479
- M
3480
- 1
3481
- p
3482
- 2
3483
- x
3484
- 9
3485
- for_block
3486
- t
3487
- n
3488
- x
3489
- 9
3490
- __block__
3491
- i
3492
- 19
3493
- 5
3494
- 56
3495
- 0
3496
- 47
3497
- 50
3498
- 1
3499
- 0
3500
- 49
3501
- 2
3502
- 0
3503
- 7
3504
- 3
3505
- 64
3506
- 49
3507
- 4
3508
- 0
3509
- 83
3510
- 5
3511
- 11
3512
- I
3513
- 3
3514
- I
3515
- 0
3516
- I
3517
- 0
3518
- I
3519
- 0
3520
- I
3521
- -2
3522
- p
3523
- 6
3524
- M
3525
- 1
3526
- p
3527
- 2
3528
- x
3529
- 9
3530
- for_block
3531
- t
3532
- n
3533
- x
3534
- 9
3535
- __block__
3536
- i
3537
- 13
3538
- 57
3539
- 19
3540
- 0
3541
- 15
3542
- 20
3543
- 0
3544
- 5
3545
- 48
3546
- 0
3547
- 49
3548
- 1
3549
- 1
3550
- 11
3551
- I
3552
- 4
3553
- I
3554
- 1
3555
- I
3556
- 1
3557
- I
3558
- 1
3559
- n
3560
- p
3561
- 2
3562
- x
3563
- 8
3564
- optional
3565
- x
3566
- 8
3567
- gen_skip
3568
- p
3569
- 3
3570
- I
3571
- 0
3572
- I
3573
- 8a
3574
- I
3575
- d
3576
- x
3577
- 111
3578
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3579
- p
3580
- 1
3581
- x
3582
- 1
3583
- g
3584
- x
3585
- 11
3586
- nested_code
3587
- x
3588
- 6
3589
- should
3590
- s
3591
- 39
3592
- begin
3593
- @scanner.skip(/w+/)
3594
- true
3595
- end
3596
-
3597
- x
3598
- 5
3599
- strip
3600
- x
3601
- 2
3602
- ==
3603
- p
3604
- 5
3605
- I
3606
- 0
3607
- I
3608
- 8a
3609
- I
3610
- a
3611
- I
3612
- 8b
3613
- I
3614
- 13
3615
- x
3616
- 111
3617
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3618
- p
3619
- 0
3620
- x
3621
- 2
3622
- it
3623
- p
3624
- 3
3625
- I
3626
- 0
3627
- I
3628
- 89
3629
- I
3630
- b
3631
- x
3632
- 111
3633
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3634
- p
3635
- 0
3636
- x
3637
- 7
3638
- context
3639
- s
3640
- 14
3641
- when top-level
3642
- M
3643
- 1
3644
- p
3645
- 2
3646
- x
3647
- 9
3648
- for_block
3649
- t
3650
- n
3651
- x
3652
- 9
3653
- __block__
3654
- i
3655
- 11
3656
- 5
3657
- 7
3658
- 0
3659
- 64
3660
- 56
3661
- 1
3662
- 47
3663
- 50
3664
- 2
3665
- 1
3666
- 11
3667
- I
3668
- 4
3669
- I
3670
- 0
3671
- I
3672
- 0
3673
- I
3674
- 0
3675
- I
3676
- -2
3677
- p
3678
- 3
3679
- s
3680
- 42
3681
- generates top level optional skipping code
3682
- M
3683
- 1
3684
- p
3685
- 2
3686
- x
3687
- 9
3688
- for_block
3689
- t
3690
- n
3691
- x
3692
- 9
3693
- __block__
3694
- i
3695
- 19
3696
- 5
3697
- 56
3698
- 0
3699
- 47
3700
- 50
3701
- 1
3702
- 0
3703
- 49
3704
- 2
3705
- 0
3706
- 7
3707
- 3
3708
- 64
3709
- 49
3710
- 4
3711
- 0
3712
- 83
3713
- 5
3714
- 11
3715
- I
3716
- 3
3717
- I
3718
- 0
3719
- I
3720
- 0
3721
- I
3722
- 0
3723
- I
3724
- -2
3725
- p
3726
- 6
3727
- M
3728
- 1
3729
- p
3730
- 2
3731
- x
3732
- 9
3733
- for_block
3734
- t
3735
- n
3736
- x
3737
- 9
3738
- __block__
3739
- i
3740
- 13
3741
- 57
3742
- 19
3743
- 0
3744
- 15
3745
- 20
3746
- 0
3747
- 5
3748
- 48
3749
- 0
3750
- 49
3751
- 1
3752
- 1
3753
- 11
3754
- I
3755
- 4
3756
- I
3757
- 1
3758
- I
3759
- 1
3760
- I
3761
- 1
3762
- n
3763
- p
3764
- 2
3765
- x
3766
- 8
3767
- optional
3768
- x
3769
- 8
3770
- gen_skip
3771
- p
3772
- 3
3773
- I
3774
- 0
3775
- I
3776
- 96
3777
- I
3778
- d
3779
- x
3780
- 111
3781
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3782
- p
3783
- 1
3784
- x
3785
- 1
3786
- g
3787
- x
3788
- 14
3789
- top_level_code
3790
- x
3791
- 6
3792
- should
3793
- s
3794
- 25
3795
- @scanner.skip(/w+/)
3796
- true
3797
-
3798
- x
3799
- 5
3800
- strip
3801
- x
3802
- 2
3803
- ==
3804
- p
3805
- 5
3806
- I
3807
- 0
3808
- I
3809
- 96
3810
- I
3811
- a
3812
- I
3813
- 97
3814
- I
3815
- 13
3816
- x
3817
- 111
3818
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3819
- p
3820
- 0
3821
- x
3822
- 2
3823
- it
3824
- p
3825
- 3
3826
- I
3827
- 0
3828
- I
3829
- 95
3830
- I
3831
- b
3832
- x
3833
- 111
3834
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3835
- p
3836
- 0
3837
- p
3838
- 5
3839
- I
3840
- 0
3841
- I
3842
- 88
3843
- I
3844
- b
3845
- I
3846
- 94
3847
- I
3848
- 16
3849
- x
3850
- 111
3851
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3852
- p
3853
- 0
3854
- s
3855
- 17
3856
- #gen_intermediate
3857
- M
3858
- 1
3859
- p
3860
- 2
3861
- x
3862
- 9
3863
- for_block
3864
- t
3865
- n
3866
- x
3867
- 9
3868
- __block__
3869
- i
3870
- 11
3871
- 5
3872
- 7
3873
- 0
3874
- 64
3875
- 56
3876
- 1
3877
- 47
3878
- 50
3879
- 2
3880
- 1
3881
- 11
3882
- I
3883
- 4
3884
- I
3885
- 0
3886
- I
3887
- 0
3888
- I
3889
- 0
3890
- I
3891
- -2
3892
- p
3893
- 3
3894
- s
3895
- 39
3896
- generates nested optional matching code
3897
- M
3898
- 1
3899
- p
3900
- 2
3901
- x
3902
- 9
3903
- for_block
3904
- t
3905
- n
3906
- x
3907
- 9
3908
- __block__
3909
- i
3910
- 16
3911
- 5
3912
- 56
3913
- 0
3914
- 47
3915
- 50
3916
- 1
3917
- 0
3918
- 49
3919
- 2
3920
- 0
3921
- 7
3922
- 3
3923
- 64
3924
- 83
3925
- 4
3926
- 11
3927
- I
3928
- 3
3929
- I
3930
- 0
3931
- I
3932
- 0
3933
- I
3934
- 0
3935
- I
3936
- -2
3937
- p
3938
- 5
3939
- M
3940
- 1
3941
- p
3942
- 2
3943
- x
3944
- 9
3945
- for_block
3946
- t
3947
- n
3948
- x
3949
- 9
3950
- __block__
3951
- i
3952
- 13
3953
- 57
3954
- 19
3955
- 0
3956
- 15
3957
- 20
3958
- 0
3959
- 5
3960
- 48
3961
- 0
3962
- 49
3963
- 1
3964
- 1
3965
- 11
3966
- I
3967
- 4
3968
- I
3969
- 1
3970
- I
3971
- 1
3972
- I
3973
- 1
3974
- n
3975
- p
3976
- 2
3977
- x
3978
- 8
3979
- optional
3980
- x
3981
- 16
3982
- gen_intermediate
3983
- p
3984
- 3
3985
- I
3986
- 0
3987
- I
3988
- a1
3989
- I
3990
- d
3991
- x
3992
- 111
3993
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
3994
- p
3995
- 1
3996
- x
3997
- 1
3998
- g
3999
- x
4000
- 11
4001
- nested_code
4002
- x
4003
- 6
4004
- should
4005
- s
4006
- 38
4007
- ((r = @scanner.scan(/w+/)) ? [r] : [])
4008
- x
4009
- 2
4010
- ==
4011
- p
4012
- 5
4013
- I
4014
- 0
4015
- I
4016
- a1
4017
- I
4018
- a
4019
- I
4020
- a2
4021
- I
4022
- 10
4023
- x
4024
- 111
4025
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4026
- p
4027
- 0
4028
- x
4029
- 2
4030
- it
4031
- p
4032
- 3
4033
- I
4034
- 0
4035
- I
4036
- a0
4037
- I
4038
- b
4039
- x
4040
- 111
4041
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4042
- p
4043
- 0
4044
- s
4045
- 24
4046
- #gen_intermediate_assert
4047
- M
4048
- 1
4049
- p
4050
- 2
4051
- x
4052
- 9
4053
- for_block
4054
- t
4055
- n
4056
- x
4057
- 9
4058
- __block__
4059
- i
4060
- 11
4061
- 5
4062
- 7
4063
- 0
4064
- 64
4065
- 56
4066
- 1
4067
- 47
4068
- 50
4069
- 2
4070
- 1
4071
- 11
4072
- I
4073
- 4
4074
- I
4075
- 0
4076
- I
4077
- 0
4078
- I
4079
- 0
4080
- I
4081
- -2
4082
- p
4083
- 3
4084
- s
4085
- 16
4086
- generates "true"
4087
- M
4088
- 1
4089
- p
4090
- 2
4091
- x
4092
- 9
4093
- for_block
4094
- t
4095
- n
4096
- x
4097
- 9
4098
- __block__
4099
- i
4100
- 16
4101
- 5
4102
- 56
4103
- 0
4104
- 47
4105
- 50
4106
- 1
4107
- 0
4108
- 49
4109
- 2
4110
- 0
4111
- 7
4112
- 3
4113
- 64
4114
- 83
4115
- 4
4116
- 11
4117
- I
4118
- 3
4119
- I
4120
- 0
4121
- I
4122
- 0
4123
- I
4124
- 0
4125
- I
4126
- -2
4127
- p
4128
- 5
4129
- M
4130
- 1
4131
- p
4132
- 2
4133
- x
4134
- 9
4135
- for_block
4136
- t
4137
- n
4138
- x
4139
- 9
4140
- __block__
4141
- i
4142
- 13
4143
- 57
4144
- 19
4145
- 0
4146
- 15
4147
- 20
4148
- 0
4149
- 5
4150
- 48
4151
- 0
4152
- 49
4153
- 1
4154
- 1
4155
- 11
4156
- I
4157
- 4
4158
- I
4159
- 1
4160
- I
4161
- 1
4162
- I
4163
- 1
4164
- n
4165
- p
4166
- 2
4167
- x
4168
- 8
4169
- optional
4170
- x
4171
- 23
4172
- gen_intermediate_assert
4173
- p
4174
- 3
4175
- I
4176
- 0
4177
- I
4178
- a8
4179
- I
4180
- d
4181
- x
4182
- 111
4183
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4184
- p
4185
- 1
4186
- x
4187
- 1
4188
- g
4189
- x
4190
- 11
4191
- nested_code
4192
- x
4193
- 6
4194
- should
4195
- s
4196
- 4
4197
- true
4198
- x
4199
- 2
4200
- ==
4201
- p
4202
- 3
4203
- I
4204
- 0
4205
- I
4206
- a8
4207
- I
4208
- 10
4209
- x
4210
- 111
4211
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4212
- p
4213
- 0
4214
- x
4215
- 2
4216
- it
4217
- p
4218
- 3
4219
- I
4220
- 0
4221
- I
4222
- a7
4223
- I
4224
- b
4225
- x
4226
- 111
4227
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4228
- p
4229
- 0
4230
- s
4231
- 26
4232
- #gen_intermediate_disallow
4233
- M
4234
- 1
4235
- p
4236
- 2
4237
- x
4238
- 9
4239
- for_block
4240
- t
4241
- n
4242
- x
4243
- 9
4244
- __block__
4245
- i
4246
- 11
4247
- 5
4248
- 7
4249
- 0
4250
- 64
4251
- 56
4252
- 1
4253
- 47
4254
- 50
4255
- 2
4256
- 1
4257
- 11
4258
- I
4259
- 4
4260
- I
4261
- 0
4262
- I
4263
- 0
4264
- I
4265
- 0
4266
- I
4267
- -2
4268
- p
4269
- 3
4270
- s
4271
- 17
4272
- generates "false"
4273
- M
4274
- 1
4275
- p
4276
- 2
4277
- x
4278
- 9
4279
- for_block
4280
- t
4281
- n
4282
- x
4283
- 9
4284
- __block__
4285
- i
4286
- 16
4287
- 5
4288
- 56
4289
- 0
4290
- 47
4291
- 50
4292
- 1
4293
- 0
4294
- 49
4295
- 2
4296
- 0
4297
- 7
4298
- 3
4299
- 64
4300
- 83
4301
- 4
4302
- 11
4303
- I
4304
- 3
4305
- I
4306
- 0
4307
- I
4308
- 0
4309
- I
4310
- 0
4311
- I
4312
- -2
4313
- p
4314
- 5
4315
- M
4316
- 1
4317
- p
4318
- 2
4319
- x
4320
- 9
4321
- for_block
4322
- t
4323
- n
4324
- x
4325
- 9
4326
- __block__
4327
- i
4328
- 13
4329
- 57
4330
- 19
4331
- 0
4332
- 15
4333
- 20
4334
- 0
4335
- 5
4336
- 48
4337
- 0
4338
- 49
4339
- 1
4340
- 1
4341
- 11
4342
- I
4343
- 4
4344
- I
4345
- 1
4346
- I
4347
- 1
4348
- I
4349
- 1
4350
- n
4351
- p
4352
- 2
4353
- x
4354
- 8
4355
- optional
4356
- x
4357
- 25
4358
- gen_intermediate_disallow
4359
- p
4360
- 3
4361
- I
4362
- 0
4363
- I
4364
- ae
4365
- I
4366
- d
4367
- x
4368
- 111
4369
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4370
- p
4371
- 1
4372
- x
4373
- 1
4374
- g
4375
- x
4376
- 11
4377
- nested_code
4378
- x
4379
- 6
4380
- should
4381
- s
4382
- 5
4383
- false
4384
- x
4385
- 2
4386
- ==
4387
- p
4388
- 3
4389
- I
4390
- 0
4391
- I
4392
- ae
4393
- I
4394
- 10
4395
- x
4396
- 111
4397
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4398
- p
4399
- 0
4400
- x
4401
- 2
4402
- it
4403
- p
4404
- 3
4405
- I
4406
- 0
4407
- I
4408
- ad
4409
- I
4410
- b
4411
- x
4412
- 111
4413
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4414
- p
4415
- 0
4416
- s
4417
- 22
4418
- #gen_intermediate_skip
4419
- M
4420
- 1
4421
- p
4422
- 2
4423
- x
4424
- 9
4425
- for_block
4426
- t
4427
- n
4428
- x
4429
- 9
4430
- __block__
4431
- i
4432
- 11
4433
- 5
4434
- 7
4435
- 0
4436
- 64
4437
- 56
4438
- 1
4439
- 47
4440
- 50
4441
- 2
4442
- 1
4443
- 11
4444
- I
4445
- 4
4446
- I
4447
- 0
4448
- I
4449
- 0
4450
- I
4451
- 0
4452
- I
4453
- -2
4454
- p
4455
- 3
4456
- s
4457
- 39
4458
- generates nested optional skipping code
4459
- M
4460
- 1
4461
- p
4462
- 2
4463
- x
4464
- 9
4465
- for_block
4466
- t
4467
- n
4468
- x
4469
- 9
4470
- __block__
4471
- i
4472
- 19
4473
- 5
4474
- 56
4475
- 0
4476
- 47
4477
- 50
4478
- 1
4479
- 0
4480
- 49
4481
- 2
4482
- 0
4483
- 7
4484
- 3
4485
- 64
4486
- 49
4487
- 4
4488
- 0
4489
- 83
4490
- 5
4491
- 11
4492
- I
4493
- 3
4494
- I
4495
- 0
4496
- I
4497
- 0
4498
- I
4499
- 0
4500
- I
4501
- -2
4502
- p
4503
- 6
4504
- M
4505
- 1
4506
- p
4507
- 2
4508
- x
4509
- 9
4510
- for_block
4511
- t
4512
- n
4513
- x
4514
- 9
4515
- __block__
4516
- i
4517
- 13
4518
- 57
4519
- 19
4520
- 0
4521
- 15
4522
- 20
4523
- 0
4524
- 5
4525
- 48
4526
- 0
4527
- 49
4528
- 1
4529
- 1
4530
- 11
4531
- I
4532
- 4
4533
- I
4534
- 1
4535
- I
4536
- 1
4537
- I
4538
- 1
4539
- n
4540
- p
4541
- 2
4542
- x
4543
- 8
4544
- optional
4545
- x
4546
- 21
4547
- gen_intermediate_skip
4548
- p
4549
- 3
4550
- I
4551
- 0
4552
- I
4553
- b4
4554
- I
4555
- d
4556
- x
4557
- 111
4558
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4559
- p
4560
- 1
4561
- x
4562
- 1
4563
- g
4564
- x
4565
- 11
4566
- nested_code
4567
- x
4568
- 6
4569
- should
4570
- s
4571
- 39
4572
- begin
4573
- @scanner.skip(/w+/)
4574
- true
4575
- end
4576
-
4577
- x
4578
- 5
4579
- strip
4580
- x
4581
- 2
4582
- ==
4583
- p
4584
- 5
4585
- I
4586
- 0
4587
- I
4588
- b4
4589
- I
4590
- a
4591
- I
4592
- b5
4593
- I
4594
- 13
4595
- x
4596
- 111
4597
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4598
- p
4599
- 0
4600
- x
4601
- 2
4602
- it
4603
- p
4604
- 3
4605
- I
4606
- 0
4607
- I
4608
- b3
4609
- I
4610
- b
4611
- x
4612
- 111
4613
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4614
- p
4615
- 0
4616
- p
4617
- 27
4618
- I
4619
- 0
4620
- I
4621
- 8
4622
- I
4623
- 9
4624
- I
4625
- a
4626
- I
4627
- 13
4628
- I
4629
- c
4630
- I
4631
- 1e
4632
- I
4633
- 1d
4634
- I
4635
- 29
4636
- I
4637
- 2c
4638
- I
4639
- 34
4640
- I
4641
- 3b
4642
- I
4643
- 3f
4644
- I
4645
- 56
4646
- I
4647
- 4a
4648
- I
4649
- 71
4650
- I
4651
- 55
4652
- I
4653
- 86
4654
- I
4655
- 60
4656
- I
4657
- 9f
4658
- I
4659
- 6b
4660
- I
4661
- a6
4662
- I
4663
- 76
4664
- I
4665
- ac
4666
- I
4667
- 81
4668
- I
4669
- b2
4670
- I
4671
- 8c
4672
- x
4673
- 111
4674
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4675
- p
4676
- 0
4677
- x
4678
- 8
4679
- describe
4680
- p
4681
- 9
4682
- I
4683
- 0
4684
- I
4685
- 1
4686
- I
4687
- 1b
4688
- I
4689
- 3
4690
- I
4691
- 28
4692
- I
4693
- 4
4694
- I
4695
- 33
4696
- I
4697
- 6
4698
- I
4699
- 40
4700
- x
4701
- 111
4702
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/back_end/parser_generator/optional_generator_spec.rb
4703
- p
4704
- 0