2

我想构建一种可以转换为现有语言(例如python、SQL)的领域特定语言。我尽量避免构建一个成熟的编译器,并研究了XtextXpand。它们看起来很合理,因为 Xtext 将用于设计语法并生成解析树,Xpand 将使用解析树生成现有语言的代码(如果我错了,请纠正我)。

您对此有何看法?您认为我可以使用 XText 和 Xpand 更好的替代品来实现我的目的吗?

4

1 回答 1

1

您可以考虑 DMS 软件再造工具包。

它旨在提供通用程序(例如,任意语言或 DSL)解析、分析和转换。它从上下文无关语法自动生成 AST,为构建符号表和进行流分析提供支持,具有源到源转换以启用翻译,以及来自 AST 的完整漂亮打印机。所有这些机器的目的是使构建和支持强大工具的工作最少。

(我是它背后的负责人。我相信 DMS 在这方面比 Xtext 成熟得多,已经使用了 13 年以上。YMMV)。

于 2013-01-23T18:27:59.640 回答