Xtext:多变量声明随机分解为许多单变量声明

时间:2012-03-02 01:29:31

标签: grammar dsl xtext

我正在使用Xtext,我对DSL中变量的定义感到奇怪。我使用DSL来定义输入模型,对其进行操作,然后将其序列化为输出模型。

我的操作不会以任何方式影响变量声明,但我得到一些非确定性行为。例如,当我的输入是:

variables : {v, k}

有时候输出是相同的(这很好)但有时它会产生:

variables : {v}
variables : {k}

我的语法的相关片段是:

Problem:
.....

('variables'':''{'
    varDecl +=VariableDeclaration (',' varDecl +=VariableDeclaration)* '}'
)? &

.....
;

VariableDeclaration:
    name =ID
;

为什么我会得到这种行为和/或如何解决这个问题?

0 个答案:

没有答案