ループ、関数内の関数宣言、再帰呼び出しなどをサポートする動的型付きプログラミング言語用に、Cでコンパイラー(lex&bisonを使用)を作成しました。コンパイラーによって作成された中間コードを実行する仮想マシンも作成しました。
私は自分の中間コードにコンパイルする代わりに、Javaバイトコードにコンパイルすることを考えていました。
JVM言語の作成についての質問がすでに尋ねられているのを見ましたが、その答えはあまり有益ではありません。
だからここに私の質問があります:
- JVMの言語を作成するには、JVM仕様書を読む必要があります。他にどのような本を提案できますか(もちろんDragon Bookを除く)?私は主に、コンパイラー全般ではなく、JVM言語の作成方法に関する本やチュートリアルに関心があります。
- jclasslib、bcel、gnuバイトコードなどの.classファイルの読み取り、書き込み、変更を行うJavaライブラリはたくさんあります。どれを提案しますか?また、同じ働きをするCライブラリを知っていますか?
- Clojure、Jython、JRubyなど、JVMをターゲットとする別の言語を検討することを考えていました。しかし、これらの言語はすべて非常に高レベルで複雑です(それらのコンパイラを作成するため)。私は、JVMを対象とし、そのコンパイラーがオープンソースである、より単純な(不明であっても未使用であっても構わない)プログラミング言語を探していました。何か案は?