私はまだParsecを使って快適にしようとしていますが、ツールボックスにゆっくりと取り組んでいます。Haskell:ParsecとIOを使ってファイルを解析する
私は私が解析する必要があるファイルを持っているとき、私は自分自身を文字列としてでファイルを読み込み、その後、パーセクにコンテンツを渡す見つける:
problem <- readFile input
case runParser myParser() input problem of
Left err -> hPutStrLn stderr $ "Error: " ++ show err
Right cs -> -- continue processing...
これはしかしかなり一般的なパターンのように思える - されますそこにはParsecT String u IO a
とFilePath
をとり、内容を解析する既存の機能がありますか?私はホグルで何かを見つけることができませんが、それはちょうど想像力の失敗かもしれません。
'Text.Parsec.String'や' Text.Parsec.ByteString'に 'parseFromFile'がありますが、それらは純粋なパーサ(例えば' ParsecT String()Identity a')だけで動作します。 – hammar