Parsec を使用して文字列を解析することはできましたが、ByteString で同じことを行うことはできません。
Parsec を手動で文字列に変換せずに ByteStrings で動作させるにはどうすればよいですか?
これを達成するのは難しくないと感じています。私が間違っている?(Haskell初心者です^^)
ありがとう!
Parsec を使用して文字列を解析することはできましたが、ByteString で同じことを行うことはできません。
Parsec を手動で文字列に変換せずに ByteStrings で動作させるにはどうすればよいですか?
これを達成するのは難しくないと感じています。私が間違っている?(Haskell初心者です^^)
ありがとう!
からではなく、またはParser
からタイプをインポートするだけです。Text.Parsec.ByteString
Text.Parsec.ByteString.Lazy
Text.Parsec.String
答えは、実際には使用しているParsecのバージョンによって異なります。バージョン3.0以降を使用している場合は、はい。バージョン2.xxの場合、私はあなたができるとは思いません。
http://hackage.haskell.org/packages/archive/parsec/3.0.1/doc/html/Text-Parsec-ByteString.html
乾杯
編集:STHが提案するParsec(Text.Parsec.ByteString)は実際にはバージョン3.0であり、以前のバージョン2.xxはText.ParserCombinators.Parsecにあります。
import Text.Parsec.ByteString ()
インスタンスを提供します
forall m. Stream ByteString m Char
したがって、代わりに次を使用する場合Parser a
:
p :: Stream s m Char => ParsecT s u m a