从 grako 翻译时 XText 中的节点 label/key
node label/key in XText when translating from grako
在 grako 中,可以使用以下 name:e
使用名称作为键将 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
行为,但没有取得多大成功。
对于您的解决方案,只有最后一个 ID 在 AST 中可用。我假设 var
应该是一个包含所有 ID 的多值特征,而不仅仅是最后一个。这可以表示为
var_def:
var+=ID (',' var+=ID)*;
在生成的 AST 中 var
是一个 ID 列表。
在 grako 中,可以使用以下 name:e
使用名称作为键将 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
行为,但没有取得多大成功。
对于您的解决方案,只有最后一个 ID 在 AST 中可用。我假设 var
应该是一个包含所有 ID 的多值特征,而不仅仅是最后一个。这可以表示为
var_def:
var+=ID (',' var+=ID)*;
在生成的 AST 中 var
是一个 ID 列表。