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