Home
資訊工程學系
course information of 109 - 1 | 8103 Programming Language and Compiler(程式語言與編譯器)

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 配分比例 Grading percentage 說明 Description
midtermmidterm
midterm
15
finalfinal
final
15
homework/quizhomework/quiz
homework/quiz
70

授課大綱 Course Plan

Click here to open the course plan. Course Plan
交換生/外籍生選課登記 - 請點選下方按鈕加入登記清單,再等候任課教師審核。
Add this class to your wishlist by click the button below.
請先登入才能進行選課登記 Please login first


相似課程 Related Course

很抱歉,沒有符合條件的課程。 Sorry , no courses found.

Course Information

Description

學分 Credit:3-0
上課時間 Course Time:Tuesday/11,12,13[ST436]
授課教師 Teacher:許宏誌
修課班級 Class:資工系3
選課備註 Memo:
授課大綱 Course Plan: Open

選課狀態 Attendance

There're now 18 person in the class.
目前選課人數為 18 人。

請先登入才能進行選課登記 Please login first