コンパイラ
授業の特色
教科書に準拠したPowerPoint資料に基づいて,講義中心の授業を行う.
授業の紹介
計算機の基本的ソフトウェアであるコンパイラやインタプリタなどの言語処理系とそれらの関係などについて概説し,その内の特にコンパイラについて,字句解析手法,構文解析手法,コード生成手法について詳説する.取り上げる構文解析法は,再帰的下向き構文解析法,LR構文解析法など.lexやyaccなどのコンパイラ生成ツールについても触れる.
講義詳細
- 年度
- 2004年度
- 開講部局名
- 工学部
- 使用言語
- 日本語
- 教員/講師名
- 湯淺 太一(教授)
シラバス
配当学年 | 情報学科計算機科学コース 2回生 | ||
---|---|---|---|
教員 | 湯淺 太一(教授) |
||
授業計画と内容 | *コンパイラの概要(1回):コンパイラのおおまかな機能と構造について概説する.コンパイラの内部で使用されるデータ構造やアセンブリ言語を紹介し,コンパイラを構成する基本処理(字句解析,構文解析,意味解析,コード生成,最適化処理)の概要について触れる. *字句解析(3回):プログラミング言語の字句構造を正規表現で規定する方法および有限オートマトンにおける状態遷移によって字句解析を実現する方法を紹介する.効率のよい字句解析プログラムを得るために,任意の非決定性有限オートマトンを状態数最少の決定性有限オートマトンに変換するアルゴリズムを紹介する.また,字句解析プログラムを自動生成するlexについても触れる. *文法(2回):プログラミング言語の文法を規定するバッカス記法と構文図式を紹介する.次に,文法の形式的定義を紹介し,アルファベット,出発記号,生成規則,終端記号,非終端記号,生成,導出,還元,文,文形式などの用語を説明する.さらに,構文解析木について触れる. *構文解析(4回):構文解析のための主要な解析法として,再帰的下向き構文解析法とLR構文解析法を紹介するとともに,構文解析プログラムを自動生成するyaccについても触れる.さらに,あいまいな文法への対処やエラーリカバリの方法を解説する. *意味解析(1回):意味解析に関するトピックを取り上げ,それらの実現手法を紹介する. *コード生成(2回):目的コード生成の際に有効ないくつかの技法を紹介する.式の処理とレジスタ割り当て,論理式の処理,その他さまざまな最適化手法を紹介する. 第1回 コンパイラの概要 第2回 字句解析(1) 第3回 字句解析(2) 第4回 字句解析(3) 第5回 文法(1) 第6回 文法(2) 第7回 構文解析(1) 第8回 構文解析(2) 第9回 構文解析(3) 第10回 構文解析(4) 第11回 意味解析 第12回 コード生成(1) 第13回 コード生成(2) |
||
教科書・参考書等 | 教科書 湯淺太一 : コンパイラ, 昭晃堂, 2001 http://www.yuasa.kuis.kyoto-u.ac.jp/~yuasa/shokodo/index.html |