我想了解 Eclipse 建模框架 ( EMF ) 相对于 DSL 的传统编译器开发的补充功能。
我清楚地理解 EMF 开发流程通常始于元模型的定义(或标准化模型的重用;如 UML),但这似乎与编译器中 AST 定义(例如 00 语言)的活动没有太大区别民俗学。由于异构技术,这甚至增加了补充工作。
然而我猜想,元模型通常可能比 AST 类具有更多的信息,因为它们显示为图形,因此 EMF 工具可以利用这些信息进行上下文检查。这就是区别吗?值得付出努力吗?
我也明白像 Xtext 这样的工具可能会以某种方式填补两个社区之间的空白。