:ignore-unconsumed ,ignore-unconsumed
:force-progress ,force-progress))
+(export 'must)
+(defparse must (:context (context token-scanner-context)
+ sub &optional default)
+ "Try to parse SUB; if it fails, report an error, and return DEFAULT.
+
+ This parser can't actually fail."
+ `(parse (error () ,sub (t ,default))))
+
;;;--------------------------------------------------------------------------
;;; Lexical analysis utilities.