X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/2b8759bf0239b0a98ac830952ed69572580826c1..300a3f0a55f777216bcc7e9de833b28fb57104ac:/src/parser/parser-proto.lisp diff --git a/src/parser/parser-proto.lisp b/src/parser/parser-proto.lisp index 189e503..7aafe45 100644 --- a/src/parser/parser-proto.lisp +++ b/src/parser/parser-proto.lisp @@ -87,6 +87,21 @@ failures :initial-value nil)) +(export 'parse-empty) +(defun parse-empty (&optional value) + "Return a parser which parses nothing, successfully. + + The parser returns VALUE and consumes nothing." + (lambda () (values value t nil))) + +(export 'parse-fail) +(defun parse-fail (indicator &optional consumedp) + "Return a parser which fails. + + The parser reports the INDICATOR and (falsely) claims to have consumed + input if CONSUMEDP is true." + (lambda () (values indicator nil consumedp))) + ;;;-------------------------------------------------------------------------- ;;; Basic protocol.