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



授業科目名
担当教官
コンパイラ演習
渡辺 喜道/吉川 雅修
時間割番号
単位数
コース
履修年次
期別
曜日
時限
263302 1 F 2 後期 III
[概要]
本演習では,授業科目「コンパイラ」の講義内容に基づき,実際に簡単なコンパイラの一部を作成する.作成する構文解析系は再帰降下型コンパイラである.作成するコンパイラの入力となる言語は,言語Pascalのサブセットとして知られている言語PL/0を一部修正した言語PL/00である.実際にコンパイラを作成することにより,コンパイラの基本動作や仕組み,概念を理解することを目的とする.
[具体的な達成目標]
(1)ソフトウェア開発に便利なツールが理解できる.
(2)字句解析の役割を理解でき,その簡単なプログラムが作成できる.
(3)プログラミング言語の文法を理解できる.
(4)構文解析の役割を理解でき,その簡単なプログラムが作成できる.
(5)記号表の役割が理解でき,その簡単なプログラムが作成できる.
(6)簡単なコンパイラを設計することができる.
[必要知識・準備]
本講義を履修するためには,授業科目「情報処理および実習」,「情報数学基礎」,「プログラミング入門」,「プログラミング入門演習」,「アルゴリズムとデータ構造I」,「アルゴリズムとデータ構造I演習」,「アルゴリズムとデータ構造II」,「アルゴリズムとデータ構造II演習」,「計算機アーキテクチャI」,「計算機アーキテクチャII」,「オートマトンと言語」をあらかじめ履修し,それらの内容を十分に理解していること.また,「コンパイラ」,「プログラミング言語論」を同時に履修することが望ましい.
[評価基準]
評価基準はどの程度演習目標に達したかであり,最終評価は3回のレポート及び出席を兼ねた小テスト,課題の解答,課題の公開とプレゼンテーションで行う.提出期限を過ぎたレポートおよび報告内容が十分でないレポートは受理しない.それは限られた時間内に達成できた成果を重視するからである.配点は,レポート70%,出席を兼ねた小テスト2%,課題の解答8%,課題の公開とプレゼンテーション20%である.
[教科書]
  1. 湯浅太一, コンパイラ, 昭晃堂, ISBN:4-7856-2050-1
[参考書]
(未登録)
[講義項目]
(01)コンパイラの動作
(02)字句解析プログラムの自動生成
(03)コンパイラのプログラムの作成準備
(04)字句解析プログラムの作成
(05)記号表の作成(1)
(06)記号表の作成(2)
(07)構文解析プログラムの自動生成
(08)構文解析系の作成(1)
(09)構文解析系の作成(2)
(10)構文解析系の作成(3)
(11)構文解析形の作成(4)
(12)構文解析フェーズ以降のフェーズ(1)
(13)構文解析フェーズ以降のフェーズ(2)
(14)構文解析フェーズ以降のフェーズ(3)
[教育方法]
演習前半の比較的簡単な課題では,自由度を大きくして学生自身のプログラムの公開を推奨している.狙いは,オリジナリティを含むプログラムを作成する積極的な参加者にプラス評価を与えることとプログラム作成における豊富なアプローチに関する資料をクラスで共有することの両方である.
また,後半の複雑な課題では,プログラムの骨格を提示して詳細化する形式で課題を出題している.
[JABEEプログラムの学習・教育目標との対応]
教育目標(A)技術者としての倫理に関しては,コンパイラの基本動作を理解し,コンパイラの性能がソフトウェアの性能に大きく影響することを学ぶ.
教育目標(B)情報の表現方法と処理手法に関しては,コンパイラの構造,文字列処理の方法を学ぶ.この教育目標を達成することに重点を置いている.
教育目標(C)問題のモデル化と問題解決能力に関しては,高水準プログラミング言語の文法と意味について学ぶ.
教育目標(D)ソフトウェアツールの習得に関しては,コンパイラ生成系,実行ファイル生成系を用いたプログラミングを学ぶ.
[その他]
(未登録)