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.
書名 Compilers: Principles, Techniques, and Tools
出版社 Addison-Wesley
作者 A. V. Aho, R. Sethi, and J. D. Ullman
出版年 2007
Book Title Compilers: Principles, Techniques, and Tools
Publisher Addison-Wesley
Authors A. V. Aho, R. Sethi, and J. D. Ullman
Year of publication 2007
評分項目 Grading Method | 配分比例 Grading percentage | 說明 Description |
---|---|---|
作業作業 Homework |
20 | |
小考小考 Quiz |
10 | |
專題專題 Topics |
20 | |
期中考期中考 midterm exam |
25 | |
期末考期末考 final exam |
25 |