対象年度 | 2004 |
教育課程名 | 昼間コース 主専門教育課程 学科別科目 |
授業科目名 | 言語処理系論 |
Subject Name | Language Processor |
単位数 | 2 |
必修・選択の別 | 選択 |
対象学科・学年 | 情報工学科2年 |
開講時期 | 後期 |
授業方法 | 講義 |
担当教官 | 徳田功(TOKUDA, Isao)(情報工学科 知識工学講座) |
教官室番号 | V616 |
連絡先(Tel) | 46-5431 |
連絡先(E-Mail) | tokuda@csse.muroran-it.ac.jp |
授業のねらい | 形式的言語とその構文解析の方法,および簡単なコンパイラを 作成するのに必要な技法について学ぶ。 |
授業の目標 | 1.計算機言語の処理系(コンパイラ)の基本的な論理構造とその設計方法を理解する。 2.言語の構文解析理論とその実現法について理解する。 |
授業計画 | 第1週 言語処理系の流れ: 言語処理系とその流れ(字句解析,構文解析,意味解析,コード生成) を理解する。 第2週 形式言語: 形式言語理論(チョムスキー理論)およびオートマトン理論を概観する。 第3週 形式文法: 正規表現,有限オートマトン,文脈自由文法の関係について理解する。 第4週 字句解析1: マイクロ構文とEBNF記法による字句の定義を行う。 第5週 字句解析2: 記号の認識,字句解析子の出力など,文字列から字句を生成する処理 について学ぶ。 第6週 字句解析3: 字句の構文が正規表現にあたり、字句解析が有限オートマトンの構成に 対応することを理解する。 第7週 構文解析1: 文脈自由文法とトップダウン構文解析について学ぶ。 第8週 構文解析2: トップダウン構文解析の代表的な文法であるLL文法について学ぶ。 第9週 構文解析3: ボトムアップ構文解析について学ぶ。 第10週 構文解析4: ボトムアップ構文解析の代表例である演算子順位解析について学ぶ。 第11週 意味解析1: 記号表の構造や管理法について学ぶ。 第12週 意味解析2: 各種データ構造に対する記憶域の割り当て法や実行時の領域の管理法 について学ぶ。 第13週 コード生成: 中間コードおよびコード生成のためのデータ構造について学ぶ。 第14週 機械語の生成: 計算機アーキテクチャの特徴、及びその制御構造に対するコード生成 について学ぶ。 第15週 エラー回復と診断: エラー処理(エラーの発見、エラーからの復帰等)について学ぶ。 |
教科書及び教材 | 講義毎に関連する教材を配布する。 |
参考書 | エイホ他著「コンパイラ 原理・技法・ツール」サイエンス社 1990 佐々政孝著「プログラミング言語処理系」岩波書店 1989 |
成績評価方法 | 定期試験 50% レポート 50% 不合格の場合、一回に限り再試験を実施する。 |
履修条件等 | C言語等の計算機言語の経験があること。正規表現、有限オートマトン、 文脈自由文法・言語を理解していることが望ましい。 |
教官からのメッセージ | |
その他 | |