问题标签 [parsec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parsing - 在 Parsec.Token 中重新定义“stringLiteral”标记
我正在使用 Parsec 库在 Haskell 中开发 Pascal 语言解析器,我需要重新定义 Parsec.Token 类中定义的一些标记。
说到它,这是我的情况:
我需要更改stringLiteral
令牌的匹配方式。在默认定义中,它是一些东西between char '"'
(见这个),但我需要它是between '\''
(撇号)。如何对 Parsec 行为进行此修改?
谢谢!!!
parsing - 秒级调试
我一直在使用 parsec,但在调试代码时遇到了麻烦。例如,我可以在 ghci 中设置断点,但我不确定如何查看消耗了多少输入,或者类似的东西。
是否有工具/指南可以帮助调试 parsec 代码?
haskell - Lexical analysis of string token using Parsec
I have this parser for string parsing using Haskell Parsec library.
Strings in my language are defined as alpha-num characters inside of ''
(example: 'this is my string'
), but these string can also contain '
inside of it (in this case '
must be escaped by another '
, ex 'this is my string with '' inside of it'
).
What I need to do, is to look forward when '
appears during parsing of string and decide, if there is another '
after or not (if no, return end of string). But I dont know how to do it. Any ideas? Thanks!
haskell - Parsec:预测解析
我只有很少的 haskell 技能,我需要帮助如何使用 parsec 实现预测解析 (LL*)。
我有上下文无关语法:
基于http://research.microsoft.com/en-us/um/people/daan/download/parsec/parsec.pdf(章节预测解析器)我写了这段代码:
我希望这段代码尝试匹配'(',如果不是,解析器将继续并仅匹配标识符。此代码仅适用于匹配标识符'('args')'。
仅在标识符“a”上调用它会抛出:
haskell - Concat解析结果
我可以创建一个解析器,它可以处理两个或三个数字,用逗号分隔,如下所示:
只有数字很重要,其余的可以丢弃。有没有办法连接中间解析结果(n1,n2,n3
)来处理它input
?例如 Scala 的 parser-combinator 可以这样做:
我想这样做是为了在不同的地方对解析器进行模式匹配。例如,在 Scala 中,我可以这样做:
其中 input 是要解析的字符串。parsec 是否具有允许类似行为的内置函数?如果不是我自己如何建立这样的行为?
html - Haskell:为什么我的解析器不能正确回溯?
我决定自学如何使用Parsec
,我在分配给自己的玩具项目中遇到了一些障碍。
我正在尝试解析 HTML,特别是:
我的代码是:
问题似乎是我的解析器不喜欢结束标签 - 它似乎贪婪地假设<
总是意味着一个开始标签(据我所知):
我已经玩了一段时间了,我不确定为什么它没有回溯到char '<'
比赛之后。
haskell - Haskell Text.Parsec.Combinator 选择不会回溯
我正在尝试用 parsec 解析一些文本:
我期待choice
尝试匹配“leave”,如果失败,则尝试“login”等。但它只尝试匹配“leave”,如果失败,则会出错。
我究竟做错了什么?
haskell - Haskell:使用 Parsec 和 IO 解析文件
所以我仍然在尝试使用 Parsec,但我正在慢慢地将它融入我的工具箱。
当我有一个需要解析的文件时,我发现自己将文件作为字符串读取,然后将内容传递给解析:
不过,这似乎是一种相当常见的模式——我可以使用一些现有的函数来接受 aParsecT String u IO a
和 aFilePath
并解析内容吗?我在hoogle中找不到任何东西,但这可能只是想象力的失败。
antlr - parsec 是 ANTLR 的替代品吗?
我正计划为我的特定目的创建一种小型编程语言。我读过 ANTLR3 非常适合这样的目标。让我问一下 Parsec 是 ANTLR3 的可能替代品还是属于不同的类别。
非常感谢。
f# - 使用 F# 解析日期
是否有一些“日期解析器”库对日期执行 FParsec 对字符串的处理?
也就是说,您可以指定规则,它会匹配它们以识别提供的模式。
相反,是否有任何库可以根据一些解析规则生成日期?这个想法是为用户提供“实时”完成,以指导他进行有效的未来 fparsec 匹配。
(这个生成解析的问题在僻静的解析圈子里有名字吗?)