У меня есть грамматика для конкретного DSL. Вот фрагмент (написанный в Xtext):
Vars: 'var' (vars += Var)
Var: ID (',' ID) * ':' Type ';'
А вот пример ввода:
var
a,b,c : int;
d,e: bool;
Меня очень интересует опция автоматической генерации кода Xtend, и я хочу иметь отдельный объект для каждой переменной, сохраняя ее id и тип. Используя синтаксис грамматики Xtex, все, что я могу сделать, это:
Var: ids+=ID (',' ids+=ID)* ':' type =[Type] ';'
Это означает, что у меня может быть более одного идентификатора в одном объекте. Как я могу хранить каждый «a», «b», «c» в одном объекте?