106年第2學期-1158 編譯器 課程資訊

課程分享

選課分析

本課程名額為 100人,已有93人選讀,尚餘名額7人。

評分方式

評分項目 配分比例 說明
作業 20
小考 10
專題 20
期中考 25
期末考 25

授課教師

楊朝棟

教育目標

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.

課程資訊

參考書目

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