課程介紹 |
課程名稱: |
編譯器
|
縣 市: |
新竹市
|
上課時間: |
三
|
起始日期: |
2022/2/14
|
結束日期: |
2022/6/17
|
上課地點: |
陽明交大新竹光復校區
|
相關鏈結: |
|
課程介紹: |
課程名稱:(中文) 編譯器
(英文) Compilers
開課單位:電機專
當期課號:5003
永久課號:IEC5016
學分數:3.00
必/選修:選修
授課教師:游逸平
先修科目或先備能力:
Programming Languages, Data Structures, and Assembly Language and System Programming
課程概述與目標:
This course is intended to explore the principal ideas and techniques of compiler construction. Topics include lexical analysis, syntax analysis including LL and LR parsers, type checking, run-time environments, symbol tables, code generation, and compiler-construction tools. Some compiler optimization techniques will also be covered.
This course aims to give you a solid foundation in the theory of compiler construction as well as the experience of building a compiler. Much of what you have learned about algorithms and data structures will come to bear as you study and implement the various components of a compiler. In a sense, compiler construction is a showcase for many other disciplines of computer science.
Course Objectives:
(1) To learn structure of compilers.
(2) To learn techniques used in compiler construction such as lexical analysis, top-down and bottom-up parsing, context-sensitive analysis, intermediate code generation, and code optimization.
(3) To learn basic data structures used in compiler construction such as abstract syntax trees, symbol tables, three-address code, and stack machines.
(4) To learn software tools used in compiler construction such as lexical analyzer generators (Lex), and parser generators (Yacc).
(5) To construct a compiler for a small language using the above techniques and tools.
教科書(請註明書名、作者、出版社、出版年等資訊):
Required textbook:
Compilers: Principles, Techniques, and Tools (2nd edition), by Aho, Lam, Sethi, and Ullman, Addison Wesley, 2007.
Reference book:
Lex & Yacc, by Doug Brown, John Levine, and Tony Mason, O'Reilly Media, 1995.
課程大綱
分配時數
備註
單元主題
內容綱要
講授
示範
習作
其他
Introduction
- Course introduction
- Overview of compilers, phases of a compiler
3
Lexical analysis, scanning
- Regular expressions, lex/flex, start on FSA
- How lex works, NFAs, DFAs
9
3
Syntax analysis, parsing
- Context free grammars, ambiguity
- Yacc/Bison introduction, top-down parsers
- Top-down parsers, intro to bottom-up parsers
- Bottom-up parsers
- LR parsing
15
3
Context-Sensitive Analysis
- Syntax-directed definitions, intro to semantic analysis
- Type checking
6
3
Runtime environments
- Symbol tables
- Stack/heap managemen
6
Code generation
- Generating code for JVM, Jasmin assembly language
6
3
Code optimization
- Data-flow analysis
- Instruction scheduling/register allocation
6
教學要點概述
1.學期作業、考試、評量:
1學期作業
The course involves a significant programming project - implementing a compiler for a simple programming language. The project will build the compiler as a series of phases and you must keep pace with the project in order to be successful in this course. The project draws heavily on much of what you have learned thus far and will stretch your programming skills. You are free to choose the language you will use for the programming project. You will be assigned to generate code for the Java virtual machine.
The penalty for late homework is 15% per day (weekends count as 1 day). Late homework will not be accepted after the solutions have been posted.
There will be NO CREDIT given for plagiarism.
2.考試狀況
Midterm and final exams
3.評量方法
Midterm Exam 30%
Final Exam 30%
Course Projects 40%
2.教學方法及教學相關配合事項(如助教、網站或圖書及資料庫等):
Course website and TAs will be announced in the first week of the semester.
|
教學內容: |
課程大綱請點我
|
師資介紹: |
授課老師:游逸平
|
備 註: |
『因報名人數不足,採隨班附讀方式辦理』
1.線上系統報名截止日期:111年01月10日 (一) 至111年02月08日(二)中午12:00止。
2.報名選課請慎重考慮,學員完成報名繳費後,學費、報名費及英文學分證書加印費一經繳納到學校不得以任何理由要求退費。
3.開課後兩週內,如經雙方授課教師同意方可辦理換選或保留至該學年結束,但不得要求退費。
4.為製作上課證,請於選課系統(其他資料)上傳1吋大頭貼電子檔。
5.上課證及繳費收據請於開學後至專班辦公室領取,恕無法配合預先開收據或補開收據之要求(若有報帳需求者請提供公司名稱及統一編號)。
6.學分證書請妥善保管,恕不受理申請補發。
7.專班上班時間:週一至 週五10:30~19:30
1/22、28、2/07為共同寒休日,專班未提供服務,造成諸多不便,敬請見諒。
中午12:00~13:30有午膳休息時間,請避免在此時段來電詢問。
8.學分班聯絡電話:(03)5712121 ext.54018 專班信箱 : nycu.dpeecs@gmail.com
|
學分班註記: |
是
|
學分數: |
3.0
|
課程時數: |
54.0
|
課程狀態: |
結業
|
上架日期: |
2022/1/18 上午 09:56:36
|
更新日期: |
2022/9/23 上午 10:00:55
|
|
上課地點 |
名 稱: |
陽明交大新竹光復校區
|
簡 介: |
機車請停機車停車棚,不得入校。
汽車請於學校大門口領取臨時停車卷(30元/1小時),
再於班上講買計次停車卷(50元/1次出校門)。
汽車請勿停於紅、藍線,以免被開罰單!
校園地圖:https://www.nctu.edu.tw/wp-content/uploads/2020/05/campus_map_kf_admin.jpg
交通資訊:https://www.nctu.edu.tw/directions-to-nctu |
地 址: |
新竹市東區大學路1001號
|
電 話: |
|
傳 真: |
|
連絡人: |
|
email: |
|
|