到達目標
コンパイラにおける字句解析、構文解析手法を理解する。さらに形式言語、オートマトンについての基礎を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
コンパイラの構成 | コンパイラの構成について詳細に理解できる | コンパイラの構成について理解できる | コンパイラの構成について理解できない |
字句解析 | 最長一致法および有限オートマトンによる軸解析の方法を詳細に理解できる | 最長一致法および有限オートマトンによる軸解析の方法を理解できる | 最長一致法および有限オートマトンによる軸解析の方法を理解できない |
電卓プログラム | 下向き構文解析手法による数式の文法の解析方法を詳細に理解できる | 下向き構文解析手法による数式の文法の解析方法を理解できる | 下向き構文解析手法による数式の文法の解析方法を理解できない |
学科の到達目標項目との関係
JABEE B-2 専門分野の知識と能力
準学士課程 2(2) 専門分野の知識と能力
教育方法等
概要:
字句解析、構文解析の理論とともに、小さなコンパイラのプログラムを通じて具体的な処理内容を学ぶ。
授業の進め方・方法:
字句解析、構文解析の理論については座学および机上の演習によって学ぶ一方、小さなコンパイラを題材として実際のプログラムを読んだり書いたりする演習によってコンパイラの内部を理解する。
注意点:
字句解析、構文解析等の理論を理解することと同時に、本講義では提示された例題プログラムの読解やコーディングも多く要求されるので、プログラミング能力を高める機会とすること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
コンパイラの基礎概念 |
インタプリタとコンパイラ各方式、典型的なコンパイラの構成を理解する。
|
2週 |
コンパイラの基礎概念 |
字句解析、構文解析の理論がコンパイラの基礎的な理論であることを理解する。
|
3週 |
文法の記述 |
BNFによる文法記述の方法を理解する。
|
4週 |
文法の記述 |
BNFによってC言語の文法の一部を記述する方法を理解する。
|
5週 |
最長一致による字句解析 |
最長一致による字句解析プログラムの構成方法を理解する。
|
6週 |
有限オートマトン |
有限オートマトンと正規文法の基礎を理解する。
|
7週 |
有限オートマトン |
非決定性有限オートマトンを等価な決定性有限オートマトンに変換できることを理解する。
|
8週 |
前期中間試験 |
|
2ndQ |
9週 |
有限オートマトンによる字句解析 |
有限オートマトンを用いた字句解析の手法を理解する。
|
10週 |
下向き構文解析 |
下向き構文解析がトップダウンに構文解析木を生成する過程を理解する。
|
11週 |
再帰的下向き構文解析プログラム |
生成規則に対応する解析プログラムの作り方を理解する。
|
12週 |
電卓プログラム演習 |
四則演算からなる式を解析する電卓プログラムの構成を理解する。
|
13週 |
電卓プログラム演習 |
電卓プログラムのコードを実際に記述できるようになる。
|
14週 |
識別子管理 |
ハッシュ、2分木による識別子管理の手法を理解する。
|
15週 |
実行時の計算環境 |
一般的なコンパイラにおけるメモリ領域の割り付けについて理解する。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系 | プログラミング | 主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
システムプログラム | 形式言語の概念について説明できる。 | 2 | |
オートマトンの概念について説明できる。 | 3 | |
コンパイラの役割と仕組みについて説明できる。 | 4 | |
評価割合
| 試験 | レポート | 合計 |
総合評価割合 | 80 | 20 | 100 |
知識 | 60 | 0 | 60 |
実践的能力 | 20 | 20 | 40 |