学部・大学院区分情報学部
時間割コード1001139
科目区分
専門科目(コンピュータ科)関連専門科目(自然,人社)
科目名 【日本語】コンパイラ
科目名 【英語】Compiler
コースナンバリングコード
担当教員 【日本語】結縁 祥治 ○
担当教員 【英語】YUEN Shoji ○
単位数2
開講期・開講時間帯秋1期 月曜日 2時限
秋1期 火曜日 1時限
Fall1 Mon 2
Fall1 Tue 1
対象学年3年
3
授業形態講義
Lecture
開講系(学部)・開講専攻(大学院)
CS共通
必修・選択
CS必修


授業の目的 【日本語】
プログラミング言語と言語処理系であるコンパイラに関する諸概念と実現法の基礎を習得する。
授業の目的 【英語】
Fundamentals for programming languages and overview for compilers
到達目標 【日本語】
計算機プログラミング言語のコンパイラに関する諸概念と実現法の基礎を習得することを通じて,プログラムの正確な振舞いとプログラム解析の基礎技術を学び,プログラムの構文と意味の形式的な概念を得ることを目標とする。
到達目標 【英語】
授業の内容や構成
コンパイラは抽象度の高いプログラミング言語で書かれたソースプログラムをプロセッサに動作を直接指示する目的プログラムに変換する。ソースプログラムは通常文脈自由言語で規定され,人間が直接的に理解できる記述である。コンパイラは,ソースプログラムを構文解析して文脈自由文法の導出過程を構成し,導出過程で定められる意味に従って,目的コードを生成する。構文解析では,導出過程の構成が決定的に行われる予測型構文解析および上昇型構文解析について学ぶ。コード生成においては,振舞いの基本表現である中間表現と,中間表現と等価な意味を持つプログラムの中で効率的なプログラムを得る最適化手法について紹介する。

1. コンパイラ概論
2. 字句解析
3. 構文解析
4. 意味解析
5. 実行時環境
6. 中間コード生成
7. 目的コード生成
8. コード最適化
履修条件・関連する科目
成績評価の方法と基準
講義中に与える演習課題の評価50%,期末試験50%,合計100点満点で60点以上を合格とする。
教科書・参考書
教科書を指定し,補助資料を必要に応じて配布する。
課外学習等(授業時間外学習の指示)
講義において説明した内容を理解するために課題を与える。
授業開講形態等
遠隔授業(オンデマンド型)で行う場合の追加措置