Xtext:在一个项目中定义 2 个 DSL

Xtext: define 2 DSL's in one project

如何在一个 Eclipse 项目中定义两个 DSL?

第一个 DSL 用作用户指定设计的输入语法。设计需要转换成不同的语言。不同的语言由第二个 DSL 定义。对于转换,我打算使用 Epsilon 转换语言 (ETL)。

您的用例不需要在一个项目中拥有两个 dsl。如果你想这样做,你可以在工作流程中添加多个语言部分,比如

    language = StandardLanguage {
        name = "org.xtext.example.mydsl.MyDsl"
        fileExtensions = "mydsl"

        serializer = {
            generateStub = false
        }
        validator = {
            // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
        }
    }

    language = StandardLanguage {
        name = "org.xtext.example.otherdsl.OtherDsl"
        fileExtensions = "mydsl2"

        serializer = {
            generateStub = false
        }
        validator = {
            // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
        }
    }