有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从ANTLR语法创建树

我已经编写了一个ANTLR语法文件,现在我需要生成一个邻接矩阵,告诉我语法中的哪个规则与哪个规则关联。 例如:- 开始:(‘show’|‘give’|‘get’)‘me’(‘all’)?短语 |“我”“想要”“全部”“?短语 |短语

短语:短语(('and')?(短语)* |构造词短语和('its'|'this')构造词短语 |构词短语功能短语 |功能短语 ;

在这里,我们有我想与对方联系。。所以我需要读取语法文件并生成一个邻接矩阵


共 (2) 个答案

  1. # 1 楼答案

    解析ANTLR语法并不困难。我这样做是我工作的一部分

    您需要ANTLR元语法并从中生成解析器。然后使用它将您自己的语法加载到一个可以用来生成矩阵的结构中

    首先,您可以使用the ANTLR grammar parser I have created,但这是针对C/C++目标,而不是Java。所以,你必须得到ANTLR3。从ANTLR主页创建一个文件,并从中创建您自己的解析器

  2. # 2 楼答案

    我在githubhttps://github.com/julianthome/inmemantlr上创建了一个项目,该项目采用g4语法定义和一个包含要解析的实际内容的文本文件。它将自动为您生成一个AST,其中节点包含解析规则和与该规则关联的令牌。这可能对你的目的有用

    它是用Java编写的,你可以插入任何你喜欢的g4文件。。。解析器生成和AST生成是自动完成的。代码示例可以在测试用例中找到

    致以最良好的祝愿和亲切的问候 朱利安