+eof :: Parser ()
+eof = Parser $ do (input, _) <- get
+ if B.null input then
+ return $ Success ()
+ else
+ return IllegalInput
+
+
+allowEOF :: Parser a -> Parser a
+allowEOF f = Parser $ do (input, isEOFFatal) <- get
+ put (input, False)
+
+ result <- runParser f
+
+ (input', _) <- get
+ put (input', isEOFFatal)
+
+ return result
+
+