0

XTextで開発するためにこのような要件があります

次のようなPOJOクラスのセットがあります(これについて図を描くことができませんでした。これが明確であることを願っていますenf)

( A_POJO )  ------- Level 1

( B_POJO extends A_POJO ) ------- Level 2
( C_POJO extends A_POJO ) ------- Level 2

( D_POJO extends C_POJO ) ------- Level 3
( E_POJO extends C_POJO ) ------- Level 3
( F_POJO extends C_POJO ) ------- Level 3

そして、このDSLを開発するEclipseのクラスパスにこのPOJOクラスを配置します。そして、私のチャラージュはdevelopa文法ファイルが次のように見えることです

(B_POJO or child class of it) name=ID {
    [
        (C_POJO or child class of it) name=ID {Attribute of (C_POJO)}
        (C_POJO or child class of it) name=ID {Attribute of (C_POJO)}
        (C_POJO or child class of it) name=ID {Attribute of (C_POJO)}
        (C_POJO or child class of it) name=ID {Attribute of (C_POJO)}
        (C_POJO or child class of it) name=ID {Attribute of (C_POJO)}
    ]
}

サンプルは次のようになります

User xx {
    [
        vField userName {length=25}
        vField firstName {length:50}
        vField otherNames {length:100}
        vField password {length:25}
        vField email {length:100}
    ]
}

指定された POJO から駆動されるこの種の動的な作業のために xText グラマーを実行する方法については、どんなアイデアでも本当に感謝しています。

4

1 に答える 1

0

質問は明確ではありませんが、「POJOクラス」と呼ばれるものが、EMF EcoreのDSLであるXCoreで表現された「メタモデル」からのEMF生成コードである場合、またはそれに変換できる場合モデル (既存の Java モデルからインポートできます...) なら、 https: //github.com/vorburger/efactory にある私の EMF Simple Object Notation ESON (ex-EFactory)に興味があるでしょうか?

于 2014-02-08T20:22:38.167 に答える