问题标签 [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.
c++ - c++ 函数的解析器解析器?
是否有任何带有解析器的 C++ 函数的开源解析器实现?
找不到,不想使用 libClang,因为安装失败
parsing - FParsec 中的递归文法
我决定检查 FParsec,并尝试为 λ 表达式编写解析器。事实证明,渴望使递归解析变得困难。我该如何解决这个问题?
代码:
谢谢!
haskell - 以秒为单位的输入意外结束
我想解析这样的文件:
我的代码如下:
但是在运行时,它会抛出异常:
我不明白,为什么它说第 11 行,而我的 data.test 文件只有 10 行。所以我在几次尝试后都没有解决这个问题。
haskell - parsec 无法为 endBy 函数定义规则
我在为一种语言编写 parsec 规则时遇到问题 我有下一种语言定义(有问题的部分)
其中 WS 代表空格,LITERAL 是除空格或可以包含空格的引号字符以外的任何字符,因此,我编写了下一个函数:
问题是符号';' 是一个有效的文字,所以 (1) 函数解析它,因此存在解析错误,因为 (2) 找不到 ';' 特点。
有什么办法可以克服这个问题:要么让文字函数不接受';' 作为文字或以某种方式修复(2)?
在 sclv 发表评论后,我找到了解决方案:
haskell - Parsec 函数“parse”和“Stream”类的类型签名
(Stream s Identity t)
下面的类型声明中的约束是什么意思?
下面的类声明是什么Stream
,是什么意思。我完全迷路了。
当我使用 Parsec 时,我总是被类型签名 ( xxx :: yyy
) 所困扰。我总是跳过签名,将 src 加载到 ghci 中,然后将类型签名复制回我的 .hs 文件。它有效,但我仍然不明白所有这些签名是什么。
编辑:更多关于我的问题的观点。
我仍然对类型签名的“上下文”感到困惑:
手段a
必须是类的一个实例Show
。
这个“上下文”是什么意思,因为t
在=>
我有很多不同的解析器要运行,所以我编写了一个 warp 函数来运行任何带有真实文件的解析器。但问题来了:
这是我的代码,它无法加载,我怎样才能让它工作?
arrays - 使用数组解析haskell中的方案向量
我正在尝试在 48 小时内编写自己的计划教程,作为一个新的 haskell 人,这非常困难。我目前正在解决一个问题,我应该添加解析方案向量的能力(第 3.4 节练习 2)。
我正在使用这种数据类型:
要解析,我正在寻找 '#(' 然后尝试解析向量内容,将它们放入列表中并将该列表转换为数组。
我正在尝试使用我已经拥有并正在使用的列表解析功能,但它将方案列表解析到上面的 LispVal 列表中,我很难将其恢复到常规列表中。或者至少这就是我认为我的问题所在。
这是列表解析器:
有想法该怎么解决这个吗?谢谢,西蒙
-edit- 这是我得到的编译错误:
无法匹配预期类型
a -> LispVal' against inferred type
Parser LispVal' 在 parseList 的第二个参数中(.)' namely
' 在 lispValToList 的第二个参数中(.)' namely
。parseList' 在表达式中: listToArray 。lispValToList 。解析列表
haskell - Parsec 中的用户状态
我正在使用 Parsec 解析表达式,并且我想使用 Parsec 中的用户状态来跟踪这些表达式中的变量。不幸的是,我真的不知道该怎么做。
给定以下代码:
因此,u
inParsecT s u m a
将是Set.Set
. 但是我将如何将状态更新集成到 中var
?
我尝试了类似的东西modify $ Set.insert v
,但这不起作用,因为Set.Set
它不是状态单子。
haskell - Haskell:FRP 反应性 Parsec?
Haskell 中是否有(或可能有)反应式Parsec
(或任何其他纯函数式解析器)?
简而言之,我想逐个字符地为解析器提供数据,并获得与我提供的足够多的结果一样多的结果。
或者更简单,我怎么能做到foldr
或至少map
?
我们是否需要它们的不同版本来支持这种反应行为?
编辑
我的问题特别是关于 FRP。我以解析器为例,这是我能想到的最好的方法来澄清我的问题并全面了解我的需求。
我相信 FRP 不仅仅是关于 UI,对吧?
haskell - 简单的解析示例会产生类型错误
我正在尝试编译这个微不足道的 parsec 代码
但我不断收到此错误