シラバス参照

講義概要/Course Information
2020/04/28 現在

科目基礎情報/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
/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)
コンパイラ,文法,構文解析,コード生成,最適化