diff options
| author | Matthew Hall <hallmatthew314@gmail.com> | 2023-03-13 20:41:57 +1300 |
|---|---|---|
| committer | Matthew Hall <hallmatthew314@gmail.com> | 2023-03-13 20:41:57 +1300 |
| commit | 77c370d27be174e0b036b33d1469e84e67a7153a (patch) | |
| tree | af3b19aacfc571415ac4dad560a6e187d613cf43 /src/parcom.cr | |
| parent | 2f5521ae6a0b5897a6970379d353047281d3a909 (diff) | |
Documentation for SepBy
Diffstat (limited to 'src/parcom.cr')
| -rw-r--r-- | src/parcom.cr | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/src/parcom.cr b/src/parcom.cr index 8c55014..ddb2e50 100644 --- a/src/parcom.cr +++ b/src/parcom.cr @@ -80,21 +80,5 @@ module Parcom def initialize(@tokens : Tokens(T), @value : V) end end - - class SepBy(T, V, U) < Parser(T, Array(V)) - @p : Map(T, {V, Array(V)}, Array(V)) - - def initialize(elem : Parser(T, V), sep : Parser(T, U)) - @p = (elem + Many(T, U).new(sep >> elem)).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("SepBy: #{ex.message}") - end - end end |
