言語処理系(コンパイラとインタープリタ)の入門で、その理論と技法の基礎を 解説する。簡単なCコンパイラを例に内部の仕組みを具体的に紹介する。
この講義は、言語処理系、すなわちプログラミング言語のコンパイラとインター プリタのしくみを習得するのが目的である。目標としては、簡単な言語処理系 を作成できるようになることである。
講義を行い、実際の経験を課題で積んでもらいながら進める。 大体、次のような手順で進める。
http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/comp2010/
http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/comp-lecture/contents.htmlこれまでの講義資料が
http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/にあるが、同じとは限らないので参考程度にしてほしい。
http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/comp-lecture/tiny-c-note1.html
comp-lecture@hpcs.cs.tsukuba.ac.jpメールのsubjectは、
comp report 課題番号とし、最初に学籍番号、氏名を明記すること。特に、最終の課題については重 視する。 なお、このメールアドレスは学内のアドレスのみうけつけるので、 coinsのアカウントから、だすこと。
comp-lecture@hpcs.cs.tsukuba.ac.jpまで。 なお、このメールアドレスは学内のアドレスのみうけつけるので、 coinsのアカウントから、だすこと。
日時 | 1 時限 | 2 時限 | 講義資料 |
---|---|---|---|
9月14日 | 言語処理系とは | 基本:式の処理 | [講義資料1] |
9月21日 | 字句解析の基礎 top-down parserの作り方 |
演習 | [講義資料2] [講義資料3] |
9月28日 | 構文解析の基礎 | 構文解析の実際:yaccの使い方 tiny Cのデータ構造 |
[講義資料4]
[講義資料5] [講義資料tinyC-1] [講義資料tiny C-2] [講義資料tiny C-3] |
10月5日 | tiny C のインタプリタ(1) | tiny Cのインタプリター(2) |
[講義資料6] [講義資料7] |
10月14日 | 演習 | ||
10月19日 | スタックマシンについて | 中間試験(10時〜11時30分) |
[講義資料8] |
10月26日 | スタックマシンへのコンパイラ | 演習 |
[講義資料9] |
11月2日 | レジスタマシンへのコンパイラ | 演習 |
[講義資料10] |
11月9日 | コード最適化入門、まとめ | 演習 |
[講義資料11] |