问题标签 [parse-tree]

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 回答
905 浏览

syntax - 用于打印解析字符串的语法的语法定向定义

---> 考虑下面的语法:

对于上面给出的语法,编写打印正在解析的字符串的语法指导定义,并为字符串“bddcab”构造一个带注释的解析树。

解决方案:

现在重写上面的语法我们有:

上述语法以及语义规则。

这个解决方案好吗?我有一种感觉,它可能不准确。

这是带注释的解析树。在此处输入图像描述

0 投票
2 回答
2814 浏览

bison - 如何使用 Bison 打印解析树?

我已经实现了一个解析器,但它不打印任何东西。yyerror()如果给定的输入在语法上是错误的,尽管我将它包含在例程中,但它不会打印“错误” 。此外,如果输入正确,它不会打印 Parse 树。这可能是什么原因?我已将我main()的文件放入.lex文件而不是.y文件中。这是可能的原因吗?这是主要方法:


语法文件是:


这是我的.lex文件的外观:

0 投票
3 回答
1002 浏览

algorithm - 根据霍纳的方案,将多项式的解析树转换为其评估的解析树

您能否指出一种算法,该算法采用(二进制)解析树来评估单个变量中的多项式表达式,并返回一个等效的解析树,该解析树根据霍纳规则评估多项式。

预期的用例在表达式模板中。这个想法是,对于一个矩阵x,解析树从

会被优化成对应的解析树

0 投票
1 回答
3285 浏览

c++ - 将解析树转换为 AST(抽象语法树)C++

我有一个解析树,它解析出一堆 char (stack<stack<char>>)。这会将字符放入解析树中。我的问题是如何将此解析树转换为 AST 以对其进行评估?

我有评估器为 AST 工作,我只需要将树转换为语法即可对其进行评估。

任何帮助,将不胜感激。

这是我要完成的工作的图片

0 投票
2 回答
911 浏览

regex - 我们可以使用 DFA 来解析 Context-Free Grammar 指定的正则语言并生成解析树吗?

众所周知,DFA 可用于验证常规语言中的字符串。

示例 1. L=ac(b)*bcb|ad(b)*bb。DFA 可以验证字符串“acbbbcb”是否正确。

此外,有时,常规语言可以用 CFG 表示。

示例 2。

  • S -> "a" A "b"
  • A -> "c" B "c" | “D b
  • B -> "b" B | “乙”

上述CFG生成的语言就是例1中的正则表达式。

这意味着,我们可以使用 DFA 来验证此 CFG 生成的(常规)字符串。但是,我们如何生成相应的解析树呢?

0 投票
1 回答
5726 浏览

c++ - 解析树中的一元和二元减号

我正在创建一个包含类似于以下表达式的解析树

3 - 4 * 8

或者

8 * -5

或者

-(10 * 1)

我需要一种方法来区分一元和二元减号。我的语法现在的方式是首先达到二进制减号,但我正在考虑更改它并添加一个包含最后一个变量的标志变量。

例如:如果是5 - 6

该标志持有 5,如果它看到减号并且标志是一个数字,则跳过一元并转到二进制。

但是我不确定如何在 C++ 中实现这一点

任何帮助将不胜感激。

谢谢

0 投票
1 回答
327 浏览

ruby - ruby_parser、AST 在 1.8.7 之前的版本和 ruby​​ 中的 S-expression 的用法?

最近我正在将在 ruby​​ 1.8.7 中使用 ParseTree 的 ror 项目转换为 ruby​​ 1.9.3

发现 ParseTree 不能与 1.9.3 一起使用,在一堆 googlers 中搜索它,仍然坚持一些代码迁移

找到了各种替代方案,如 ruby​​_parser、sourcify、parse_tree_reloaded 等...

所有这些都有其局限性,例如 sourcify 无法进行动态分析解析,即。eval 的用法。

通过所有这些,我想知道 Ruby 社区中 AST/Parsing/SExp 的最佳用法,如果我不选择 AST 路径,ruby 1.9.3 中的替代方案是什么?

一些用例指针将不胜感激。

谢谢。

0 投票
1 回答
284 浏览

scala - 在 scala 2.10 AST 中搜索

在 scala 2.10 AST 中递归搜索元素的最佳方法是什么?

树可能是power.trees(code)mirror.mkToolBox().parseExpr(code) Edit的结果。在 2.10.0-RC1parseExpr中已重命名为parse.

我所拥有的具体用例是通过方法名称从给定的类/对象代码中提取方法的代码,但我认为如果以更通用的方式表述,该问题将与其他问题更相关。

0 投票
2 回答
7668 浏览

python - 使用 Python 2.7 的 HTML 解析树

我试图为下面的 HTML 表配置一个解析树,但无法形成它。我想看看树结构的样子!有人可以帮我吗?

编辑

0 投票
1 回答
3826 浏览

nlp - 如何在斯坦福 CoreNLP 中获取短语标签?

如果我想获取每个单词对应的短语标签,我该如何获取?

例如 :

在这句话中,

我的狗也喜欢吃香肠。

我可以在斯坦福 NLP 中得到一个解析树,例如

在上述情况下,我想获得与每个单词对应的短语标签,例如

有什么方法可以简单地提取短语标签吗?

请帮我。