是否有人有使用 Xtext、Spoofax 和 JetBrains 的 MPS 等语言工作台工具的经验?我正在尝试一个,并且很难找到不同工具的良好比较。各自的优缺点是什么?
我正在寻找构建生成 python 代码的 DSL,所以我特别想听听那些在 python 中使用过这些工具之一的人的来信(这三个工具似乎都非常关注 Java ......为什么会这样?)。DLS 主要是供我自己使用的,所以我不太关心构建一个非常漂亮的 IDE,而是关心它是 KISS 来定义语法和编写代码生成器。对 DLS 进行类型检查/静态分析的能力也很酷。
我有点害怕走得太远,碰壁,并意识到我所有的代码都是一种无法移植到其他任何东西的格式——这些工具有风险吗?特别是 MPS 似乎有点可怕,因为据我了解,您并没有真正生成基于文本的语法,而是为 AST 构建专门的编辑器。