IoPLMaterials

Edit this page Report an issue

京都大学工学部専門科目「プログラミング言語処理系」講義資料

講義 Web ページはこちらです.

お知らせ

2024年度 講義スケジュール

日付 内容(予定) 資料 その他
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もやるので.)

教科書

(鋭意 Markdown 化中.)

リンク

https://kuis-isle3sw.github.io/IoPLMaterials/

目次

リンク集

(F)AQ

この講義では毎週履修者からの質問やコメントを受け付けており,質問に対しては回答を次週までに書いて公開しているのですが,その中で他の学習者にとっても有用であると思われるものを(F)AQとしてまとめました.誤っている情報や追記すべき情報があれば Issue を立てたり PR を出したりしてもらえればと思います.

講義に関する情報

ご寄付のお願い

本学学生以外の方で,もしこのページのマテリアルが有用であるとお思いになられたら,是非京都大学基金へのご寄付をいただけると幸いです.運営費交付金が年々削減される中で,大学教員が教育と研究活動を両立させつつ,学外の方々にも有用な情報を発信し続けられるよう,ご支援をいただけると大変ありがたく思います.京都大学へのご寄付に対しましては,法人税法,所得税法による税制上の優遇措置が受けられます.

特に以下の基金へのご寄付をいただけますと大変ありがたいです.

ローカル環境でのビルド方法

この資料は Jekyll を使用して構築されています.動作確認などのためにこの資料をローカル環境で表示させる場合は,Ruby を導入した上で,次の通りコマンドを実行してください.

$ gem install bundler jekyll
$ bundle exec jekyll serve --baseurl '/IoPLMaterials'

その後 http://127.0.0.1:4000/IoPLMaterials/ にアクセスしてください。