|   シラバス参照 | 
| 講義概要/Course Information | 
| 科目基礎情報/General Information | 
| 授業科目名 /Course title (Japanese) | 言語処理系論 | ||
|---|---|---|---|
| 英文授業科目名 /Course title (English) | Compiler | ||
| 科目番号 /Code | COM504c COM504d | ||
| 開講年度 /Academic year | 2021年度 | 開講年次 /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 | https://ipl.cs.uec.ac.jp/~iwasaki/lecture/gs2021/index.html (電気通信大学からのみアクセス可) | ||
| 更新日 /Last update | 2021/03/15 12:28:59 | 更新状況 /Update status | 公開中 /now open to public | 
| 講義情報/Course Description | 
| 主題および 達成目標(2,000文字以内) /Themes and goals(up to 2,000 letters) | コンパイラの原理を理解することによって,字句解析,構文解析などの言語処理プロセスや,有限オートマトンなど,そこで使われている計算機科学で発展した理論や技術について学ぶとともに,LEX,YACCを用いて簡単な言語処理系を構築できるだけの実践力もつける.達成目標は次の通りである. (1)コンパイラの基本原理を理解する. (2)文法と基本的な構文解析法について理解する. (3)LEX,YACCを用いて簡単な言語処理系を記述できるようになる. | 
|---|---|
| 前もって履修 しておくべき科目(1,000文字以内) /Prerequisites(up to 1,000 letters) | 基礎プログラミングおよび演習,プログラミング通論 | 
| 前もって履修しておくこ とが望ましい科目(1,000文字以内) /Recommended prerequisites and preparation(up to 1,000 letters) | なし | 
| 教科書等(1,000文字以内) /Course textbooks and materials(up to 1,000 letters) | プリントを配布する. | 
| 授業内容と その進め方(2,000文字以内) /Course outline and weekly schedule(up to 2,000 letters) | (a) 授業内容 第1回: コンパイラの概要 第2回: プログラミング言語の形式的定義 BNF 第3回: 字句解析 第4回: 構文解析 (1) 再帰下降型構文解析 第5回: 構文解析 (2) LR構文解析 第6回: LEXを用いた字句解析 第7回: YACCを用いた構文解析 第8回: 簡単な言語のコンパイラの実際 (1) 言語の文法と構文解析 第9回: 簡単な言語のコンパイラの実際 (2) 抽象構文木と意味解析 第10回: 簡単な言語のコンパイラの実際 (3) 生成するコードの雛形 第11回: 簡単な言語のコンパイラの実際 (4) 文のコード生成 第12回: 簡単な言語のコンパイラの実際 (5) 式のコード生成 第13回: 簡単な言語のコンパイラの実際 (6) 実行時環境 第14回: 最適化 第15回: まとめ | 
| 実務経験を活かした 授業内容 (実務経験内容も含む) /Course content utilizing practical experience | |
| 授業時間外の学習 (予習・復習等)(1,000文字以内) /Preparation and review outside class(up to 1,000 letters) | 本講義の内容は,具体的なプログラミング作業を行うことによって,より深く理解することができる.したがって,特に復習の過程において,講義で示したプログラムの動作を確認することが望ましい. | 
| 成績評価方法 および評価基準 (最低達成基準を含む) (1,000文字以内) /Evaluation and grading (up to 1,000 letters) | 講義ごとに行う確認テストと期末試験で評価する.状況によっては,レポートでもって期末試験に代えることもあり得る. 最低達成基準は次の通り. (1)コンパイラの基本原理を理解していること. (2)文法と基本的な構文解析法について理解していること. (3)LEX,YACCを用いて簡単な言語処理系を記述できること. | 
| オフィスアワー: 授業相談(1,000文字以内) /Office hours(up to 1,000 letters) | (オンデマンド方式の場合) WebClassの本講義の掲示板を利用するか,電子メールを用いること. | 
| 学生へのメッセージ(1,000文字以内) /Message for students(up to 1,000 letters) | 言語処理系,コンパイラの中身を知っていることは,情報にかかわる限りいつか必ず役に立つので,しっかりと学習してほしい. | 
| その他 /Others | なし | 
| キーワード /Keywords | コンパイラ,文法,構文解析,コード生成,最適化 |