代码之家  ›  专栏  ›  技术社区  ›  Haroun Mohammedi

使用ANTLR生成中间代码和目标代码

  •  1
  • Haroun Mohammedi  · 技术社区  · 7 年前

    ANTLR公司 ANTLR公司 . 还有编译器的中间和目标代码生成阶段(下图中的其余阶段),这让我很困惑。我原本以为这样的工具必须给用户提供方便,让他们代代相传,但即使在作者写的参考书中,我也没有找到任何解释如何做到这一点的内容。

    enter image description here

    这里有谁能给我解释一下怎么做,或者只是给我指一点可以帮助我说服老师的写作材料。

    1 回复  |  直到 7 年前
        1
  •  1
  •   GRosenberg    7 年前

    简而言之,ANTLR非常适合编译器实现,至少在这方面是YACC/Bison的功能等价物。

    针对您的问题,ANTLR提供了词法分析、语法分析和树遍历(语义分析)支持,所有这些都具有适当形式的错误侦听器和恢复机制。符号表示例见 github repo

    查看由提供的IR语言、优化器和代码生成器 LLVM project

    帕尔教授的书 Language Implementation Patterns TDAR 会有帮助的。