12

我有一个 DSL(用 ANTLR 实现),我需要为此编写一个内容辅助/自动完成编辑器。我已经将我的语法原型移植到 Xtext,我对它生成的编辑器的质量非常满意。

不幸的是,我不能使用 Eclipse 作为我的编辑器。相反,我想使用 Xtext 语法来生成一些我可以在 Eclipse 之外重用的工件。从我所见,我需要的最小工件集是:

  • EMF 模型,
  • 解析器,
  • *ProposalProviders,和
  • 所需的库。

有没有人尝试在 Eclipse 之外使用 Xtext?它依赖多少个外部库?

谢谢!

4

4 回答 4

10

对于后端部分(解析器/序列化器/格式化程序/元模型等)这不是问题,它将需要大约 30 个库/17MB。ui部分需要eclipse。

您可以使用导出 -> 可运行 jar 文件向导来获取您需要的所有依赖库

于 2011-10-21T19:50:20.287 回答
8

与 Christian 给出的答案基本相同,这只是指向如何将 Xtext 部署到无头普通 Java 环境的更详细描述的指针。如果您对使用从语法生成的工件感兴趣,可以在XText 常见问题解答中找到一个片段

于 2011-11-02T16:06:51.700 回答
1

您可以使用 xtext 应用程序的命令行模式。为此目的:您应该在工作流描述文件 GenerationYourDSLName.mwe2 中包含以下几行

// generator API
fragment = generator.GeneratorFragment {
  generateJavaMain = true
}

然后生成 xtext 工件

于 2015-09-17T15:33:05.523 回答
1

使用 Xtext 2.9,可以使用普通的旧 Maven/Gradle 构建独立于 Eclipse(并且可能针对 IntelliJ IDEA 或 Web)的语言基础架构。只需在创建 Xtext 项目时取消选中Eclipse 插件方面并将Preferred Build System设置为MavenGradle

于 2015-11-11T08:49:17.137 回答