我对 ANTLR 和语法有一定的了解。说 ANTLR 可以进行源语言到目标语言的转换,如 ASP 到 JSP 或 COBOL 到 JSP 的转换是否正确?如果是的话,你能帮我提供一些信息/教程/链接到资源管理器的可能性吗?
想法是使用 ANTLR 务实地将大量代码从源代码转换为目标代码。
谢谢
在 Antlr4 中构建翻译器的基本步骤是:
属性的形式和内容以及创建和演化的进程将完全取决于源语言和目标语言的性质以及架构师的转换策略。
由于 Antlr 解析树遍历可以在逻辑上相互独立,因此可以在单独的遍历中解决特定的转换方面。例如,一次遍历可以评估(可能除其他外)单个perform until语句是否将转换为if或while语句。另一步可以专门用于分析变量名称,以确保在正确的范围内创建/访问它们,并确定任何目标语言所需的临时变量的命名和范围。等等。
鉴于转换是一次性的,因此执行 5 次、10 次甚至更多次步行没有根本性的惩罚。只是“在您的情况下有意义的任何事情”的实用性。
在另一个 QA 中解决的(相关)警告是如何处理两种语言的语句之间没有简单或接近相同的转换。要转换唯一的源语言语句,则需要创建目标语言运行时包来实现相应的功能。
GenPackage(我是作者)自动生成基本转换项目。生成的项目仅代表一种可能的架构方法,并留下大量工作要做以使其适应任何特定的最终用途。
| 归档时间: |
|
| 查看次数: |
1315 次 |
| 最近记录: |