授業のねらい |
形式的言語とその構文解析の方法,および簡単なコンパイラを作成するのに必要な技法について学ぶ。
|
|
授業の目標 |
1.計算機言語の処理系(コンパイラ)の基本的な論理構造とその設計方法を理解する。 2.言語の構文解析理論とその実現法について理解する。
|
|
授業計画 |
第1週 言語処理系の流れ: 言語処理系とその流れ(字句解析,構文解析,意味解析,コード生成)を概観する。 第2週 オートマトン1: 決定性有限オートマトンおよび(空動作のある)非決定性有限オートマトンの基本動作とその受理言語について理解する。 第3週 オートマトン2: 非決定性有限オートマトンから決定性有限オートマトンを構成する方法について理解する。 第4週 オートマトン3: 決定性有限オートマトンから最簡形を構成する方法について理解する。 第5週 形式文法と形式言語: 形式文法,特に正規文法と文脈自由文法について学び,対応する言語のクラスを理解する。 第6週 正規表現と正規言語: 正規表現の帰納的定義を学び,対応する正規言語について理解する。 第7週 正規表現とオートマトン: 正規表現に対応する有限オートマトンを構成する方法について学ぶ。 第8週 BNF記法: 文脈自由文法を記述するメタ言語であるBNF記法を理解する。 第9週 字句解析: BNF記法による字句の定義を行う。字句の構文が正規表現にあたり,字句解析が有限オートマトンの構成に対応することを理解する。 第10週 構文解析1: 構文解析について概観し,上昇型解析と下降型解析の違いについて理解する。 第11週 構文解析2: 下降型構文解析の代表的な方法であるLL解析について学ぶ。 第12週 構文解析3: LL解析表の作り方を習得する。 第13週 構文解析4: LL文法と左再帰性,後戻りの問題について学ぶ。 第14週 中間言語: 様々の種類の中間言語について学ぶ。 第15週 機械語の生成: 計算機アーキテクチャの特徴,及びその制御構造に対するコード生成について学ぶ。
|
|
教科書及び教材 |
教科書は特に指定せず,講義ノートがテキストとなるようにする。 |
|
参考書 |
エイホ他著「コンパイラ 原理・技法・ツール」サイエンス社 1990 佐々政孝著「プログラミング言語処理系」岩波書店 1989 辻野嘉宏著「コンパイラ」昭晃堂 1996 疋田輝雄・石畑清著「コンパイラの理論と実現」共立出版 1988 ホップクロフト他著「オートマトン 言語理論 計算論I」サイエンス社 1984 |
|
成績評価方法 |
|
履修条件等 |
|
教員からのメッセージ |
毎回の講義をしっかりと理解し,レポート問題にまじめに取り組むようにして下さい。
|
|
その他 |
|