0

コンテナーとモジュールのリストを解析し、これらのコンテナーをアルファベット順に生成できる文法があります。ただし、モジュール名もコンテナー リストに追加したいと考えています。

例えば:

With the configuration:
CONTAINER cont1;
CONTAINER cont2;
MODULE external WITH PRIORITY 1;
MODULE internal WITH PRIORITY 2;


The generated file should have:
main()
{
  Container(cont1);
  Container(cont2);
  Container(external);
  Container(internal);
}

CONTAINER 構成にあるものを生成できました。しかし、モジュール名「internal」と「external」をコンテナーにマージしたいと考えています。次に、それらをアルファベット順に並べ替えます。

xtextでこれを行う方法はありますか? そして、これはジェネレーターまたはスコープ部分に属しますか?

4

1 に答える 1

2

これはジェネレーターに入る必要があります。必要なもの すべてCONTAINERMODULEノードのリストを生成します。Xtend でジェネレーターを作成したと仮定します。

val list = Lists.newArrayList( model.containers )
list.addAll( model.modules )

並べ替えられたリストを反復処理します。

for( part : list.sortBy(e|e.name) ) {
    part.generateContainer()
}

次に、タイプごとに 1 つの generateContainer() メソッド。

于 2013-02-20T08:49:26.110 に答える