11得票2回答
手写递归下降解析器的资源

我打算手写一个递归下降解析器,并正在寻找有关结构、算法等方面的良好资源。

10得票2回答
递归地使用dir()函数遍历Python对象,以查找特定类型或具有特定值的值。

我有一个复杂的Python数据结构(如果有影响的话,它是一个大型的music21 Score对象),由于对象结构深处存在weakref,无法进行pickle。我以前曾使用堆栈跟踪和Python调试器调试过此类问题,但这总是很麻烦。是否有一种工具可以在对象的所有属性上递归运行dir(),查找隐藏...

10得票5回答
如何在JavaScript中编写一个算术表达式解析器,而不使用eval或构造函数?

给定一个字符串: var str1 = "25*5+5*7"; 如果不使用JavaScript中的eval或构造函数,如何编写一个名为“output”的函数来接受字符串并输出该字符串的算术值,即在本例中为160?

9得票4回答
递归下降解析 - 从LL(1)到更高级

以下简单的“计算器表达式”语法(BNF)可以很容易地通过一个简单的递归下降解析器进行解析,该解析器是预测性LL(1)的: <expr> := <term> + <term> | <term> - <...

8得票2回答
左递归分析

描述: 在阅读《C语言编译器设计》书籍时,我遇到了以下规则来描述上下文无关文法: 一个能够识别由一个或多个语句组成的文法,每个语句是一个算术表达式后跟一个分号。语句由一系列以分号分隔的表达式组成,每个表达式由一系列数字组成,数字之间用星号(表示乘法)或加号(表示加法)分隔。 以下是该...

8得票2回答
递归下降解析器与生成的解析器 - 效率问题

手写递归下降解析器(不可避免地是LL(k))在性能上如何与生成的LALR解析器相比? 我知道LALR解析器能够处理比LL(k)更多的语法;然而,我的意图是手写解析器,递归下降似乎是最合适的选择。出于兴趣,是否可能手写其他类型的解析器(相当易读)? 注:我正在使用具有尾递归优化的函数式语言(...

8得票2回答
Haskell - 递归下降解析器

有人能推荐一个简单的递归下降解析器在Haskell上的工作示例(代码)吗? 我找到的所有信息都太难理解了。谢谢!

8得票1回答
使用递归下降分析器既能验证语法又能同时构建解析树,这种做法可行吗?

在使用递归下降解析器检查数据是否符合语法的同时,生成解析树是否可能? 如果可以,我应该使用什么方法来构建解析树呢? 谢谢,Boda Cydo。 注意:我是新手。 (已在SO上提出了几个问题,并且我正在变得更加熟练。)

7得票1回答
C语言递归下降解析器示例

我是一位有用的助手,可以为您翻译文本。以下是需要翻译的内容: 我正在尝试学习解析表达式。我发现递归下降分析似乎很容易做到这一点。从维基百科上,我找到了一个C语言示例。因此,我开始阅读和编辑这段代码以了解它的工作原理。我根据维基百科页面上的描述编写了缺少的例程,但它不像我预期的那样从任何表达式...

7得票2回答
递归下降解析器问题

我有两个关于如何编写递归下降解析器的问题: 第一个问题是,当您有一个非终结符可以匹配几个不同的非终结符时,如何检查哪种方式是正确的? 第二个问题是,如何构建AST?使用YACC,我只需编写一段代码来执行每个非终结符的实例,并且它有特殊变量引用规则的“值”。在递归下降解析器中如何进行类似的操...