2010

お知らせ:

概要

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

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

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

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

    講義日程・資料

    日時 1 時限 2 時限 講義資料
    9月14日 言語処理系とは 基本:式の処理 [講義資料1]
    9月21日 字句解析の基礎
    top-down parserの作り方
    演習 [講義資料2]
    [講義資料3]
    9月28日 構文解析の基礎 構文解析の実際:yaccの使い方
    tiny Cのデータ構造
    [講義資料4] [講義資料5]
    [講義資料tinyC-1]
    [講義資料tiny C-2]
    [講義資料tiny C-3]
    10月5日 tiny C のインタプリタ(1) tiny Cのインタプリター(2) [講義資料6]
    [講義資料7]
    10月14日 演習
    10月19日 スタックマシンについて 中間試験(10時〜11時30分) [講義資料8]
    10月26日 スタックマシンへのコンパイラ 演習 [講義資料9]
    11月2日 レジスタマシンへのコンパイラ 演習 [講義資料10]
    11月9日 コード最適化入門、まとめ 演習 [講義資料11]

    演習課題

    詳細は、 こちら