[英]Using Haskell's Parsec to parse a ByteString
我已經設法使用Parsec來解析一個String,但是無法用ByteString來做同樣的事情。
如何讓Parsec與ByteStrings一起使用而無需手動將它們轉換為字符串?
我覺得這不難實現。 我錯了嗎? (我是Haskell的新手。^^)
謝謝!
只需從Text.Parsec.ByteString
或Text.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.