FParsec 中的递归语法
我决定查看 FParsec,并尝试为 λ 表达式编写一个解析器。事实证明,急切使得递归解析变得困难。我该如何解决这个问题? 代码: open FParsec type λ…
输入解析错误 '<-'在 do 块内?
我正在尝试使用 Parsec 在 Haskell 中进行一些解析。我的代码中有许多解析器,但其中一个解析器出现错误: expression2 = do (operator lexer "|" a &…
为什么秒差距是“选择”组合器似乎停留在第一个选择上?
在查看 Real World Haskell 中的 CSV 示例代码后,我尝试构建一个小型 XML 解析器。但关闭标签会出现“意外的“/””错误。你能告诉我为什么我的“clo…
在秒差距中,有没有办法防止词素消耗换行符?
Text.Parsec.Token 中的所有解析器都会礼貌地使用 lexeme 来吃掉标记后面的空格。对我来说不幸的是,空格包含新行,我想将其用作表达式终止符。有没有…
FParsec:如何解析 fparsec 中的日期(新手)
我正在使用 Bill Casarin 帖子来了解如何解析使用 fparsec 分隔文件,我将逻辑简化以了解代码的工作原理。我正在将多行分隔文档解析为单元格列表列表…
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 中解析 XML
我正在尝试从定期提供带有股票市场报价的 XML 文件的网页获取数据 (示例数据)。 XML 的结构非常简单,如下所示:( <?xml version="1.0"?> <Co…
Haskell 秒差距 <|> 的问题操作员
我对 Haskell 和 Parsec 都是新手。为了更多地了解该语言,特别是该库,我正在尝试创建一个可以解析 Lua 保存的变量文件的解析器。在这些文件中,变量…
秒差距 - “许多”和错误消息
当我尝试解析many p时,我没有收到“expecting p”消息: > parse (many (char '.') >> eof) "" "a" Left (line 1, column 1): unexpected 'a' …