山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教官
コンパイラ
渡辺 喜道
時間割番号
単位数
コース
履修年次
期別
曜日
時限
263301 2 2 後期 I
[概要と目標]
最も一般的なソフトウェアの作成方法は,プログラミング言語を用いて目的とするソフトウェアの動作を記述したプログラムを作成し,それをコンピュータに伝えることにより行われる.このとき,記述されたプログラムをコンピュータに伝えるための手段や道具が必要になる.つまり,プログラミング言語のもっている言語モデルとオペレーティングシステム/コンピュータアーキテクチャの間のギャップを埋めるものが必要となる.そのような道具の中にはコンパイラやインタプリタ,トランスレータなどの言語処理系がある.これらは,現在のソフトウェア開発環境を支える上で,重要かつ欠くことのできない基本的なソフトウェア群である.本講義では,言語処理系の概念,動作,構造,構成法の初歩を学ぶ.特に,コンパイラを設計,構成するときに役立つ様々な手法を習得し,同時にそれらの持つ論理的な枠組みを理解し,それを実際のコンパイラに適用することを目的とする.
[必要知識・準備]
本講義を履修するためには,授業科目「情報処理および実習」,「情報数学基礎」,「プログラミング入門」,「プログラミング入門演習」,「アルゴリズムとデータ構造I」,「アルゴリズムとデータ構造I演習」,「アルゴリズムとデータ構造II」,「アルゴリズムとデータ構造II演習」,「計算機アーキテクチャI」,「計算機アーキテクチャII」をあらかじめ履修し,それらの内容を十分に理解していること.また,「コンパイラ演習」,「プログラミング言語論」を同時に履修することが望ましい.
[評価基準]
評価基準はどの程度講義目標に達したかであり,最終評価は中間試験と期期試験で行う.配点は中間試験50%,期末試験50%である.
[教科書]
  1. 湯浅太一, コンパイラ, 昭晃堂, ISBN:4-7856-2050-1
[参考書]
  1. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers - Principles, Techniques, and Tools, addison-wesley, ISBN:0-201-10194-7
[講義項目]
(01)コンパイラの概説(1) コンパイラの役割
(02)コンパイラの概説(2) コンパイラのフェーズ
(03)字句解析(1) 字句解析の役割
(04)字句解析(2) 正規表現,有限オートマトン
(05)構文解析(1) 構文解析の役割
(06)構文解析(2) トップダウン構文解析
(07)構文解析(3) ボトムアップ構文解析
(08)中間試験
(09)構文解析(4) LR構文解析
(10)意味解析(1) 意味解析の役割
(11)意味解析(2) 意味解析
(12)中間コード生成(1) コード生成
(13)中間コード生成(2) レジスタ割当
(14)コード最適化