有没有人使用过Xtext、Spoofax和JetBrains的MPS等语言工作台工具?我想尝试其中的一个,但很难找到这些不同工具的好比较。每个工具的优缺点是什么呢?
我想构建生成Python代码的DSLs,因此特别想听听那些在Python中使用过这些工具的人的经验(所有三个工具似乎都集中在Java上...为什么呢?)。这些DSL主要是为了自己使用,所以我更关心的是定义语法和编写代码生成器的KISS而不是构建漂亮的IDE。能够对DSL进行类型检查/静态分析也是相当不错的。
我有一点害怕走得太远,撞墙后意识到我的所有代码都无法移植到其他地方-这些工具有这样的风险吗?尤其是MPS看起来有点可怕,因为据我所知,您并不真正生成基于文本的语法,而是为AST构建专门的编辑器。