I コンパイラ作成の原理と手法について解説する。
II 言語処理系のあらまし,字句解析,構文解析,意味解析,中間コード生成,実行時環境,最適化,コード生成,インタプリタ,コンパイラ生成系。
言語処理系作成の基礎理論と手法について,コンパイラを中心に解説する.コンパイラの設計手法を通
じて,情報システムの設計や管理などについて習得する.
1. 言語処理系とそのなかま
2. コンパイラのあらまし
3. 字句解析:正規表現,有限オートマトン,字句解析器,字句解析器生成系Lex
4. 構文解析:文脈自由文法,下向き構文解析,再帰降下構文解析器,LL 文法
5. 構文解析:上向き構文解析,演算子順位構文解析器
6. 構文解析:LR 構文解析器,LR 文法,構文解析器生成系Yacc
7. 意味解析:属性文法,型と演算の解析,識別子の宣言と使用の解析
8. 意味解析:記号表とその処理,記号表のデータ構造
9. 意味解析:属性評価器,属性評価器生成系Rie
10. 実行時環境:活性レコード,動的リンク
11. 中間コード生成:中間言語の種類,代入文や制御文の中間コード
12. コード生成:式のコード生成,文の列のコード生成,レジスタ割当て
13. コード最適化:最適化の例,データフロー解析と各種最適化変換,のぞき穴最適化
14. インタプリタ:仮想機械,インタプリタの構成
佐々政孝:プログラミング言語処理系,岩波書店.
必須ではないが,「オートマトンと数理言語論」(情報科学科で開講) を履修していることが望ましい.
試験と小レポートによる.
sassa@is.titech.ac.jp