Frage

Was ist die bevorzugte Art und Weise Fehler (ParseError) in Parsec zu erhöhen? Ich habe einige Codes in einem Parser, dass ein Häkchen und wenn die Überprüfung fehlschlägt ein ParseError zurückgegeben werden soll (das heißt Left ParseError wenn parse ausgeführt wird).

War es hilfreich?

Lösung

Sie können mit Text.ParserCombinators.Parsec.Prim.unexpected und Control.Monad.fail für diese. Sowohl ein String Argument nehmen Sie die Fehlermeldung bedeutet und kehrt (in diesem Fall) einen Wert vom Typ GenParser tok st a.

Für mehr finden Sie unter Text.ParserCombinators.Parsec.Error , insbesondere Message . Dort können Sie in diesem Fall die Funktion Gebrauch lesen (obwohl beide einen Parser-Fehler bedeuten, sie sind semantisch etwas anders).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top