授業の目標と概要 |
プログラムを解析してコンピュータで実行可能な形式に変換するための基礎理論や、コ
ンパイラがオートマトンの具体的な応用の一つであること理解するとともに、字句解析
器や構文解析器の自動生成ツール等の応用を学ぶことを目標とする。
これまでに学んだC言語やJava言語などのコンパイラが、どのような仕組みで動作して
いるのかを理解することができる。
|
履修上の注意
(準備する用具・
前提とする知識等)
|
コンパイラの理論はオートマトンを用いることを前提とするので、4年次のオートマト
ンの授業内容を確認しておくと良い。
また、授業の進行に合わせて適宜レポートを課す。
|
到達目標 |
正規表現による字句要素の定義が理解できる。
生成規則による文法の定義が理解できる。
オートマトンによる字句解析、構文解析の仕組みが理解できる。
|
成績評価方法 |
合否判定:2回の定期試験の結果の平均が60点以上であること。
最終評価:2回の定期試験の結果の平均±レポート等10%による総合評価とする。
再試験:全範囲から出題した試験の結果が60点以上であることを合格の条件とする。
|
テキスト・参考書 |
教科書:湯淺太一著 コンパイラ (昭晃堂)
参考書:村上列訳 lex & yacc プログラミング (アスキー出版局)
参考書:富田悦次、横森 貴 共著 オートマトン・言語理論 (森北出版)
参考書:米田政明 他 オートマトン・言語の基礎 (近代科学社)
|
メッセージ |
コンパイラの仕組みを理解することで、プログラミング言語の制限の理由なども知ること
ができます。
|
授業の内容 |
授業項目 | 授業項目ごとの達成目標 |
コンパイラの概要(1回)
正規表現(1回)
有限オートマトン(1回)
字句解析プログラム(1回)
文法の表現とあいまいな文法(1回)
演算子の優先順位(1回)
文脈自由文法とその限界(1回)
|
コンパイラの構造と用語の定義を説明できる
文字列集合の演算と正規表現を説明できる
有限オートマトンと正規表現の関係を説明できる
字句解析プログラムの動作原理を説明できる
文法の表現方法とあいまいな文法の概念を説明できる
演算子の優先順位が決まる仕組みを説明できる
文脈自由文法で表現可能な範囲を説明できる
|
前期中間試験 |
実施する
|
再帰的下向き構文解析法(2回)
LR構文解析法(3回)
構文解析法のまとめ(1回)
意味解析(1回)
|
再帰的下向き構文解析法の動作原理を説明できる
LR構文解析法の動作原理を説明できる
構文解析での問題点への対応などを説明できる
意味解析の概要と仕組みを説明できる
|
前期期末試験 |
実施する
|