![]() |
1
5
我认为问题在于,我假设f(因为我不知道),箭头是正确的联想。我不知道连接语法应该有多精确,因为我不太精通不同的语法。但如果我们可以假设箭头是正确关联的,那么问题就更容易解决了。 因此,有了这个假设,我们可以轻而易举地做到:
所以:
进一步展开,可能会让您感到困惑的是,在该语法中,它表示type->type,这意味着您可以在左侧有一个箭头。没关系,但必须放在括号里。这有帮助,也许看到下面的行动是有帮助的。它帮助了我。
现在我们可以在箭头的左边或右边写箭头:
|
![]() |
2
4
我认为你应该把左递归排除在语法之外。而不是
你得到一些像
我认为这将更容易直接翻译成parsec。(人们会认为
也可以考虑看看 Monadic Parser Combinators in F# (以及之前7篇C博客文章)了解一些基本信息。我认为 parsec docs (如果我没记错的话,试着自上而下地读一下,它们很不错)以及各种研究论文中的一些例子都谈到了一些问题,比如你的问题。 |
![]() |
3
0
这不会帮助你理解哪里出错,但我建议你考虑使用
|
![]() |
trpnd · 如何定义由两个任意单声道变压器组成的单声道变压器? 2 年前 |
![]() |
Fabus1184 · Haskell mapM_不打印 2 年前 |
![]() |
Gotthold · 基于范数约束向量的类型 2 年前 |
![]() |
jian · haskell将另一个函数用作输入参数 2 年前 |
![]() |
Jocafrei · 用Haskell函数实现最大公约数函数 6 年前 |