Also versuche ich immer noch, mich mit Parsec vertraut zu machen, aber ich arbeite langsam an meiner Toolbox.Haskell: Analysiere eine Datei mit Parsec und IO
Wenn ich eine Datei, die ich analysieren müssen haben, finde ich mich um die Datei in als String zu lesen, und dann den Inhalt vorbei nach Parsec:
problem <- readFile input
case runParser myParser() input problem of
Left err -> hPutStrLn stderr $ "Error: " ++ show err
Right cs -> -- continue processing...
Dies scheint ein recht häufiges Muster obwohl - ist Gibt es eine bestehende Funktion, die ich verwenden kann, die eine ParsecT String u IO a
und eine FilePath
nimmt und den Inhalt analysiert? Ich kann in hoogle nichts finden, aber das könnte nur ein Mangel an Vorstellungskraft sein.
Es gibt 'parseFromFile' in' Text.Parsec.String' oder 'Text.Parsec.ByteString', aber sie funktionieren nur mit reinen Parsern (z. B.' ParsecT String() Identity a'). – hammar