Class Announcement
Class Information
Lecturer
Textbook
Reference Books
-
Lex & Yacc, 2/e, 1992, by John R. Levine, Tony Mason, Doug Brown, O'Reilly
ISBN: 1565920007
-
The Java Programming Language, 4/e, 2009, by Ken Arnold, James Gosling, and David Holmes (侯æ·ã€æŸ¯å‘上 è¯), ç¢å³°
ISBN: 9789861818207
Syllabus
- Introduction to Compiler
- Overview: Syntax definition, syntax-directed translation, parsing
- Overview: Lexical analysis, symbol tables, intermediate code generation
- Lexical analysis: input buffering, token specification and recognition
- Lexical analysis: Introduction to the Lexical-Analyzer Generator: Lex
- Lexical analysis: Finite automata and regular expression
- Syntax analysis: context-free grammar, top-down parsing and bottom-up parsing
- Syntax analysis: LR parsing, parser generator: Yacc
- Syntax-directed translation: syntax-directed definition (SSD), S-attributed and L-attributed
- Syntax-directed translation: postfix translation scheme, parser-stack implementation
- Syntax-directed translation: on-the-fly code generation, LL parsing
- Intermediate-code generation: three-address code, types & declarations, type checking, control flow
- Intermediate-code generation: backpatching, switch-statements
- Run-time environment
- Code generation: design issues, basic blocks, flow graphs
- Code generation: peephole optimization, register allocation and assignment, tree rewriting
Grading
-
Homework: 10%
Midterm: 40%
Final Exam: 40%
In-Class performance: 10% (ä¸å®šæ™‚點å)
Prerequisite
-
Programming experiences with C or Java
|
|
|