- 実施日: 2007-07-11(水) 1限
- 講義内容: 実行時環境、目的プログラム生成
- 配布資料7章、8章
プログラミング言語の構文には、アセンブリ言語との対応が比較的つきやすいものと、つきにくいものがあります。ここでは簡単な代入文、if文についてアセンブリ言語との対応を示した後、数式についてコード生成の手法を述べました。数式を題材にとったのは、解析木との関連が分かりやすいためです。講義でも述べた通り、簡単な形の数式(三番地コードといいます)の並びに直してみるとアセンブリ言語との対応が容易につきます。また、三番地コードの並びは解析木と深く関連しており、これまでお話した翻訳スキームによりコード生成を行うことができます。
後半の主題は、より複雑なプログラミング言語の動作を、ハードウェアに近いコンピュータの動作に対応づけることでした。特に注意すべき動作として、変数領域の割り付け方式(大域変数、局所変数、メモリの動的割り付け)とメモリ管理との関連、関数呼び出しの動作についてお話しました。時間がなくてざっとしかお話しできなかったのですが、ハードウェアとソフトウェアの橋渡しとなる部分ですので、おおまかな内容については理解しておいてほしいと思います。
これで今年度の「コンパイラ」の講義は終わりです。
0 件のコメント:
コメントを投稿