diff options
Diffstat (limited to 'src/parcom.cr')
| -rw-r--r-- | src/parcom.cr | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/src/parcom.cr b/src/parcom.cr index 24fb76c..0170fdc 100644 --- a/src/parcom.cr +++ b/src/parcom.cr @@ -81,24 +81,6 @@ module Parcom end end - class Between(T, V) < Parser(T, Array(V)) - @p : Map(T, {Array(V), Array(V)}, Array(V)) - - def initialize(i : Int, j : Int, p : Parser(T, V)) - lower = i < j ? i : j - upper = (i - j).abs - @p = (Exactly.new(lower, p) + AtMost.new(upper, p)).map do |tup| - tup[0] + tup[1] - end - end - - def parse(tokens : Tokens(T)) : Result(T, Array(V)) - @p.parse(tokens) - rescue ex : ParserFail - raise ParserFail.new("Between: #{ex.message}") - end - end - class FirstOf(T, V) < Parser(T, V) @p : Parser(T, V) |
