2013

お知らせ:

概要

  • 担当: 佐藤 三久
  • 内容:(便覧掲載概要)
    言語処理系(コンパイラとインタープリタ)の入門で、その理論と技法の基礎を 解説する。簡単なCコンパイラを例に内部の仕組みを具体的に紹介する。

    この講義は、言語処理系、すなわちプログラミング言語のコンパイラとインター プリタのしくみを習得するのが目的である。目標としては、簡単な言語処理系 を作成できるようになることである。

    講義を行い、実際の経験を課題で積んでもらいながら進める。 大体、次のような手順で進める。

    1. 字句解析と構文解析の基礎として、式の評価をするプログラム (つまり、電卓のようなもの)を作って見る。
    2. 例として、C言語風の手続き型言語を考える。
    3. インタープリターの基礎として、この言語に対しインタプリターを設計する。
    4. 構文解析、コード生成の練習のために、この言語に対し のコンパイラを作る。
    5. 時間があれば、コードの最適化について、触れる。

    講義日程・資料

    日時 時限 内容 講義資料
    12月24日 3時限 言語処理系とは [講義資料1]
    4時限 基本:式の処理
    5時限 字句解析の基礎 [講義資料2]
    6時限 演習 課題 1: 式のインタプリタ
    1月7日 3時限 top-down parserの作り方 [講義資料3]
    4時限 構文解析の基礎 [講義資料4]
    5時限 構文解析の実際:yaccの使い方
    tiny Cのデータ構造
    [講義資料5]
    [講義資料tinyC-1]
    [講義資料tiny C-2]
    [講義資料tiny C-3]
    6時限 演習 課題 2: 数式インタプリタの製作
    1月14日 3時限 tiny C のインタプリタ(1) [講義資料6]
    4時限 tiny C のインタプリタ(2) [講義資料7]
    5時限 tiny C のインタプリタ(3)
    6時限 演習 課題 3:tiny-Cインタープリタによる8クイーンの実行
    1月28日 3時限 中間試験
    4時限 スタックマシンとコンパイラ [講義資料8]
    5時限 スタックマシンへのコンパイラ [講義資料9]
    6時限 演習 課題 4: スタックマシンへの数式のコンパイラの製作
    2月4日 3時限 14時からの開始になります
    4時限 レジスタマシンへのコンパイラ [講義資料10]
    5時限 コード最適化入門 [講義資料11]
    6時限 演習 課題 5:レジスタマシンへの数式のコンパイラの製作

    演習課題

    詳細は、 こちら