我有一个DSL(用ANTLR实现),我需要编写内容辅助/自动完成编辑器。我已将我的语法原型移植到Xtext中,我对它生成的编辑器的质量非常满意。
不幸的是,我不能使用Eclipse作为我的编辑器。相反,我想使用Xtext语法生成一些我可以在Eclipse之外重用的工件。从我所看到的,我需要的最小工件集是:
有没有人试图在Eclipse之外使用Xtext?它依赖多少个外部库?
谢谢!
答案 0 :(得分:9)
对于后端部分(解析器/序列化器/格式化程序/元模型等),这不是问题,它将需要大约30个库/ 17MB。 ui部分需要eclipse。
你可以使用导出 - > runnable jar文件向导,以获取所需的所有依赖库
答案 1 :(得分:8)
基本上与Christian给出的答案相同,这只是指向How to Deploy Xtext to a Headless Plain-Java Environment的更详细描述的指针。如果您对使用语法生成的工件感兴趣,可以在XText FAQ
中找到一个片段。答案 2 :(得分:1)
您可以使用xtext应用程序的命令行模式。为此目的:您可以在工作流描述文件GenerationYourDSLName.mwe2中找到以下行
// generator API
fragment = generator.GeneratorFragment {
generateJavaMain = true
}
然后生成xtext工件
答案 3 :(得分:1)
使用Xtext 2.9,可以使用普通的旧Maven / Gradle构建独立于Eclipse的语言基础结构(并可能以IntelliJ IDEA或Web为目标)。在创建Xtext项目时,只需取消选中 Eclipse插件 facet,并将首选构建系统设置为 Maven 或 Gradle 。