講義 Web ページはこちらです.
回 | 日付 | 内容(予定) | 資料 | その他 |
---|---|---|---|---|
01 | 4/8 | イントロダクション | 1章: イントロダクション 2章: 概論的な話 | |
02 | 4/15 | インタプリタ 1 | 3.1: MiniML1 のシンタックスとセマンティックス 3.2: 各モジュールの機能 (1): Syntax , Eval , Environment , Cui 3.3: 各モジュールの機能 (2): Parser , Lexer |
|
03 | 4/22 | インタプリタ 2 | 3.4: MiniML2: 定義の導入 | |
04 | 5/2 | インタプリタ 3 | 3.5: MiniML3: 関数の導入 3.6: MiniML4: 再帰関数 | |
05 | 5/13 | 型システム 1 | 4.1: 静的プログラム検証へのイントロダクション 4.2: MiniML2 のための型推論 (1): MiniML2 の型システム | |
06 | 5/20 | 型システム 2 | 4.3: MiniML2 のための型推論 (2): 型推論アルゴリズム 4.4: MiniML3,4 のための型推論 (1): Prelude | |
07 | 5/27 | 型システム 3 | 4.5: MiniML3,4 のための型推論 (2): 型の等式制約と単一化 4.6: MiniML3,4 のための型推論 (3): 型推論アルゴリズムの実装 | |
08 | 6/3 | 型システム 4 | 4.7: 多相的 let の型推論 |
|
09 | 6/10 | 字句解析 | (字句解析と構文解析パートの資料は PandA で配布する) | |
10 | 6/17 | LL(1)構文解析 | ||
11 | 6/24 | LR(0)構文解析 | ||
12 | 7/1 | LR(0), SLR(1), LR(1)構文解析 | ||
13 | 7/8 | コンパイラ 1 | 5.1: 能書き 5.2: ソース言語 MiniML4- と中間言語$\mathcal{C}$ 5.3: MiniML4- から$\mathcal{C}$への変換$\mathcal{I}$ 5.6: アセンブリ生成 | 5.4: MIPS アセンブリ言語入門 を事前に理解しておくこと |
14 | 7/22 | MinCaml コンパイラ概説 | ソースコードをダウンロードして手元で試しておくとよい |
計算機科学コースの学生には講義中に別途やり方を指示します.(実験3SWもやるので.)
この講義では毎週履修者からの質問やコメントを受け付けており,質問に対しては回答を次週までに書いて公開しているのですが,その中で他の学習者にとっても有用であると思われるものを(F)AQとしてまとめました.誤っている情報や追記すべき情報があれば Issue を立てたり PR を出したりしてもらえればと思います.
本学学生以外の方で,もしこのページのマテリアルが有用であるとお思いになられたら,是非京都大学基金へのご寄付をいただけると幸いです.運営費交付金が年々削減される中で,大学教員が教育と研究活動を両立させつつ,学外の方々にも有用な情報を発信し続けられるよう,ご支援をいただけると大変ありがたく思います.京都大学へのご寄付に対しましては,法人税法,所得税法による税制上の優遇措置が受けられます.
特に以下の基金へのご寄付をいただけますと大変ありがたいです.