簡體   English   中英

使用Haskell的Parsec來解析ByteString

[英]Using Haskell's Parsec to parse a ByteString

我已經設法使用Parsec來解析一個String,但是無法用ByteString來做同樣的事情。

如何讓Parsec與ByteStrings一起使用而無需手動將它們轉換為字符串?

我覺得這不難實現。 我錯了嗎? (我是Haskell的新手。^^)

謝謝!

只需從Text.Parsec.ByteStringText.Parsec.ByteString.Lazy導入Parser類型,而不是從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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM