ANTLR,步骤顺序

时间:2010-07-14 14:51:18

标签: antlr compiler-construction

我正在尝试为ANTLR中的C#等语言设计编译器。但我并不完全理解应该采取的正确步骤顺序。

这就是我的看法:

  • 首先我定义Lexer令牌
  • 然后语法规则(使用重写规则来构建AST),其中的操作收集有关类和方法声明的信息(以便我可以在下一步中解析方法调用)
  • 最后,我创建了“树语法”,它遍历AST树并调用生成(虚拟)机器语言操作码的规则。

这是对的吗?第二步是角色阅读方法的声明和构建AST吗?

如何在没有构建AST的情况下解决重载方法的声明? (回填?)

1 个答案:

答案 0 :(得分:2)

看看Language Implementation Patterns它解释了如何创建自己的语言(解释和字节码/类似VM)。目前,您的问题过于宽泛,我认为没有人能够在论坛中发布答案,该论坛解释了从头到尾如何创建自己语言的所有细节。

当然,当你拥有它们时,请随意提出更具体的问题。

祝你好运!