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 类。我的挑战是开发语法文件看起来像

(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 生成的代码,来自 XCore 中表示的“元模型”,它是 EMF Ecore 的 DSL模型(您可以从现有的 Java 模型中导入...)然后我在https://github.com/vorburger/efactory上的 EMF 简单对象表示法 ESON(前 EFactory)可能对您感兴趣?

于 2014-02-08T20:22:38.167 回答