问题标签 [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.

0 投票
1 回答
578 浏览

parsing - 在 Parsec.Token 中重新定义“stringLiteral”标记

我正在使用 Parsec 库在 Haskell 中开发 Pascal 语言解析器,我需要重新定义 Parsec.Token 类中定义的一些标记。

说到它,这是我的情况:

我需要更改stringLiteral令牌的匹配方式。在默认定义中,它是一些东西between char '"'见这个),但我需要它是between '\''(撇号)。如何对 Parsec 行为进行此修改?

谢谢!!!

0 投票
3 回答
2556 浏览

parsing - 秒级调试

我一直在使用 parsec,但在调试代码时遇到了麻烦。例如,我可以在 ghci 中设置断点,但我不确定如何查看消耗了多少输入,或者类似的东西。

是否有工具/指南可以帮助调试 parsec 代码?

0 投票
3 回答
1507 浏览

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!

0 投票
1 回答
343 浏览

haskell - Parsec:预测解析

我只有很少的 haskell 技能,我需要帮助如何使用 parsec 实现预测解析 (LL*)。

我有上下文无关语法:

基于http://research.microsoft.com/en-us/um/people/daan/download/parsec/parsec.pdf(章节预测解析器)我写了这段代码:

我希望这段代码尝试匹配'(',如果不是,解析器将继续并仅匹配标识符。此代码仅适用于匹配标识符'('args')'。

仅在标识符“a”上调用它会抛出:

0 投票
1 回答
1228 浏览

haskell - Concat解析结果

我可以创建一个解析器,它可以处理两个或三个数字,用逗号分隔,如下所示:

只有数字很重要,其余的可以丢弃。有没有办法连接中间解析结果(n1,n2,n3)来处理它input?例如 Scala 的 parser-combinator 可以这样做:

我想这样做是为了在不同的地方对解析器进行模式匹配。例如,在 Scala 中,我可以这样做:

其中 input 是要解析的字符串。parsec 是否具有允许类似行为的内置函数?如果不是我自己如何建立这样的行为?

0 投票
1 回答
380 浏览

html - Haskell:为什么我的解析器不能正确回溯?

我决定自学如何使用Parsec,我在分配给自己的玩具项目中遇到了一些障碍。

我正在尝试解析 HTML,特别是:

我的代码是:

问题似乎是我的解析器不喜欢结束标签 - 它似乎贪婪地假设<总是意味着一个开始标签(据我所知):

我已经玩了一段时间了,我不确定为什么它没有回溯到char '<'比赛之后。

0 投票
1 回答
1849 浏览

haskell - Haskell Text.Parsec.Combinator 选择不会回溯

我正在尝试用 parsec 解析一些文本:

我期待choice尝试匹配“leave”,如果失败,则尝试“login”等。但它只尝试匹配“leave”,如果失败,则会出错。

我究竟做错了什么?

0 投票
1 回答
2654 浏览

haskell - Haskell:使用 Parsec 和 IO 解析文件

所以我仍然在尝试使用 Parsec,但我正在慢慢地将它融入我的工具箱。

当我有一个需要解析的文件时,我发现自己将文件作为字符串读取,然后将内容传递给解析:

不过,这似乎是一种相当常见的模式——我可以使用一些现有的函数来接受 aParsecT String u IO a和 aFilePath并解析内容吗?我在hoogle中找不到任何东西,但这可能只是想象力的失败。

0 投票
0 回答
408 浏览

antlr - parsec 是 ANTLR 的替代品吗?

我正计划为我的特定目的创建一种小型编程语言。我读过 ANTLR3 非常适合这样的目标。让我问一下 Parsec 是 ANTLR3 的可能替代品还是属于不同的类别。

非常感谢。

0 投票
1 回答
302 浏览

f# - 使用 F# 解析日期

是否有一些“日期解析器”库对日期执行 FParsec 对字符串的处理?

也就是说,您可以指定规则,它会匹配它们以识别提供的模式。


相反,是否有任何库可以根据一些解析规则生成日期?这个想法是为用户提供“实时”完成,以指导他进行有效的未来 fparsec 匹配。

(这个生成解析的问题在僻静的解析圈子里有名字吗?)