科目名 | コンパイラ | ||
単位数 | 2.0 | ||
担当者 | 准教授 岩根 典之 | ||
履修時期 | 前期(第2ターム) | ||
履修対象 | 3年次以上 | ||
講義形態 | 講義 | ||
講義の目的 | コンパイラを実現するための基本的な考え方や原理、および実現法について学ぶ。コンパイラがどのようにソースプログラムからオブジェクトプログラムに変換しているのか理解する。コンパイラの基本要素や仕組みに関する演習課題を通じて体験的に知識を身につける。 | ||
到達目標 |
・コンパイラの基本的な機能と構造を説明できる【知識2、技能1】 ・簡単なコンパイラの構成要素を設計できる【思考力・判断力、表現力】 ・コンパイラの機能の一部を実装してコンピュータで実行できるようになる【主体性、思考力・判断力】 |
||
受講要件 | ノートPC等を持参する(教室でe-learningも利用します)。 | ||
履修取消の可否 | 可 | ||
履修取消不可の理由 | |||
事前・事後学修 |
事前・事後学修のためのプリント等をeラーニングシステムで配付する。 事前学習として教科書の授業範囲を読んで配布資料に疑問点などを書き込む。 事後学習として教科書を読みなおして配布資料の基本用語を用いてマップを書き込む。 授業で取り上げられる考え方やアルゴリズムは実際にプログラミングして動作を確かめる。 |
||
講義内容 |
1 コンパイラの概要(プログラミング言語とその処理系) 2 プログラミング言語と文法 3 字句解析(正規表現と有限オートマトン) 4 字句解析(字句解析プログラム) 5 構文解析とは 6 構文解析(再帰的下向き構文解析) 7 構文解析(LR構文解析の基本) 8 構文解析(LR構文解析の実際,構文解析プログラム) 9 簡単なコンパイラの設計 10 簡単なコンパイラの実装 11 意味解析 12 コードの実行環境 13 コード生成(算術式) 14 コード生成(論理式) 15 まとめ(最適化) ※授業の順序は変更することがある。 |
||
期末試験実施の有無 | 実施する | ||
評価方法・基準 |
受講態度とレポート、期末試験で総合的に評価する。 ・小テストやレポート20% ・期末テスト80% |
||
教科書等 |
教科書:湯淺太一著「コンパイラ」(オーム社) 参考書:A.V.Aho他著、原田賢一訳「コンパイラ原理・技法・ツール」(サイエンス社) 佐々政孝著「プログラミング言語処理系」(岩波書店) 中田育男著「コンパイラの構成と最適化」(朝倉書店) |
||
担当者プロフィール |
学習システムのモデル化や設計に関する研究に従事。 |
||
講義に関連する実務経験 | |||
課題や試験に対するフィードバック |
小テストや課題については実施後に解答例を示す。 PC演習について実演して解説する。 |
||
アクティブ・ラーニング | 振り返り | ||
キーワード | プログラミング言語と文法、字句解析、構文解析、コード生成、最適化 | ||
備考 |
【教職】高一種(情報) |