本課程旨在介紹編譯器(Compilers)的工作原理與實作方式,本課程的學習者應可達到以下的目標:
1. 瞭解編譯器產生器的技術與原理,並能實作。
2. 瞭解語彙分析方法,對於簡易的程式語言,能夠實作出相關的語彙分析器.
3. 瞭解語法分析方法,對於簡易的程式語言,能夠實作出相關的語法分析器.
4. 瞭解語意分析方法,對於簡易的程式語言,能夠構建出抽象的語法分析樹,並能實作出由下而上的翻譯產生器.
5. 瞭解中介碼的產生方式,對於簡易的程式語言,可以實作出相關的中介碼產生器.
6. 瞭解目的碼的產生方式,對於簡易的程式語言,可以實作出相關的目的碼產生器.
學習本課程能夠瞭解程式語言的編譯過程,包括
1.語彙如何形成。
2.語法如何檢查。
3.語意如何產生。
本課程的知識也可以充分運用在不同的地方,例如:
1.因瞭解編譯原理,可以加快程式語言的學習。
2.語彙檢查方式,可以運用在字串比對。This course aims to introduce the working principles and ways of compilers. Learners of this course should achieve the following goals:
1. Understand the techniques and principles of translator generators and be able to implement them.
2. Understand language analysis methods and be able to make relevant language analyzers for simple programming languages.
3. Understand syntax analysis methods and be able to make relevant syntax analyzers for simple programming languages.
4. Understand the verbal analysis methods, and for simple programming languages, you can construct abstract grammatical analysis trees, and can actually make bottom-up translation generators.
5. Understand how mediation codes are generated. For simple programming languages, you can create related mediation code generators.
6. Understand how destination codes are generated, and for simple programming languages, relevant destination code generators can be made.
Learning this course can understand the translation process of the programming language, including
1. How to form a linguistic.
2. How to check syntax.
3. How does the meaning come about.
The knowledge of this course can also be fully utilized in different places, such as:
1. Understanding the principles of translation can speed up the learning of programming language.
2. The language inspection method can be used in string comparison.
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.
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.
Compilers: Principles, Techniques, and Tools. 2nd edition
(ISBN-10: 0321486811 and ISBN-13: 9780321486813)
本書有中文版
Compilers: Principles, Techniques, and Tools. 2nd edition
(ISBN-10: 0321486811 and ISBN-13: 9780321486813)
This book has a Chinese version
評分項目 Grading Method | 配分比例 Grading percentage | 說明 Description |
---|---|---|
期中考試期中考試 Midterm exam |
20 | |
平時測驗平時測驗 Daily test |
10 | |
期末考試期末考試 Final exam |
30 | |
作業作業 Action |
20 | 作業3-4次 |
專題作業專題作業 Special Actions |
10 | |
課程表現課程表現 Course Performance |
10 | 上課出席率、隨堂測驗、上課問答等 |