【问题标题】:Intermediate Code Generation中间代码生成
【发布时间】:2016-08-13 22:53:26
【问题描述】:

我开始在我的编译器课程中使用 ANTLR 4,并且我已经创建了我的语法。 ANTLR 为我提供了 Lexer 和 Parser,但我如何生成中间代码?有人告诉我要使用 Jasmin,但我不知道如何使用。

注意:ANTLR 给了我 java 代码。

【问题讨论】:

  • 什么是“中间码”?
  • 那么您的意思是如何从您使用 ANTLR 解析器/词法分析器解析的自定义语言生成 Java 字节码?如果是这样,那么你应该这样写。 ;-)
  • @Tadesse:您的编译器类没有关于如何定义和构建中间代码的理论和讲座?你一定有一个糟糕的编译器类。获取任何有关编译器的教科书(Aho/Ullman/Sethi “Compiler”)并阅读有关此主题的章节。你还有工作要做,但在理解了原则的情况下,这是一个编程问题。
  • @Vampire: 或者,如果 OP 不是指“Java 字节码”,则将其省略,因为它不相关。我认为 Vince 的回答以更符合经典编译器课程的方式对其进行了定义。

标签: java antlr jasmin


【解决方案1】:

正如您所说,Jasmin 是生成字节码的一种方式。
如果您不知道如何使用它,我建议您学习如何使用它。
例如阅读User Guide
如果您有一些更具体的问题/问题,您可以回到这里询问。但请阅读并遵守https://stackoverflow.com/help/how-to-ask

【讨论】:

    猜你喜欢
    • 2012-04-21
    • 2018-12-29
    • 1970-01-01
    • 2022-08-15
    • 2015-05-30
    • 2011-04-10
    • 2022-12-13
    • 1970-01-01
    • 2012-12-05
    相关资源
    最近更新 更多