我是 Xtext 的新手,想知道 antlr 在 xtext 中的用途是什么。到目前为止,据我所知,antlr 根据语法生成解析器,然后解析器处理文本模型。正确的?那么其他生成的东西呢,比如编辑器或ecore。xtext 背后是否有其他组件生成它们?
问问题
265 次
2 回答
2
Xtext 需要一个解析器生成器来为您定义的语言生成解析器。他们本可以建造自己的。他们选择使用 ANTLR。
我不知道他们可能选择使用什么其他第三方机器。
于 2013-01-17T00:01:20.100 回答
0
我一直在破解一个基于 Xtext 的插件,据我所见,我认为它的工作原理是这样的:Xtext 有它自己的 BNF 语法,这与 ANTLR 非常相似。实际上它是子集。
Xtext 获取您的语法,并从中生成 ANTLR 语法(.g 文件)。生成的 ANTLR 语法将特定操作添加到您的 BNF 规则中。操作代码与 Xtext 运行时以及(可能)与 Eclipse 本身进行交互。使用一些旧版本的 ANTLR 处理 .g 文件并生成 .java 文件。然后编译该文件。
于 2013-01-17T17:56:06.187 回答