[英]Haskell Parser Combinators
我閱讀了很多有關Haskell Parser組合器的信息,發現了很多主題,例如:
但是所有這些主題都將Parser Combinators
與Parser Generators
進行了比較。
我想問您哪種Parser Combinator
最適合以下條件:
我發現,最受歡迎的解析器組合器是:
我會說絕對選擇Parsec,這是為什么:
Attoparsec的設計旨在快速使用,但缺乏對您在Parsec中收到的錯誤消息的強大支持,因此這是您的第一點優勢。
我使用解析器組合器庫的經驗是,無論是在GHCi中還是在測試中,對解析器的各個部分進行測試都是非常容易的,因此所有這些都真的滿足了第二點。 最后,Attoparsec和Parsec非常快。
最后,Parsec最長,並且具有許多有用和高級的功能。 這意味着一般的可維護性將變得更加容易,Parsec中有更多示例,並且更多人熟悉它。 uu-parsinglib絕對值得花時間探索,但是出於這些原因,我建議先熟悉Parsec是更好的方法。 (Alex也是與Parsec或其他方式一起使用的最推薦的詞法分析器,但我自己並未使用它。)
如果有人發現此問題,我將在此處發布答案。 目前的答案已經過時了。
最好將megaparsec
包用作解析器組合器庫。 這是一個現代化的生產就緒型圖書館。 它的README.md
與其他解析器組合器庫進行了出色的比較:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.