http://desc.ithu.tw/111/2/1040
1040編譯器 115/04/18 22:09:26
111學年第二學期東海大學教師授課計劃表
Course Plan of Tunghai University
一、課程基本資料 Course Information
開課系所
Department
(日)資工系Department of Computer Science
課程名稱
Course Title
中文 (Chinese) : 編譯器
英文 (English) : Compiler
必選修類別
Required/Elective
必選Required 先修課程
Prerequisites
計算機概論/程式語言/系統程式與組合語言
學分數
Credits
0 - 3
先修課程說明
Prerequisites instruction
課程概述
(系所共同性目標)
Course Description
A compiler is a program that translates programs written in a source language into programs written in a target language. This course introduces the principles, techniques and tools for constructing a compiler. An emphasis is also placed on a programming project that applies the techniques and tools learned from the course to implement a compiler for a small language.
本課程是否為
英語授課(Taught in English)
否(No)
二、教師相關資料 Instruction Information
授課教師資料
授課教師
Instructor
楊朝棟 / ctyang@thu.edu.tw /
行動電話 0936146247 常用聯絡方式 ctyang@thu.edu.tw
上課時間、地點
Class Time And Classroom
一/6,7,8[L208]
晤談時間、地點
Office Hours And Classroom
週三 下午 2:10~4:00
週五 下午 2:10~4:00
三、課程大綱 Syllabus (本課程大綱教師得依實際教學進度及學生學習情況進行調整)
■  課程目標及內涵 (Course Objectives and Contents)
At the end of this course, students should be able to:
1. Understand the principles and techniques of automatic program generators.
2. Understand lexical analysis and implement a scanner for a simple language using a scanner generator.
3. Understand syntax analysis and implement a parser for a simple language using a parser generator.
4. Understand semantic analysis and implement an abstract syntax tree constructor for a simple language using a bottom-up translator generator.
5. Understand intermediate code generation and implement a pretty printer for a simple language using a recursive evaluator.
6. Understand code generation and implement a code generator for a simple language using a recursive evaluator.

Programming language representation: concrete and abstract syntax, context free grammars. Use of lexer and parser generators. Implementation of expressions and statements in a simple language by postfix code and by simple machine code; simple optimizations. Procedures: value, name and reference parameters, local and non-local variables, static and dynamic binding. Abstract machines and storage management: activation records, static and dynamic chains, stacks and heaps.
■  多元教學方式 (Muliti-Teaching Methods)
說明:除了課堂講授與考試測驗之外,本課程在學期中可能會運用到以下哪些教學方式,以期能進一步提升學生學習成效
1.專題研究或實習Special topic or Internship
2.期末報告/策展/發表 Term Paper/ Exhibition/ Presentation
3.配合專業軟體的使用與教學Incorporation with instruction and use of professional software
4.配合使用數位教學平台(tMoodle)、愛學網(iLearn)Incorporation with digital learning platform (Moodle) or with other multimedia instruction
■  主要參考書籍/資料 (Textbooks and References) (教科書遵守智慧財產權觀念不得非法影印)
書名 Compilers: Principles, Techniques, and Tools
出版社 Addison-Wesley
作者 A. V. Aho, R. Sethi, and J. D. Ullman
出版年 2007
■  本課程是否有使用原文書 
■  教學進度(Course Schedule) - 18週次(Weeks)
週次
Week
日期
Date
內容主題
Course Topics and Contents

指定閱讀資料
Course Reading Materials
1 112/02/13 ~ 112/02/18 Introduction to Compilers
2 112/02/19 ~ 112/02/25 Lexical Analysis
3 112/02/26 ~ 112/03/04 Lexical Analysis
4 112/03/05 ~ 112/03/11 Lexical Analysis
5 112/03/12 ~ 112/03/18 Top-down Syntax Analysis
6 112/03/19 ~ 112/03/25 Top-down Syntax Analysis
7 112/03/26 ~ 112/04/01 Top-down Syntax Analysis
8 112/04/02 ~ 112/04/08 Bottom–up Syntax Analysis
9 112/04/09 ~ 112/04/15 Middle examination
10 112/04/16 ~ 112/04/22 Bottom–up Syntax Analysis
11 112/04/23 ~ 112/04/29 Bottom–up Syntax Analysis
12 112/04/30 ~ 112/05/06 Semantics Analysis
13 112/05/07 ~ 112/05/13 Semantics Analysis
14 112/05/14 ~ 112/05/20 Intermediate Code Generation
15 112/05/21 ~ 112/05/27 Intermediate Code Generation
16 112/05/28 ~ 112/06/03 Code Generation
17 112/06/04 ~ 112/06/10 Code Generation
18 112/06/11 ~ 112/06/17 Final examination

■  評分方式 (Grading Policy)

  評分項目
Assessment Item
配分比例
Percentage
相關說明
Description
1 作業 20%
2 小考 10%
3 專題 20%
4 期中考 25%
5 期末考 25%
■  相關參考書目 (Other Useful Readings)
Compilers: Principles, Techniques, and Tools (英语)
Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author)
ISBN-13: 978-0321486813
ISBN-10: 0321486811
■  本課程具有如下意涵:

No.
課程意涵
1 服務學習Service Learning  
2 生涯規劃Career Planning  
3 性別平等教育Gender Equality  
4 人權教育Human Rights  
5 保護智慧財產權Protection of Intellectual Property Rights  
6 藝術與美感教育Art and Aesthetic Education  
7 健康醫療照護Health and Medical Caring  
8 生命教育Life Education  
9 食品安全Food Safety  
10 環境教育Environmental Education  
■  本課程可做為學生職涯發展之準備 
四、課程內涵與學生核心能力之對應
Correspondence Between Course Contents and Core Competency

No.
課程內涵與學生核心能力之對應
Correspondence Between Course Contents and Core Competency
1 運用數學、科學、工程與資訊科技知識的能力
2 分析問題與定義需求的能力
3 設計與實作元件或系統所需的技術能力
4 實務應用所需的工具使用能力
5 配合與執行工程與管理的能力  
6 具備團隊合作的能力並理解專業倫理  
7 吸收科技新知與產業動態的能力  
8 建立科技語文表達的能力  
五、課程內涵與學生就業力之對應
Correspondence Between Course Contents and Employability

No.
課程內涵與學生就業力之對應
Correspondence Between Course Contents and Employability
1 學習意願強、可塑性高Strong learning motivation and high adaptability  
2 穩定度與抗壓性高High stability and stress resistance  
3 培養團隊合作或領導統御能力Cultivate teamwork collaboration or leadership skills  
4 專業知識與技術Professional knowledge and expertise skills
5 具有發現、分析、解決問題能力Capabilities in problem identification, analysis, and resolution  
6 具有國際觀與外語能力International perspectives and foreign language abilities  
7 具有創新創業能力Entrepreneurial and innovative capabilities  
8 融會貫通能力Ability for comprehensive integration and mastery of knowledge  
9 具有口語表達與人際溝通能力Possession of oral expression and interpersonal communication skills  
10 跨領域整合與多元適應能力Cross-disciplinary integration and diverse adaptation capabilities  
11 具有中/英文報告書寫能力Possession of Chinese/English report writing  
12 具有實作/實習或就業接軌能力Ability to implement/practice or transition into employment  
13 具有社會服務學習能力Capacity for learning social service  
14 具有邏輯運算思維能力Logical / computational thinking ability
15 培養數位科技應用能力Cultivation of application abilities digital technology
六、本課程與職業能力就業領域之對應
Correspondence Between Professional Skills and Future Careers

No.
本課程與職業能力就業領域之對應
Correspondence Between Professional Skills and Future Careers
1 通訊傳播(Communications)  
2 視覺藝術(Visual Arts)  
3 企業資訊管理(Corporate Information Management)  
4 運籌管理(Operations Management )  
5 健康產業及醫務管理(Health Industry and Healthcare Administration )  
6 軟體開發及程式設計(Software Development and Computer Programming )
7 資訊支援與服務(Technical Support and Services)
8 網路規劃與建置管理(Network Planning and Construction Management)  
9 數位內容與傳播(Digital Content and Communication)  
10 資訊安全技術與服務(Cyber Security Technologies and Services)  
11 市場分析研究(Market Analysis and Research)  
12 品質管理(Quality Management)  
13 製程研發(Manufacturing Process Research and Development)  
14 工程及技術(Engineering and Technology)
15 數學及科學(Mathematics and Science)  
115/04/18 22:09:26