在grako中,可以使用以下name:e
使用name作为键将e的结果添加到AST。例如
var_def
=
var+:ID {',' var+:ID}*
这对Xtext有什么好的翻译? 我试过了
var_def:
var=ID (',' var=ID)*;
没有失败,但是提出了以下警告
Multiple markers at this line
- The possibly assigned value of feature 'var' may be overridden
by subsequent assignments.
- This assignment will override the possibly assigned value of
feature 'var'.
我想我试图模仿name
行为,但没有取得多大成功。
答案 0 :(得分:1)
使用您的解决方案,AST中仅提供最后一个ID。我假设var
应该是一个包含所有ID的多值功能,而不仅仅是最后一个ID。这可以表示为
var_def:
var+=ID (',' var+=ID)*;
在结果中,AST var
是一个ID列表。