Xtext中逗号分隔的变量列表

时间:2014-08-10 19:46:18

标签: dsl xtext xtend

我有特定DSL的语法。这是一个片段(用Xtext编写):

Vars: 'var' (vars += Var) 
Var: ID (',' ID) * ':' Type ';'

这是一个示例输入:

var
  a,b,c : int;
  d,e: bool;

我对Xtend自动代码生成选项非常感兴趣,并希望每个变量都有一个对象,存储它的 id 和它& #39; s 类型。使用Xtex语法synatx我所能做的就是:

Var: ids+=ID (',' ids+=ID)* ':' type =[Type] ';'

这意味着我可能在一个对象中有多个ID。如何存储每个',''' c'在一个对象中?

1 个答案:

答案 0 :(得分:1)

无法将每个变量与其类型一起存储。您必须实现一些遍历模型的逻辑才能找到类型。您可以使用Var本身的派生属性执行此操作。