Java asm编译器

标签 java compiler-construction jvm bytecode java-bytecode-asm

我正在使用 asm 库在 Java 中构建编译器。到目前为止,我只能打印整数到输出。

我想用字符串做同样的事情。有什么想法吗?

最佳答案

您是否绝对有必要自己发出原始字节码?如果没有,我有一个 API(请参阅 here ),它允许您使用声明性表达式树编写代码,然后将表达式编译为字节码(作为运行时调用的回调,或作为生成类的方法体) .

使用此 API 编写代码的过程比使用 ASM 发出原始指令更加自然且简洁,例如:

call(
    field(null, Types.System.getField("out")),
    "println",
    constant("twenty-two")
)

关于Java asm编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972994/

相关文章:

java - REST Web服务jpa更新语句

mysql - C 中的命名空间冲突

.net - 什么是编译为 native Windows 代码的优秀轻量级编程语言?

compiler-construction - 递归下降解析器和函数式编程

java - Docker (LXC) 容器中的 JVM 内存分配

java - 为什么JVM使用堆来存储对象和静态变量,使用栈来存储局部变量和函数调用?

java - 让 Eclipse 识别导入

java - 原生 Java 到 Android Java (JsonPath)

java - 在lucene中搜索子字符串

javascript - 使用 Gradle 在 IntelliJ 中使用多个源集的 2 个项目 Unresolved 依赖关系