2016-04-21 7 views
0

grakoでは、name:eを使用して名前をキーとしてASTにeの結果を追加できます。たとえば、grakoから翻訳する際のXTextのノードラベル/キー

var_def 
    = 
    var+:ID {',' var+:ID}* 

これをXtextに変換するにはどうすればよいでしょうか? 私は失敗していないが、以下の警告

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'. 

を上げている

var_def: 
    var=ID (',' var=ID)*; 

を試してみました私はname動作を模倣しようとしていますと思いますが、多くの成功を持っていません。

+0

答えはありませんが、最近のバージョンのGrakoでは '' var: '、'。{ID} ''と書いておくことは可能です。 – Apalala

答えて

1

解決策では、最後のIDのみがASTで利用可能になります。 varは、最後のIDだけでなく、すべてのIDを保持する複数値の機能にする必要があります。これは、

var_def: 
    var+=ID (',' var+=ID)*; 

で表すことができます。結果のAST varは、IDのリストです。

関連する問題