授業科目名(和文) [Course] |
コンパイラ |
授業科目名(英文) [Course] |
Compiler |
学部(研究科) [Faculty] |
情報工学部 |
学科(専攻) [Department] |
情報通信工学科 |
担当教員(○:代表教員) [Principle Instructor(○) and Instructors] |
○國島 丈生 自室番号(2610)、電子メール(kunishi**c.oka-pu.ac.jp) ※利用の際は,** を @に置き換えてください |
単位数 [Point(Credit)] |
2単位 |
対象学生 [Eligible students] |
3年次生 |
授業概略と目標 [Course description and Objects] |
コンパイラはプログラムを書く人にとってもっとも身近なソフトウェアのひとつである。コンパイラはハードウェアやオペレーティングシステムと対象とするプログラミング言語との橋渡しを行うもので、さまざまな理論やアルゴリズム、ソフトウェア技法が凝縮されているソフトウェアである。本講義では、このようなシステムプログラムの基本であるコンパイラの設計技法を学ぶ。 |
到達目標 [Learning Goal] |
1. コンパイラの基本的な構成について理解する。 2. 字句解析手法とその理論的な背景について理解する。 3. 下向き構文解析手法とその理論的な背景について理解する。 4. 意味解析手法とその理論的な背景について理解する。 |
履修上の注意 [Notes] |
履修の要件:C言語もしくはC++言語を習得していること。「情報処理学」「プログラミング言語I」「プログラミング言語II」「計算機アーキテクチャ」を履修していることが望ましい。 その他 :特になし |
授業計画とスケジュール [Course schedule] |
1. 導入、コンパイラの概要 2. 字句解析(1): 字句解析の概要 3. 字句解析(2): 正則表現とオートマトン 4. 字句解析(3): オートマトンによる字句解析プログラム生成 5. 構文解析(1): 構文解析の概要 6. 構文解析(2): 文脈自由文法 7. 構文解析(3): 下向き構文解析 8. 構文解析(4): LL(1)文法に対する構文解析 9. 字句解析?構文解析ツール 10. 意味解析(1): 構文主導翻訳 11. 意味解析(2): 翻訳スキームとその応用 12. 記号表 13. プログラムの実行時環境 14. 翻訳スキームによる中間コードの生成 15. アセンブリ言語の生成 |
成績評価方法と基準 [Grading policy (Evaluation)] |
期末試験80%、学習態度20%により総合的に評価する。 |
教科書 [Textbook] |
教科書: 使用しない。資料を配布する。 参考書: 「コンパイラ[第2版]」 A.V.エイホほか著、原田賢一訳,サイエンス社 公開可能な資料は以下のURLで公開する予定である:http://kunishi-lecture-board.blogspot.com/ |
自主学習ガイド及び キーワード [Self learning] |
字句解析、構文解析、意味解析の基礎理論は、有限オートマトンや文脈自由文法などの数学的な考え方が必要になる。可能な限り、資料に練習問題を掲載するので、自分で解いて理解を深めることが望ましい。 |
開講年度 [Year of the course] |
24 |