|
課程名稱 |
編譯程式設計 Compiler Design |
|
開課學期 |
108-1 |
|
授課對象 |
電機資訊學院 資訊工程學系 |
|
授課教師 |
徐慰中 |
|
課號 |
CSIE3230 |
|
課程識別碼 |
902 39200 |
|
班次 |
|
|
學分 |
3.0 |
|
全/半年 |
半年 |
|
必/選修 |
選修 |
|
上課時間 |
星期四7,8,9(14:20~17:20) |
|
上課地點 |
資107 |
|
備註 |
總人數上限:30人 |
|
Ceiba 課程網頁 |
http://ceiba.ntu.edu.tw/1081CSIE3230_Compile |
|
課程簡介影片 |
|
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
|
課程大綱
|
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
|
課程概述 |
Overview
Design of a simple compiler
Theory and practice of Scanning
Formal grammars and parsing
Top-down parsing
Bottom-up parsing
Syntax-directed compilation
Declaration processing and Symbol tables
Semantic analysis
Code generation
Program analysis and Optimization
|
|
課程目標 |
This course is an introduction to compiler design and development. Its focus is on the process and techniques in constructing a compiler, including lexical analysis, parsing, symbol table manipulation, code generation and code optimization. The theory, techniques and algorithms associated with a compiler can be applied to a wide range of problems in software design and development. The goal of this course is to provide students with the essential theory and techniques in building a simple yet complete compiler which generates real ISA (Instruction Set Architecture) code such as the ARMv8. |
|
課程要求 |
Students are required to implement a real compiler |
|
預期每週課前或/與課後學習時數 |
|
|
Office Hours |
每週四 10:00~12:00 |
|
指定閱讀 |
待C. N. Fischer, R. K. Cytron, R. J. LeBlanc,
"Crafting a Compiler"
2010
ISBN 10: 0-13-606705-0
ISBN 13: 978-0-13-606705-4
A.V. Aho, M. Lam, R. Sethi, and J.D. Ullman
“Compilers: Principles, Techniques and Tools”
2nd edition, 2007
ISBN 0-321-48681-1補 |
|
參考書目 |
C. N. Fischer, R. K. Cytron, R. J. LeBlanc,
"Crafting a Compiler"
2010
ISBN 10: 0-13-606705-0
ISBN 13: 978-0-13-606705-4
A.V. Aho, M. Lam, R. Sethi, and J.D. Ullman
“Compilers: Principles, Techniques and Tools”
2nd edition, 2007
ISBN 0-321-48681-1
|
|
評量方式 (僅供參考) |
- 本校尚無訂定 A+ 比例上限。
- 本校採用等第制評定成績,學生成績評量辦法中的百分制分數區間與單科成績對照表僅供參考,授課教師可依等第定義調整分數區間。詳見學習評量專區 (連結)。
|
|