1

有人可以向我解释 xtext 中生产规则和数据类型规则之间的区别吗?到目前为止,我知道两者都是解析器规则,Datatype Rule 返回一个原始 EDataype,生产规则在 AST 中创建一个 EObject。但我看不出它们的语法定义有什么不同:

数据类型规则:十进制:INT '.' 整数;

生产规则:模型:(stats += Statement)*;

解析器如何知道哪个是什么规则?

4

1 回答 1

4

解析器使用解析器规则的(推断的)返回类型来区分产生式和数据类型。如果返回的类型是 EMF EDataType,则该规则为数据类型规则,否则为生产规则。

这篇文试图强调 Xtext 中各种规则之间的一些差异。

于 2013-01-18T09:39:33.183 回答