作为一个实验项目,我想尝试在 JavaScript 之上实现一些 DSL。 Xtext似乎是一个很好的起点,因为它具有很好的开箱即用的 Eclipse 集成。我希望从现有的 Xtext JavaScript 实现开始,但找不到。
似乎其他人也没有运气。http://www.eclipse.org/forums/index.php/m/756376/
Xtext 是为此而设计的吗?就我的目的而言,它和 Antlr 之间的主要区别是什么?
作为一个实验项目,我想尝试在 JavaScript 之上实现一些 DSL。 Xtext似乎是一个很好的起点,因为它具有很好的开箱即用的 Eclipse 集成。我希望从现有的 Xtext JavaScript 实现开始,但找不到。
似乎其他人也没有运气。http://www.eclipse.org/forums/index.php/m/756376/
Xtext 是为此而设计的吗?就我的目的而言,它和 Antlr 之间的主要区别是什么?
这个问题本身有点令人困惑。
你想用 JS 实现 DSL 吗?(“JavaScript 之上的 DSL”)在这种情况下,您可以在这里找到一个起点:http: //www.mailsend-online.com/blog/a-dsl-in-javascript.html。此外,本文还通过实际编译成 JS 的 CoffeScript 描述了几个用例。
或者:你想实现一个描述 JS 文件的 DSL 吗? 为 JavaScript 定义语法将是一项巨大的工作。当然,您可以使用 Xtext 来做到这一点,但它仍然很大。使用 Xtext,您可以使用 EBNF 符号定义语法,然后使用 MWE 工作流程,为基本的文本建模环境生成所有必要的工件:解析器、词法分析器、编译器、元模型工件、编辑器 GUI 等。在后台, Xtext 使用 ANTLR 解析输入文件,例如在 GUI 上编辑的文件。因此,如果您想“重用”现有语法,您应该查看 ANTLR 的语法列表:http ://www.antlr.org/grammar/list 。(ECMAScript 是您可能正在寻找的。)