我们一直在探索为我们的平台编写外部DSL,语法将类似于JAVA,但是生成的底层代码将略有不同。
我们给了一个ANTLR旋转,也调整了JAVA语法文件以遵守我们的规则,下一步是语义分析,这有点困难,所以我很好奇是否有免费的java语义分析器。类似于语法文件,如果我们设法获得开箱即用的JAVA语义分析器代码,那么我们可以调整它以满足我们的需要。
此外,我们还在研究Scala DSL的特性。
在这方面的任何帮助都是值得感谢的。谢谢
发布于 2012-08-26 00:07:02
Scala目前有对macro system的实验性支持。宏提供了一种方便、轻量级的方式来定义新的语言特性;它们允许您定义DSL,而不必重复基础语言中的所有工作。它们不能做所有的事情,但它们可以做很多事情,而且当它们确实适合任务时,它们比编写一门全新的语言更容易创建和调试。
发布于 2012-08-25 18:23:12
您可以从Eclipse源代码中获得很多帮助。它具有公开Java文件AST的公共API,并使用所有类型绑定进行注释。然而,我认为您会发现调整代码非常具有挑战性。
https://stackoverflow.com/questions/12121124
复制相似问题