シラバス参照 |
講義概要/Course Information |
科目基礎情報/General Information |
授業科目名 /Course title (Japanese) |
言語処理系論 | ||
---|---|---|---|
英文授業科目名 /Course title (English) |
Compiler | ||
科目番号 /Code |
COM504c COM504d | ||
開講年度 /Academic year |
2020年度 | 開講年次 /Year offered |
3 |
開講学期 /Semester(s) offered |
前学期 | 開講コース・課程 /Faculty offering the course |
情報理工学域 |
授業の方法 /Teaching method |
講義 | 単位数 /Credits |
2 |
科目区分 /Category |
専門科目 | ||
開講学科・専攻 /Cluster/Department |
Ⅰ類 | ||
担当教員名 /Lecturer(s) |
岩崎 英哉 | ||
居室 /Office |
西9号館517 | ||
公開E-Mail |
iwasaki@cs.uec.ac.jp | ||
授業関連Webページ /Course website |
なし | ||
更新日 /Last updated |
2020/03/11 12:40:33 | 更新状況 /Update status |
公開中 /now open to public |
講義情報/Course Description |
主題および 達成目標 /Topic and goals |
コンパイラの原理を理解することによって,字句解析,構文解析などの言語処理プロセスや,有限オートマトンなど,そこで使われている計算機科学で発展した理論や技術について学ぶとともに,LEX,YACCを用いて簡単な言語処理系を構築できるだけの実践力もつける.達成目標は次の通りである. (1)コンパイラの基本原理を理解する. (2)文法と基本的な構文解析法について理解する. (3)LEX,YACCを用いて簡単な言語処理系を記述できるようになる. |
---|---|
前もって履修 しておくべき科目 /Prerequisites |
基礎プログラミングおよび演習,プログラミング通論 |
前もって履修しておくこ とが望ましい科目 /Recommended prerequisites and preparation |
なし |
教科書等 /Course textbooks and materials |
プリントを配布する. |
授業内容と その進め方 /Course outline and weekly schedule |
第1回: コンパイラの概要 第2回: コンパイラによるコード生成の例 (1) 制御構造 第3回: コンパイラによるコード生成の例 (2) 関数呼出し 第4回: プログラミング言語の形式的定義 BNF 第5回: 字句解析 第6回: 構文解析 (1) 再帰下降型構文解析 第7回: 構文解析 (2) LR構文解析 第8回: LEXを用いた字句解析 第9回: YACCを用いた構文解析 第10回: 意味解析 第11回: 実行時環境 第12回: コード生成 (1) 文のコード生成 第13回: コード生成 (2) 式のコード生成 第14回: 最適化 第15回: まとめ |
実務経験を活かした 授業内容 (実務経験内容も含む) /Course content utilizing practical experience |
|
授業時間外の学習 (予習・復習等) /Preparation and review outside class |
本講義の内容は,具体的なプログラミング作業を行うことによって,より深く理解することができる.したがって,特に復習の過程におけるプログラミングは欠かせない. |
成績評価方法 および評価基準 (最低達成基準を含む) /Evaluation and grading |
期末試験で評価する. 最低達成基準は次の通り. (1)コンパイラの基本原理を理解していること. (2)文法と基本的な構文解析法について理解していること. (3)LEX,YACCを用いて簡単な言語処理系を記述できること. |
オフィスアワー: 授業相談 /Office hours |
前もって電子メール等で訪問日時を予約すること. |
学生へのメッセージ /Message for students |
言語処理系,コンパイラの中身を知っていることは,情報にかかわる限りいつか必ず役に立つので,しっかりと学習してほしい. |
その他 /Others |
なし |
キーワード /Keyword(s) |
コンパイラ,文法,構文解析,コード生成,最適化 |