Toggle navigation
実験4 (コンパイラ)
Nav
News
Exercises
1. 拡張構文
2. フロントエンド
3. インタプリタ・型推論
4.
recur
式の検査
5. 正規形への変換
6. クロージャ変換
7. 平滑化
8. 仮想機械コード生成
9. ARMコード生成
10. バックエンドの移植
11. データフロー解析
12. レジスタ機械コード生成
13. ARMコード生成 その2
14. 最適化
Resources
配布コード一式
Raspberry Pi 3 Model Bセットアップ資料
2015年度講義「コンパイラ」講義スライド
VMインタプリタ機能拡張
ARMシミュレータ機能拡張
講義「プログラミング言語処理系」サポートページ
OCaml公式ページ
Contact
コンパイラ
(ver.2.0)
インフォメーション
トップページ
お知らせ
最終報告会
速度コンテスト
FAQ
前付け
表紙
目次
課題リスト
更新履歴
謝辞
1 はじめに
導入
1.1 MiniMLコンパイラのユーザインタフェース
1.2 MiniMLコンパイラの全体構成
2 フロントエンド
導入
2.1 言語仕様
2.2 構文解析
2.3
recur
式の検査
3 正規化
導入
3.1 正規形
3.2 正規形への変換
4 クロージャ変換
導入
4.1 準備
4.2 組によるクロージャ表現
5 仮想機械
導入
5.1 平滑化
5.2 仮想機械コードへの変換
6 コード生成
導入
6.1 ARM命令セット
6.2 呼出し規約
6.3 コード生成
6.4 実行環境
7 最適化
導入
7.1 データフロー解析
7.2 生存変数解析モジュール
7.3 レジスタ割付け
7.4 最適化
付録
A 再帰的な階乗計算プログラムのコンパイル例
B 課題5のための追加ヒント
更新履歴
Version 2.1 (2018/10/02)
課題5を削除(以降の課題番号が一つずれる).
Version 2.0 (2018/10/01)
2018年度正式公開版.
PDF()版からHTML(Jekyll)版へ移行.
recur
式の検査
を
正規化
から
フロントエンド
へ移動.
課題5を
必須
から
任意
に変更.
Version 1.1 (2017/12/14)
正規化
に関し,以下を行う.
課題6を
任意
から
必須
に変更.
付録B 課題6のための追加ヒント
を追加.
Version 1.0 (2017/12/07)
2017年度正式公開版.