18得票1回答
在斯坦福的解析树表示中,标签SBAR是什么意思?

当将原始句子 "After she ate the cake, Emma visited Tony in his room." 输入到Online Stanford Parser 工具中时,它会输出以下语法树表示形式:(ROOT (S (SBAR (IN After) ...

8得票4回答
Javascript语法测试案例

我正在创建一个文本编辑器,刚刚编写了高亮算法,使每个语法出现在不同的颜色中,并使用正确的解析树在正确的位置呈现。 我想知道是否有人可以提供测试用例或一系列测试用例的位置,以确保没有问题。测试案例应涵盖Web上使用的所有JavaScript语法,包括边缘情况(即包括语法,如throw,尽管很少...

7得票1回答
解析树中的一元负号和二元负号

我正在创建一个解析树,其中包含类似于 3 - 4 * 8 或 8 * -5 或 -(10 * 1) 的表达式。我需要一种方法来区分一元和二元减号。按照我的语法规则,二元减号先被执行,但我考虑改变这一点,并添加一个标志变量来保存最后一个变量。 例如:如果是 5 - 6 那...

28得票3回答
如何在ParserVisitor中获取行号?

我正在尝试在我的ParserVisitor(访问antlr生成的语法树)中获取行号以获得更具体的错误信息。然而,在这个类中我只有上下文ctx,我可以使用ctx.getText()这样的方式,但无法使用getLine()。有没有方法可以做到这一点? ctx.getPayload() 能在这里使...

15得票2回答
在C++中表示多次经过的抽象语法树(AST)?

我目前在探索设计一个编译器,该编译器将其AST转换为多个阶段。这个想法是从解析树开始,每个阶段都会转换树,直到生成的AST被优化并且包含树中每个节点所需的所有信息,以便生成中间代码(在本例中为LLVM IR)。对树进行一次遍历可能会显着改变其结构,例如通过operator precedence...

7得票4回答
如何将令牌流转换为解析树

我已经构建了一个从输入流中输出令牌的词法分析器,但是我不确定如何构建下一步 - 解析树。有没有人有关于如何完成这个过程的好资源或示例?

7得票2回答
TurboParser 的依存分析输出是什么意思?

我一直在尝试使用CMU's TurboParser生成的依赖解析树。它运行无误。然而,存在非常少的文档资料。我需要精确地理解他们的解析器输出。例如,句子“I solved the problem with statistics.”会生成以下输出: 1 I _ PR...

8得票2回答
从语法中提取标记

我今年一直在使用Perl6解决Advent of Code问题,试图使用语法来解析第3天的输入。 给出这种形式的输入:#1 @ 1,3: 4x4和我创建的这个语法: grammar Claim { token TOP { '#' <id> \s* '@' \s* &...

10得票1回答
在Scala 2.10的抽象语法树中进行搜索

如何在Scala 2.10 AST中递归搜索元素? 这些树可能是power.trees(code)或mirror.mkToolBox().parseExpr(code)的结果。 编辑。在2.10.0-RC1中,parseExpr已重命名为parse。 我具体想要做的是通过方法名从给定类/对...

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

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