言語処理系I

科目基礎情報

学校 木更津工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 言語処理系I
科目番号 0084 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 情報工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 宮本衛市著『はじめてのコンパイラ・原理と実践』森北出版、2007年、2520円(税込)
担当教員 丸山 真佐夫

到達目標

コンパイラにおける字句解析、構文解析手法を理解する。さらに形式言語、オートマトンについての基礎を理解する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
コンパイラの構成コンパイラの構成について詳細に理解できるコンパイラの構成について理解できるコンパイラの構成について理解できない
字句解析最長一致法および有限オートマトンによる軸解析の方法を詳細に理解できる最長一致法および有限オートマトンによる軸解析の方法を理解できる最長一致法および有限オートマトンによる軸解析の方法を理解できない
電卓プログラム下向き構文解析手法による数式の文法の解析方法を詳細に理解できる下向き構文解析手法による数式の文法の解析方法を理解できる下向き構文解析手法による数式の文法の解析方法を理解できない

学科の到達目標項目との関係

教育方法等

概要:
字句解析、構文解析の理論とともに、小さなコンパイラのプログラムを通じて具体的な処理内容を学ぶ。
授業の進め方・方法:
字句解析、構文解析の理論については座学および机上の演習によって学ぶ一方、小さなコンパイラを題材として実際のプログラムを読んだり書いたりする演習によってコンパイラの内部を理解する。
注意点:
字句解析、構文解析等の理論を理解することと同時に、本講義では提示された例題プログラムの読解やコーディングも多く要求されるので、プログラミング能力を高める機会とすること。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 コンパイラの基礎概念 インタプリタとコンパイラ各方式、典型的なコンパイラの構成を理解する。
2週 コンパイラの基礎概念 字句解析、構文解析の理論がコンパイラの基礎的な理論であることを理解する。
3週 文法の記述 BNFによる文法記述の方法を理解する。
4週 文法の記述 BNFによってC言語の文法の一部を記述する方法を理解する。
5週 最長一致による字句解析 最長一致による字句解析プログラムの構成方法を理解する。
6週 有限オートマトン 有限オートマトンと正規文法の基礎を理解する。
7週 有限オートマトン 非決定性有限オートマトンを等価な決定性有限オートマトンに変換できることを理解する。
8週 前期中間試験
2ndQ
9週 有限オートマトンによる字句解析 有限オートマトンを用いた字句解析の手法を理解する。
10週 下向き構文解析 下向き構文解析がトップダウンに構文解析木を生成する過程を理解する。
11週 再帰的下向き構文解析プログラム 生成規則に対応する解析プログラムの作り方を理解する。
12週 電卓プログラム演習 四則演算からなる式を解析する電卓プログラムの構成を理解する。
13週 電卓プログラム演習 電卓プログラムのコードを実際に記述できるようになる。
14週 識別子管理 ハッシュ、2分木による識別子管理の手法を理解する。
15週 実行時の計算環境 一般的なコンパイラにおけるメモリ領域の割り付けについて理解する。
16週

評価割合

試験レポート合計
総合評価割合8020100
知識60060
実践的能力202040