diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/parcom.cr | 6 | ||||
| -rw-r--r-- | src/parcom/flunk.cr | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/src/parcom.cr b/src/parcom.cr index 028f596..5ce8ebe 100644 --- a/src/parcom.cr +++ b/src/parcom.cr @@ -81,12 +81,6 @@ module Parcom end end - class Flunk(T, V) < Parser(T, V) - def parse(tokens) : Result(T, V) - raise ParserFail.new("Flunk: parsing failed") - end - end - class AnyToken(T) < Parser(T, T) def parse(tokens : Tokens(T)) : Result(T, T) if tokens.empty? diff --git a/src/parcom/flunk.cr b/src/parcom/flunk.cr new file mode 100644 index 0000000..00a0bd6 --- /dev/null +++ b/src/parcom/flunk.cr @@ -0,0 +1,12 @@ +require "./parser.cr" + +module Parcom + # `Flunk` is a `Parser` that always fails. + class Flunk(T, V) < Parser(T, V) + # Always raises `ParserFail` + def parse(tokens) : Result(T, V) + raise ParserFail.new("Flunk: parsing failed") + end + end +end + |
