授業の目的 【日本語】 Goals of the Course(JPN) | | 基本的な制御文を備えたプログラミング言語に対するコンパイラを作成することで,講義・演習で学んだコンパイラの作成技法とプログラミング言語に対する理解を深める。コンパイラの作成を通してソフトウェア開発プロセスの各フェーズを理解・体験し,ソフトウェア開発技法の基礎を修得する。実験を通して,基本的なデータ型・制御文を持つプログラミング言語のコンパイラを実現し,講義で学んだコンパイラの作成技術を体得することでコンパイラ設計理論の理解を深める。 |
|
|
授業の目的 【英語】 Goals of the Course | | Through developing a compiler for a simple programming language with basic control statements, students deepen their understanding of compiler development techniques and programming languages learned in lectures and exercises. We understand and experience each phase of the software development process through the development of the compiler, and acquire the basics of software development techniques. |
|
|
到達目標 【日本語】 Objectives of the Course(JPN) | | 以下の知識や能力を身につけることを到達目標とする。
・コンパイラ,ソフトウェア等の講義・演習で獲得した知識を応用する技術
・ソフトウェア開発の課題に対する適切な分析・設計・実装・テストを行う能力
・仕様書などの文書を作成する能力
・レポート執筆を通じて,実験内容や結果について,論理的に吟味し,文書化する能力 |
|
|
到達目標 【英語】 Objectives of the Course | | |
|
授業の内容や構成 Course Content / Plan | | 基本的なデータ型・制御文を持つプログラミング言語に対する構文解析器・字句解析器を作成し,それを利用し対象言語に対するコンパイラを実現する。構文解析器・字句解析器を作成し,その後,中間言語を生成するモジュールを作成する。さらに,言語の機能を段階的に拡充し,それに合わせてコンパイラを改良する。
1. ガイダンス・対象言語と目的コードの理解およびコンパイラの設計
2. 字句解析器・構文解析器の設計
3. 字句解析器・構文解析器の実現
4. 記号表の管理
5. 中間コードの作成
6. 関数呼び出しの実現
7. データ型の拡張
8. 機能拡張 | |
|
|
履修条件・関連する科目 Course Prerequisites and Related Courses | | プログラミング2,プログラミング演習2,コンパイラの単位が修得済みであることが望ましい。 | |
|
|
成績評価の方法と基準 Course Evaluation Method and Criteria | | すべての授業に出席した上で実験課題すべてを実施し,そのレポートすべてについて100点満点で60点以上の点数を取得することを合格とする。 | |
|
|
教科書・参考書 Textbook/Reference book | | 実験担当教員が作成した指導書に従い実施する。実験に使用する機材などは各実験において担当者が指定する。 | |
|
|
課外学習等(授業時間外学習の指示) Study Load(Self-directed Learning Outside Course Hours) | | 予習・復習すべき内容について,実験時間中に指示する。 | |
|
|
授業開講形態等 Lecture format, etc. | | |
|
遠隔授業(オンデマンド型)で行う場合の追加措置 Additional measures for remote class (on-demand class) | | |
|