2017-10-31 2 views
0

は:Xtextは、複数の継承を持つEcoreモデルを生成するときに機能を「分解」することができますか?私は、次の文法がある場合

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals 

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" 

WithX: 
    A | B | C; 

A: 
    "a" x=INT y=INT; 

B: 
    "b" x=INT y=INT; 

C: 
    "c" x=INT; 

をその後のXtextはxを因数分解するために素敵なスーパークラスでは、次のたEcoreモデルを生成します。

Ecore model generated from the first grammar

しかし、私は、ルールを追加した場合文法も因数分解するy

T鶏は、生成されたEcoreモデルは、もはや任意の機能を因数分解しない:

Ecore model generated from the second grammar

WithYWithXxyを取得する任意の待ち時間はありますか?

答えて

0

私はちょうど私自身の質問に答えました。

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals 

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl" 

WithX: 
    WithY | C; 

WithY: 
    A | B ; 

A: 
    "a" x=INT y=INT; 

B: 
    "b" x=INT y=INT; 

C: 
    "c" x=INT; 

そして、それは今生成します:私は単にWithXWithYとの間の関係を追加する必要がありました

Ecore model generated from fixed grammar

万歳:)

関連する問題