学部・大学院区分情報学部
時間割コード1001379
科目区分
専門科目(コンピュータ科)関連専門科目(自然,人社)
科目名 【日本語】コンピュータ科学実験3
科目名 【英語】Computer Science Dept. III
コースナンバリングコード
担当教員 【日本語】西田 直樹 ○
担当教員 【英語】NISHIDA Naoki ○
単位数1
開講期・開講時間帯秋2期 木曜日 3時限
秋2期 木曜日 4時限
Fall2 Thu 3
Fall2 Thu 4
対象学年3年
3
授業形態実験及び実習
開講系(学部)・開講専攻(大学院)
CS共通
必修・選択
CS必修


授業の目的 【日本語】
基本的な制御文を備えたプログラミング言語に対するコンパイラを作成することで講義・演習で学んだコンパイラの作成技法を修得し,プログラミング言語に対する理解を深める。また,コンパイラの作成を通してソフトウェア開発プロセスの各フェーズを理解・体験することにより,ソフトウェア開発技法の基礎を修得する。具体的には,ソフトウェア開発の課題に対する適切な分析・設計・実装・テストを行う能力,仕様書などを作成する能力を体得する。
授業の目的 【英語】
Throughout implementation of a compiler for a simple programming language with basic control statements, we learn compiler theories learned at lectures and exercises in order to understand programming languages well. In addition, due to each phase of the development process for implementation of a compiler, we master the fundamentals of software development. To be more precise, we learn by experience analysis/design/implementation/tests and how to describe specifications for software development.
到達目標 【日本語】
実験を通して基本的なデータ型・制御文を持つプログラミング言語のコンパイラを実現し,講義で学んだコンパイラの作成技術を体得することでコンパイラ設計理論の理解を深める。また,コンパイラ作成を通じてソフトウェア開発プロセスを理解・体験する。
到達目標 【英語】
授業の内容や構成
基本的なデータ型・制御文を持つプログラミング言語に対する構文解析器・字句解析器を作成し,それを利用し対象言語に対するコンパイラを実現する。構文解析器・字句解析器を作成し,その後,中間言語を生成するモジュールを作成する。さらに,言語の機能を段階的に拡充し,それに合わせてコンパイラを改良する。

1. ガイダンス・対象言語と目的コードの理解およびコンパイラの設計
2. 字句解析器・構文解析器の設計
3. 字句解析器・構文解析器の実現
4. 記号表の管理
5. 中間コードの作成
6. 関数呼び出しの実現
7. データ型の拡張
8. 機能拡張
履修条件・関連する科目
成績評価の方法と基準
すべての授業に出席した上で実験課題すべてを実施し,そのレポートすべてについて100点満点で60点以上の点数を取得することを合格とする。
教科書・参考書
実験担当教員が作成した指導書に従い実施する。実験に使用する機材などは各実験において担当者が指定する。プログラミング2,プログラミング演習2,コンパイラの単位が修得済みであることが望ましい。
課外学習等(授業時間外学習の指示)
実施した実験に対するレポートの作成および調査課題を与える。
授業開講形態等
遠隔授業(オンデマンド型)で行う場合の追加措置