繁体   English   中英

语义分析

[英]Semantic Analysis

我们一直在探索为我们的平台编写外部DSL,其语法将与JAVA相似,但是生成的底层代码将有所不同。

我们进行了ANTLR旋转,还对开箱即用的Java语法文件进行了调整,以遵守我们的规则,下一步是语义分析,这有点困难,因此很好奇是否可以使用Java的免费语义分析器。 与语法文件类似,如果我们设法摆脱开箱即用的Java语义分析器代码,则可以对其进行调整以满足我们的需求。

此外,我们也正在研究Scala DSL功能。

在这方面的任何帮助表示赞赏。 谢谢

您可以从Eclipse源代码中获得很多帮助。 它具有公开的Java文件AST的公共API,并带有所有类型绑定的注释。 但是,我认为您会发现调整该代码非常具有挑战性。

Scala目前具有对宏系统的实验支持。 宏提供了一种方便,轻便的方式来定义新的语言功能; 它们使您可以定义DSL,而不必重复基础语言中的所有工作。 他们不能做所有事情,但是可以做很多事情,当他们适合任务时,创建和调试它们比编写一种全新的语言要容易得多。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM