Haskell 秒差距问题
我是 Haskell 新手,正在学习 Parsec lib 举个例子: nesting :: Parser Int nesting = do{ char '(' ; n <- nesting ; char ')' ; m <- nesting ; re…
Parsec 与 Yacc/Bison/Antlr:为什么以及何时使用 Parsec?
我是 Haskell 和 Parsec 的新手。读完第16章使用现实世界Haskell的秒差距后,我的脑海中出现了一个问题:为什么以及何时 Parsec 比 Yacc/Bison/Antlr …
Haskell 秒差距 <|> 的问题操作员
我对 Haskell 和 Parsec 都是新手。为了更多地了解该语言,特别是该库,我正在尝试创建一个可以解析 Lua 保存的变量文件的解析器。在这些文件中,变量…
秒差距 - “许多”和错误消息
当我尝试解析many p时,我没有收到“expecting p”消息: > parse (many (char '.') >> eof) "" "a" Left (line 1, column 1): unexpected 'a' expect…
将秒差距与 Data.Text 结合使用
使用 Parsec 3.1,可以解析多种类型的输入: [Char] 和 Text.Parsec.String Data.ByteString 与 Text.Parsec.ByteString Data.ByteString.Lazy 与 Tex…
如何从秒差距中的可选解析器检索值?
抱歉,如果这是一个新手问题 - 我想解析由 Exp ::= Mandatory_Part Optional_Part0 Optional_Part1 我认为定义的内容我可以这样做: proc::Parser Str…
如何使用 Haskell 的类型系统来强制正确性,同时仍然能够进行模式匹配?
假设我有一个代表某种树结构的 adt: data Tree = ANode (Maybe Tree) (Maybe Tree) AValType | BNode (Maybe Tree) (Maybe Tree) BValType | CNode (…
Haskell 秒差距和无序属性
我正在尝试使用 Parsec 来解析这样的内容: property :: CharParser SomeObject property = do name parameters value return SomeObjectInstance { f…
Haskell:将读取函数提升到秒差距解析器
作为第四个练习的一部分此处 我想使用 reads 类型函数,例如 readHex 和 parsec Parser。 为此,我编写了一个函数: liftReadsToParse :: Parser Stri…
在 Haskell 的 Parsec 中解析基于缩进的语法
我正在尝试使用 Parsec 在 Haskell 中解析基于缩进的语言(例如 Python、Haskell 本身、Boo、YAML)。我已经看过 IndentParser 库,它看起来是完美的…