【发布时间】:2012-01-30 19:30:59
【问题描述】:
我正计划创建一个可以从 Java 自动翻译到 C# 的东西(然后反过来)。我需要的是可以用来将 Java 源代码转换为 C# 源代码的东西。
我遇到了 ANTLR,但我不确定如何将它用于我的任务。我知道 ANTLR 对 Java 和 C# 都有强大的支持,并且已经有它们的现有语法,词法分析/解析过程,然后是 AST 创建,最后是 tree walker。从理论上讲,我明白了,但在实际使用它时,我会拖延铁杆。
有人可以提供可用于任何语言的通用分步“操作方法”吗,因为我找不到任何关于如何使用 ANTLR 的体面教程?
【问题讨论】:
-
“找不到任何关于如何使用 ANTLR 的像样的教程?”,我不敢相信你搜索得很辛苦。使用您最喜欢的搜索引擎(无论是 Google、Bing 还是 Yahoo)和关键字“ANTLR tutorial”,您一定看过 Scott Stanchfield 的优秀教程。还可以浏览ANTLR tag here on SO 中已经给出的答案:有许多包含复制粘贴的答案供您尝试。
-
还有 Terry Parr(ANTLR 的发明者)的书:pragprog.com/book/tpdsl/language-implementation-patterns 可能是关于 ANTLR 的“终极”教程。
-
您还应该访问我关于构建此类翻译器的 SO 答案:“如何在编程语言之间进行翻译”stackoverflow.com/a/3460977/120163
-
@Alexey:冒着冒犯你的风险,从目前讨论的性质来看,我认为你没有使用 ANTLR 构建语言翻译器的理解或背景。首先建议一个编译器类,然后重新讨论这个话题。语言翻译很难做好。
-
不,你根本没有冒犯我。我总是乐于接受任何类型的批评;)(有时我什至更喜欢这样做,因为它指出了我的编程和/或研究技能中的缺陷)
标签: c# java antlr antlr3 language-translation