rattler 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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,1091 +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
- 40
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
- 56
45
- 11
46
- 47
47
- 50
48
- 12
49
- 1
50
- 15
51
- 2
52
- 11
53
- I
54
- 4
55
- I
56
- 0
57
- I
58
- 0
59
- I
60
- 0
61
- n
62
- p
63
- 13
64
- x
65
- 4
66
- File
67
- n
68
- n
69
- x
70
- 11
71
- active_path
72
- x
73
- 7
74
- dirname
75
- s
76
- 18
77
- /../../spec_helper
78
- x
79
- 1
80
- +
81
- x
82
- 11
83
- expand_path
84
- x
85
- 7
86
- require
87
- x
88
- 5
89
- Label
90
- n
91
- M
92
- 1
93
- p
94
- 2
95
- x
96
- 9
97
- for_block
98
- t
99
- n
100
- x
101
- 9
102
- __block__
103
- i
104
- 39
105
- 5
106
- 45
107
- 0
108
- 1
109
- 47
110
- 49
111
- 2
112
- 1
113
- 15
114
- 5
115
- 56
116
- 3
117
- 47
118
- 50
119
- 4
120
- 0
121
- 15
122
- 5
123
- 7
124
- 5
125
- 64
126
- 56
127
- 6
128
- 47
129
- 50
130
- 7
131
- 1
132
- 15
133
- 5
134
- 7
135
- 8
136
- 64
137
- 56
138
- 9
139
- 47
140
- 50
141
- 7
142
- 1
143
- 11
144
- I
145
- 4
146
- I
147
- 0
148
- I
149
- 0
150
- I
151
- 0
152
- I
153
- -2
154
- p
155
- 10
156
- x
157
- 26
158
- CombinatorParserSpecHelper
159
- n
160
- x
161
- 7
162
- include
163
- M
164
- 1
165
- p
166
- 2
167
- x
168
- 9
169
- for_block
170
- t
171
- n
172
- x
173
- 9
174
- __block__
175
- i
176
- 35
177
- 45
178
- 0
179
- 1
180
- 7
181
- 2
182
- 45
183
- 3
184
- 4
185
- 7
186
- 5
187
- 13
188
- 70
189
- 9
190
- 26
191
- 15
192
- 44
193
- 43
194
- 6
195
- 7
196
- 7
197
- 78
198
- 49
199
- 8
200
- 2
201
- 6
202
- 5
203
- 49
204
- 9
205
- 1
206
- 35
207
- 1
208
- 49
209
- 9
210
- 2
211
- 11
212
- I
213
- 7
214
- I
215
- 0
216
- I
217
- 0
218
- I
219
- 0
220
- I
221
- -2
222
- p
223
- 10
224
- x
225
- 5
226
- Label
227
- n
228
- x
229
- 4
230
- name
231
- x
232
- 5
233
- Match
234
- n
235
- n
236
- x
237
- 6
238
- Regexp
239
- s
240
- 3
241
- \w+
242
- x
243
- 3
244
- new
245
- x
246
- 2
247
- []
248
- p
249
- 3
250
- I
251
- 0
252
- I
253
- 6
254
- I
255
- 23
256
- x
257
- 80
258
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
259
- p
260
- 0
261
- x
262
- 7
263
- subject
264
- s
265
- 6
266
- #parse
267
- M
268
- 1
269
- p
270
- 2
271
- x
272
- 9
273
- for_block
274
- t
275
- n
276
- x
277
- 9
278
- __block__
279
- i
280
- 22
281
- 5
282
- 7
283
- 0
284
- 64
285
- 56
286
- 1
287
- 47
288
- 50
289
- 2
290
- 1
291
- 15
292
- 5
293
- 7
294
- 3
295
- 64
296
- 56
297
- 4
298
- 47
299
- 50
300
- 5
301
- 1
302
- 11
303
- I
304
- 4
305
- I
306
- 0
307
- I
308
- 0
309
- I
310
- 0
311
- I
312
- -2
313
- p
314
- 6
315
- s
316
- 33
317
- matches identically to its parser
318
- M
319
- 1
320
- p
321
- 2
322
- x
323
- 9
324
- for_block
325
- t
326
- n
327
- x
328
- 9
329
- __block__
330
- i
331
- 40
332
- 5
333
- 7
334
- 0
335
- 64
336
- 47
337
- 49
338
- 1
339
- 1
340
- 5
341
- 7
342
- 2
343
- 64
344
- 47
345
- 49
346
- 3
347
- 1
348
- 4
349
- 6
350
- 49
351
- 4
352
- 1
353
- 49
354
- 5
355
- 1
356
- 15
357
- 5
358
- 7
359
- 6
360
- 64
361
- 47
362
- 49
363
- 1
364
- 1
365
- 5
366
- 48
367
- 7
368
- 49
369
- 5
370
- 1
371
- 11
372
- I
373
- 4
374
- I
375
- 0
376
- I
377
- 0
378
- I
379
- 0
380
- I
381
- -2
382
- p
383
- 8
384
- s
385
- 8
386
- abc123
387
- x
388
- 7
389
- parsing
390
- s
391
- 6
392
- abc123
393
- x
394
- 9
395
- result_in
396
- x
397
- 2
398
- at
399
- x
400
- 6
401
- should
402
- s
403
- 2
404
- ==
405
- x
406
- 4
407
- fail
408
- p
409
- 5
410
- I
411
- 0
412
- I
413
- b
414
- I
415
- 19
416
- I
417
- c
418
- I
419
- 28
420
- x
421
- 80
422
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
423
- p
424
- 0
425
- x
426
- 2
427
- it
428
- s
429
- 10
430
- on success
431
- M
432
- 1
433
- p
434
- 2
435
- x
436
- 9
437
- for_block
438
- t
439
- n
440
- x
441
- 9
442
- __block__
443
- i
444
- 11
445
- 5
446
- 7
447
- 0
448
- 64
449
- 56
450
- 1
451
- 47
452
- 50
453
- 2
454
- 1
455
- 11
456
- I
457
- 4
458
- I
459
- 0
460
- I
461
- 0
462
- I
463
- 0
464
- I
465
- -2
466
- p
467
- 3
468
- s
469
- 43
470
- adds a mapping from its label to its result
471
- M
472
- 1
473
- p
474
- 2
475
- x
476
- 9
477
- for_block
478
- t
479
- n
480
- x
481
- 9
482
- __block__
483
- i
484
- 40
485
- 5
486
- 7
487
- 0
488
- 64
489
- 47
490
- 49
491
- 1
492
- 1
493
- 5
494
- 7
495
- 2
496
- 64
497
- 47
498
- 49
499
- 3
500
- 1
501
- 44
502
- 43
503
- 4
504
- 79
505
- 49
506
- 5
507
- 1
508
- 13
509
- 7
510
- 6
511
- 7
512
- 2
513
- 64
514
- 49
515
- 7
516
- 2
517
- 15
518
- 49
519
- 8
520
- 1
521
- 49
522
- 9
523
- 1
524
- 11
525
- I
526
- 7
527
- I
528
- 0
529
- I
530
- 0
531
- I
532
- 0
533
- I
534
- -2
535
- p
536
- 10
537
- s
538
- 5
539
- foo
540
- x
541
- 7
542
- parsing
543
- s
544
- 3
545
- foo
546
- x
547
- 9
548
- result_in
549
- x
550
- 4
551
- Hash
552
- x
553
- 16
554
- new_from_literal
555
- x
556
- 4
557
- name
558
- x
559
- 3
560
- []=
561
- x
562
- 10
563
- with_scope
564
- x
565
- 6
566
- should
567
- p
568
- 3
569
- I
570
- 0
571
- I
572
- 11
573
- I
574
- 28
575
- x
576
- 80
577
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
578
- p
579
- 0
580
- x
581
- 2
582
- it
583
- p
584
- 3
585
- I
586
- 0
587
- I
588
- 10
589
- I
590
- b
591
- x
592
- 80
593
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
594
- p
595
- 0
596
- x
597
- 7
598
- context
599
- p
600
- 5
601
- I
602
- 0
603
- I
604
- a
605
- I
606
- b
607
- I
608
- f
609
- I
610
- 16
611
- x
612
- 80
613
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
614
- p
615
- 0
616
- x
617
- 8
618
- describe
619
- s
620
- 11
621
- #capturing?
622
- M
623
- 1
624
- p
625
- 2
626
- x
627
- 9
628
- for_block
629
- t
630
- n
631
- x
632
- 9
633
- __block__
634
- i
635
- 22
636
- 5
637
- 7
638
- 0
639
- 64
640
- 56
641
- 1
642
- 47
643
- 50
644
- 2
645
- 1
646
- 15
647
- 5
648
- 7
649
- 3
650
- 64
651
- 56
652
- 4
653
- 47
654
- 50
655
- 2
656
- 1
657
- 11
658
- I
659
- 4
660
- I
661
- 0
662
- I
663
- 0
664
- I
665
- 0
666
- I
667
- -2
668
- p
669
- 5
670
- s
671
- 23
672
- with a capturing parser
673
- M
674
- 1
675
- p
676
- 2
677
- x
678
- 9
679
- for_block
680
- t
681
- n
682
- x
683
- 9
684
- __block__
685
- i
686
- 11
687
- 5
688
- 7
689
- 0
690
- 64
691
- 56
692
- 1
693
- 47
694
- 50
695
- 2
696
- 1
697
- 11
698
- I
699
- 4
700
- I
701
- 0
702
- I
703
- 0
704
- I
705
- 0
706
- I
707
- -2
708
- p
709
- 3
710
- s
711
- 7
712
- is true
713
- M
714
- 1
715
- p
716
- 2
717
- x
718
- 9
719
- for_block
720
- t
721
- n
722
- x
723
- 9
724
- __block__
725
- i
726
- 10
727
- 5
728
- 48
729
- 0
730
- 5
731
- 48
732
- 1
733
- 49
734
- 2
735
- 1
736
- 11
737
- I
738
- 3
739
- I
740
- 0
741
- I
742
- 0
743
- I
744
- 0
745
- I
746
- -2
747
- p
748
- 3
749
- x
750
- 7
751
- subject
752
- x
753
- 12
754
- be_capturing
755
- x
756
- 6
757
- should
758
- p
759
- 3
760
- I
761
- 0
762
- I
763
- 1a
764
- I
765
- a
766
- x
767
- 80
768
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
769
- p
770
- 0
771
- x
772
- 2
773
- it
774
- p
775
- 3
776
- I
777
- 0
778
- I
779
- 19
780
- I
781
- b
782
- x
783
- 80
784
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
785
- p
786
- 0
787
- x
788
- 7
789
- context
790
- s
791
- 27
792
- with a non-capturing parser
793
- M
794
- 1
795
- p
796
- 2
797
- x
798
- 9
799
- for_block
800
- t
801
- n
802
- x
803
- 9
804
- __block__
805
- i
806
- 19
807
- 5
808
- 56
809
- 0
810
- 47
811
- 50
812
- 1
813
- 0
814
- 15
815
- 5
816
- 7
817
- 2
818
- 64
819
- 56
820
- 3
821
- 47
822
- 50
823
- 4
824
- 1
825
- 11
826
- I
827
- 4
828
- I
829
- 0
830
- I
831
- 0
832
- I
833
- 0
834
- I
835
- -2
836
- p
837
- 5
838
- M
839
- 1
840
- p
841
- 2
842
- x
843
- 9
844
- for_block
845
- t
846
- n
847
- x
848
- 9
849
- __block__
850
- i
851
- 41
852
- 45
853
- 0
854
- 1
855
- 7
856
- 2
857
- 45
858
- 3
859
- 4
860
- 45
861
- 5
862
- 6
863
- 7
864
- 7
865
- 13
866
- 70
867
- 9
868
- 29
869
- 15
870
- 44
871
- 43
872
- 8
873
- 7
874
- 9
875
- 78
876
- 49
877
- 10
878
- 2
879
- 6
880
- 7
881
- 49
882
- 11
883
- 1
884
- 49
885
- 11
886
- 1
887
- 35
888
- 1
889
- 49
890
- 11
891
- 2
892
- 11
893
- I
894
- 8
895
- I
896
- 0
897
- I
898
- 0
899
- I
900
- 0
901
- I
902
- -2
903
- p
904
- 12
905
- x
906
- 5
907
- Label
908
- n
909
- x
910
- 4
911
- name
912
- x
913
- 4
914
- Skip
915
- n
916
- x
917
- 5
918
- Match
919
- n
920
- n
921
- x
922
- 6
923
- Regexp
924
- s
925
- 3
926
- \s+
927
- x
928
- 3
929
- new
930
- x
931
- 2
932
- []
933
- p
934
- 3
935
- I
936
- 0
937
- I
938
- 1f
939
- I
940
- 29
941
- x
942
- 80
943
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
944
- p
945
- 0
946
- x
947
- 7
948
- subject
949
- s
950
- 8
951
- is false
952
- M
953
- 1
954
- p
955
- 2
956
- x
957
- 9
958
- for_block
959
- t
960
- n
961
- x
962
- 9
963
- __block__
964
- i
965
- 10
966
- 5
967
- 48
968
- 0
969
- 5
970
- 48
971
- 1
972
- 49
973
- 2
974
- 1
975
- 11
976
- I
977
- 3
978
- I
979
- 0
980
- I
981
- 0
982
- I
983
- 0
984
- I
985
- -2
986
- p
987
- 3
988
- x
989
- 7
990
- subject
991
- x
992
- 12
993
- be_capturing
994
- x
995
- 10
996
- should_not
997
- p
998
- 3
999
- I
1000
- 0
1001
- I
1002
- 21
1003
- I
1004
- a
1005
- x
1006
- 80
1007
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
1008
- p
1009
- 0
1010
- x
1011
- 2
1012
- it
1013
- p
1014
- 5
1015
- I
1016
- 0
1017
- I
1018
- 1f
1019
- I
1020
- 8
1021
- I
1022
- 20
1023
- I
1024
- 13
1025
- x
1026
- 80
1027
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
1028
- p
1029
- 0
1030
- p
1031
- 5
1032
- I
1033
- 0
1034
- I
1035
- 18
1036
- I
1037
- b
1038
- I
1039
- 1e
1040
- I
1041
- 16
1042
- x
1043
- 80
1044
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
1045
- p
1046
- 0
1047
- p
1048
- 9
1049
- I
1050
- 0
1051
- I
1052
- 4
1053
- I
1054
- 9
1055
- I
1056
- 6
1057
- I
1058
- 11
1059
- I
1060
- 8
1061
- I
1062
- 1c
1063
- I
1064
- 16
1065
- I
1066
- 27
1067
- x
1068
- 80
1069
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
1070
- p
1071
- 0
1072
- x
1073
- 8
1074
- describe
1075
- p
1076
- 5
1077
- I
1078
- 0
1079
- I
1080
- 1
1081
- I
1082
- 1b
1083
- I
1084
- 3
1085
- I
1086
- 28
1087
- x
1088
- 80
1089
- /home/jarhart/Dropbox/Workspaces/Ruby/rattler/spec/rattler/parsers/label_spec.rb
1090
- p
1091
- 0