-fdump-tree-all
gcc でオプションとオプションを使用できますが-fdump-rtl-all
、それらの出力はコンパイラの学生にとってあまり有用ではないと思います。FWIW、私は博士課程の研究の一環として gcc の作業を開始し、すでに 2 つの学部課程を修了していましたがgcc
、そのデバッグ ファイルが不透明でわかりにくいことがわかりました。
さらに、gcc は実際にはコンパイラの教科書的な設計に従っていません。それはうまくいかないので、誰もそうしません。gcc が解析ツリーや抽象構文ツリーを生成しないことは確かです。高レベルの最適化を実行する IR (gimple と呼ばれる) を構築します。
代わりに LLVM を試すことをお勧めします。LLVM は、適切に設計されており、従いやすいという定評があります。もう 1 つの方法は、教科書、特に Appel 本からコードをダウンロードすることです。
もう 1 つの提案は、自分自身を少しお勧めする場合は、phcを使用することです。phc を使用すると、解析ツリーを画像として表示し、コンパイラでのすべてのパスの後に AST とソース コードを表示できます。以下は、AST と解析ツリーの一部を比較したものです。それらは、phc を使用して自明に生成されます。コンパイラ IR、CFG、SSA 形式、および型推論とエイリアス分析のデバッグ出力を確認できます。最適化とパスのオンとオフを切り替えて、その効果を確認することもできます。
これはあなたにとって役立つと思います。