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