2

私は大学で働きjavac、OpenJDK からのハッキングを手伝う機会を得ました。目標は、カスタム ソースコード (antlr と組み合わせた「私たちの」プログラミング言語用) を読み取ることであり、Java バイトコードを書き出すことではありません。コンパイラは LLVM アセンブラ コードを書き出す必要があります。これは私の仕事ですが、プロジェクトが非常に巨大であるため、どこで何が起こっているのかを理解し始める方法がわかりません。コードのデバッグを試して、段階的に実行するように言われましたが、どの部分が最も重要かを理解するための短いブレークスルーが得られたので、適切なドキュメントが世の中に出回っているかどうかを知りたいです。

4

1 に答える 1

2

「myprogram.llvm」に「myprogram.myprogrlang」があります。

javacを使用/ハックする必要はないと思います。Java / openjdk のコンパイラ ツールを使用したいと思いますが、それはあなたを助けるどころか、あなたの作業を難しくするだけだと思います。

私の提案は、antlr を使用して、プログラミング言語でプログラムを解析する方法、AST を生成する方法を学び、その AST データを LLVM バイトコードまたはアセンブラーに変換することです。

この場合、Java は必要ありません。

そう:

[1]プログラミング言語のANTLR文法/ルールを学ぶ

[2] LLVMバイトコード・アセンブラを学ぶ

[3] ANTLR データ出力を LLVM データ入力に変換する方法を学ぶ

于 2011-06-17T22:16:37.170 に答える