プログラミング言語の設計と意味論を、Scheme言語で記述されたインタプリタ定義を通して学ぶ。講義で解説した内容を演習時のインタプリタ作成によって確認する。
プログラミング言語に関係する種々の概念、構文、言語機能についての正確な理解を目指すとともに、インタプリタ定義を通した言語設計手法を習得する。
- Inductive Sets of Data
- Data Abstraction
- Expressions (let, procudre, letrec, scope and binging, lexical addressing)
- State
- Continuation-Passing Interpreters (trampolined interpreters, threads)
- Continuation-Passing Style (tail form)
D. Friedman & M. Wand, “Essentials of Programming Languages”, 3rd edition, MIT Press 2008
最低限のプログラミングが行えること。計算機科学第一を履修していることが望ましい。科目「コンパイラ」は、本講義で扱うようなプログラミング言語から、実際にCPUが実行できる機械語命令を生成する部分を扱うので、密接に関連している。
演習レポートと期末試験をあわせて行う。
masuhara.h.aa-cs2-2013@ml.m.titech.ac.
(この後ろに「日本」のドメイン名を追加して下さい)