1158 - 編譯器 英授 Taught in English

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.

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.

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

書名 Compilers: Principles, Techniques, and Tools
出版社 Addison-Wesley
作者 A. V. Aho, R. Sethi, and J. D. Ullman
出版年 2007

Book Name Compilers: Principles, Techniques, and Tools
Publisher Addison-Wesley
Authors A. V. Aho, R. Sethi, and J. D. Ullman
Year of Publishing 2007

評分方式 Grading

評分項目
Grading Method
配分比例
Percentage
說明
Description
作業
Action
20
小考
Small exam
10
專題
Special topic
20
期中考
Midterm exam
25
期末考
Final exam
25

授課大綱 Course Plan

點擊下方連結查看詳細授課大綱
Click the link below to view the detailed course plan

查看授課大綱 View Course Plan

相似課程 Related Courses

課程代碼
Course Code
課程名稱
Course Name
授課教師
Instructor
時間地點
Time & Room
學分
Credits
操作
Actions
必修-8114
資工系4 張啟中 一/11,12,13[C107] 0-3 詳細資訊 Details

課程資訊 Course Information

基本資料 Basic Information

  • 課程代碼 Course Code: 1158
  • 學分 Credit: 0-3
  • 上課時間 Course Time:
    Monday/2,3,4[SS101]
  • 授課教師 Teacher:
    楊朝棟
  • 修課班級 Class:
    資工系資電組,軟工組3
  • 選課備註 Memo:
    資電組、軟工組合班上課
選課狀態 Enrollment Status

目前選課人數 Current Enrollment: 93 人

交換生/外籍生選課登記

請點選上方按鈕加入登記清單,再等候任課教師審核。
Add this class to your wishlist by clicking the button above.