到達目標
1. コンパイラの構成について説明できる。
2. コンパイラの変換の流れを説明できる。
3. 言語理論について理解し,概説できる。
4. 正規表現を理解し,説明できる。
5. 有限オートマトンを理解し,説明できる。
6. 文脈自由文法について理解し,説明できる。
7. 下向き構文解析について理解し,説明できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
到達目標
項目 1, 2 | コンパイラの構成と変換の流れについて理解し、説明できる。 | コンパイラの構成と変換の流れについて理解できる。 | コンパイラの構成と変換の流れについて説明できない。 |
到達目標
項目 3, 4, 5 | 言語理論の概念、および、正規表現と有限オートマトンを理解し、正規表現と有限オートマトンの相互変換が説明できる。 | 言語理論の概念、および、正規表現と有限オートマトンを理解し、説明できる。 | 言語理論の概念、および、正規表現と有限オートマトンを説明できない。 |
到達目標
項目 6, 7 | 文脈自由文法と下向き構文解析について理解し、説明できる。 | 文脈自由文法と下向き構文解析について理解できる。 | 文脈自由文法と下向き構文解析について説明できない。 |
学科の到達目標項目との関係
本科学習目標 1
説明
閉じる
本科学習目標 2
説明
閉じる
創造工学プログラム B1専門(電気電子工学&情報工学)
説明
閉じる
教育方法等
概要:
コンパイラ理論の基礎となるオートマトン・言語理論を学び,コンパイラの字句解析,構文解析などの基本的手法の習得を目標とする。さらに,適宜演習を交えながら「自分の書いたプログラムがどのようにして機械語に変換されるのか?」を実践的に学ぶ。これらの学習を通して,幅広い視点から問題解決する能力を養う。
授業の進め方・方法:
学習の到達度をみるため,演習においてレポート課題を課す。
【関連科目】プログラミングII,アルゴリズムとデータ構造,情報理論Ⅰ
注意点:
講義では教科書以外にプリントを配布します.課題レポートは必ず提出すること。
【評価方法・評価基準】
中間試験,期末試験を実施する。成績の評価基準として60点以上を合格とする。
中間試験(40%),期末試験(40%),レポート(20%)
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
コンパイラについて |
コンパイラの役割と仕組みについて説明できる。
|
2週 |
コンパイラの構成(T図式) |
コンパイラの構成、および、変換の流れをT図式で説明できる。
|
3週 |
文法と言語(1) |
形式言語の概念について説明できる。
|
4週 |
文法と言語(2) |
形式言語の概念について説明できる。
|
5週 |
字句解析(1):正規表現 |
正規表現の概念について説明できる。
|
6週 |
字句解析(2):有限オートマトン |
オートマトンの概念について説明できる。
|
7週 |
字句解析(3):正規表現から有限オートマトンへの変換 |
正規表現から有限オートマトンへの変換について説明できる。
|
8週 |
lexによる字句解析器の生成演習 |
lexを用いて字句解析器を作成できる。
|
4thQ |
9週 |
構文解析(1):文脈自由文法 |
文脈自由文法について説明できる。
|
10週 |
構文解析(2):下向き構文解析(1) |
下向き構文解析の概念について理解できる。
|
11週 |
構文解析(3):下向き構文解析(2) |
下向き構文解析の概念について説明できる。
|
12週 |
構文解析(4):LL(1)文法 |
LL(1)文法の概念について説明できる。
|
13週 |
yaccによる構文解析器の生成演習 |
yaccを用いて構文解析器を作成できる。
|
14週 |
計算機演習 |
lexとyaccを用いて簡単なプログラミング言語を作成できる。
|
15週 |
後期復習 |
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系 | プログラミング | 変数とデータ型の概念を説明できる。 | 4 | |
代入や演算子の概念を理解し、式を記述できる。 | 4 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた簡単な問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 2 | |
ソフトウェア | コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを理解している。 | 2 | |
システムプログラム | 形式言語の概念について説明できる。 | 4 | |
オートマトンの概念について説明できる。 | 4 | |
コンパイラの役割と仕組みについて説明できる。 | 4 | 後1 |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | ポートフォリオ | その他 | 合計 |
総合評価割合 | 80 | 0 | 0 | 0 | 20 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 80 | 0 | 0 | 0 | 20 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |