コンパイラはどの時点で構文ツリーを構築しますか? 実行可能ファイルのビルド中に、ツリーをどのように形成し、ツリーを変換しますか?
1 に答える
2
構文ツリーを構築するコンパイラは、構文解析ステップでこれを行います。これは通常、入力ストリームに一致する文法規則ごとにツリー ノードを生成することによって行われます。
コード生成では、型、操作、最適化の機会などを理解するために、ツリーをかなり分析する必要があります。多くの場合、これを直接ツリーでうまく行うのは難しいため、他の中間表現が使用されます (トリプル、静的単一代入など)。多くの場合、中間段階でさえマシンコード生成には不適切であるため、マシン命令の何らかの表現 (RTL) が構築される可能性があります...
重要なのは、コンパイラがコードを生成するために使用する表現はツリーだけではないということです。
詳細については、コンパイラの入門書 (Aho と Ullman の「Compilers」) を読むことをお勧めします。
于 2011-04-04T06:26:50.317 に答える