6

Parsec を使用して文字列を解析することはできましたが、ByteString で同じことを行うことはできません。

Parsec を手動で文字列に変換せずに ByteStrings で動作させるにはどうすればよいですか?

これを達成するのは難しくないと感じています。私が間違っている?(Haskell初心者です^^)

ありがとう!

4

3 に答える 3

8

からではなく、またはParserからタイプをインポートするだけです。Text.Parsec.ByteStringText.Parsec.ByteString.LazyText.Parsec.String

于 2010-01-19T01:18:26.747 に答える
2

答えは、実際には使用している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にあります。

于 2010-01-19T01:19:21.163 に答える
0
import Text.Parsec.ByteString ()

インスタンスを提供します

forall m. Stream ByteString m Char

したがって、代わりに次を使用する場合Parser a

p ::  Stream s m Char => ParsecT s u m a
于 2011-06-25T20:22:35.320 に答える