8103 - 程式語言與編譯器
Programming Language and Compiler
教育目標 Course Target
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.
7. Understand principles of functional, imperative, and logic programming languages.
8. Understand meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming.
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.
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.
7. Understand principles of functional, imperative, and logic programming languages.
8. Understand meta-circular interpreters, semantics (operational and denotational), type systems (polymorphism, inference, and abstract types), object oriented programming.
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.
參考書目 Reference Books
class note/self editing
class note/self editing
評分方式 Grading
| 評分項目 Grading Method  | 
                                    配分比例 Percentage  | 
                                    說明 Description  | 
                                
|---|---|---|
| 
                                                 midterm midterm                                              | 
                                            15 | |
| 
                                                 final final                                              | 
                                            15 | |
| 
                                                 homework/quiz homework/quiz                                              | 
                                            70 | 
授課大綱 Course Plan
                        點擊下方連結查看詳細授課大綱
                        Click the link below to view the detailed course plan
                    
相似課程 Related Courses
無相似課程 No related courses found
課程資訊 Course Information
基本資料 Basic Information
- 課程代碼 Course Code: 8103
 - 學分 Credit: 3-0
 - 
                                上課時間 Course Time:Tuesday/11,12,13[ST436]
 - 
                                授課教師 Teacher:許宏誌
 - 
                                修課班級 Class:資工系3
 
交換生/外籍生選課登記
請點選上方按鈕加入登記清單,再等候任課教師審核。
                Add this class to your wishlist by clicking the button above.