xtext中antlr的用途

时间:2013-01-16 23:56:43

标签: antlr xtext

我是Xtext的新手,想知道antlr在xtext中的用途是什么。到目前为止我已经理解了,antlr基于语法生成一个解析器,然后解析器处理文本模型。对? 那么其他生成的东西,比如编辑器或ecore。 xtext背后是否有生成它们的其他组件?

2 个答案:

答案 0 :(得分:2)

Xtext需要一个解析器生成器来为您定义的语言生成解析器。他们本可以建造自己的一个。他们选择使用ANTLR。

我不知道他们可能选择使用的其他第三方机器。

答案 1 :(得分:0)

我一直在攻击一个基于Xtext的插件,从我看到的我觉得它的工作原理如下: Xtext有自己的BNF语法,与ANTLR语法非常相似。实际上它是它的子集。

Xtext接受你的语法,并从中生成一个ANTLR(.g文件)。生成的ANTLR语法会为您的BNF规则添加特定操作。动作代码与Xtext运行时交互,并且(可能)与Eclipse本身交互。使用一些旧版本的ANTLR处理.g文件,并生成.java文件。然后编译该文件。