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