【发布时间】:2011-03-23 18:29:08
【问题描述】:
我已经用 C 语言创建了一个编译器(使用 Lex 和 Bison),用于支持循环、函数内部的函数声明、递归调用等的动态类型编程语言。我还创建了一个虚拟机来运行由编译器。
我正在考虑将其编译为 Java 字节码,而不是我自己的中间代码。
我看到关于创建JVM语言的问题已经asked,但我发现答案信息量不大。
所以这是我的问题:
- 我想为JVM创建一种语言必须阅读JVM specification这本书,你能推荐什么其他的书(当然除了Dragon Book)?我最关心的是关于如何创建 JVM 语言的书籍或教程,而不是一般的编译器。
- 有许多 Java 库可以读取、写入和更改
.class文件,例如 jclasslib、bcel、gnu bytecode 等。您建议使用哪一个?另外,您是否知道有相同功能的 C 库? - 我正在考虑看看另一种以 JVM 为目标的语言,例如 Clojure、Jython 或 JRuby。但是所有这些语言都非常高级且复杂(为它们创建编译器)。我一直在寻找一种更简单的(我不介意它是未知的还是未使用的)以 JVM 为目标并带有开源编译器的编程语言。有什么想法吗?
【问题讨论】:
标签: compiler-construction programming-languages jvm jvm-languages