Flex と Bison を使用してミニ Fortran コンパイラを作成しています。ここまでで、字句解析と構文解析が完了しました。私は型チェックのセマンティック分析を行っており、IR を選択する必要があります。私のターゲット マシンは MIPS です。したがって、MIPS IAS に基づく最終的なコード生成が必要です。したがって、良い IR は 4 倍だと思います。しかし、いくつかの最適化を紹介したいと思います。そのため、(ハッシュ テーブルを使用して) DAG 構造を構築しました。IR には 2 つのパスがあります。4 倍または DAG と 4 倍です。
DAG を IR として使用する場合、ステートメントにバックパッチ メソッドを使用するにはどうすればよいですか? 4倍なら簡単です。一方、DAG はより抽象的です。強制的に4倍に変換する必要があります。そんなこと知ってる。私の恐れはバックパッチです。