Basic Information |
Name | Office | Phone | |
---|---|---|---|
  黃元欣  |   547   |   3519   |   shin@cs.ntou.edu.tw  |
Name | Office |   Phone   | |
---|---|---|---|
  游逸平  |   743   |   3900   |   ypyou@pllab.cs.nthu.edu.tw  |
  謝坤員   |   743   |   3900   |   kyshieh@pllab.cs.nthu.edu.tw  |
Course Description |
Introduction to compiler construction (emphasis on compiler front ends). Course contents include: Formal translation of programming languages, program syntax and semantics. Finite state recognizers and regular grammars. Context-free parsing techniques such as LL(k) and LR(k). Intermediate code generation.
Prerequisites |
Algorithms, Programming Languages
Text Books |
Compilers: Principles, Techniques, and Tools (required)
Aho, Sethi, and Ullman
Addison-Wesley 1986
ISBN 0-201-10194-7
Lex & Yacc, 2nd edition
Levine, Mason and Brown
O'Reilly 1995
ISBN 1-56592-000-7
The JavaTM Virtual Machine Specification, 2nd edition
Tim Lindholm and Frank Yellin
Addison-Wesley 1999
ISBN 0-201-43294-3
Grading |
30% projects, 30% midterm, 40% final
Grading Policy |
Projects must be submitted for grading by the time they are due. Late projects receive grades of zero.
Academic Integrity |
All work that you submit in this course must be your own. Sharing of code on programming assignments is a form of academic dishonesty.
Lectures |
  Lectures   |   Topic   |   Slides   |   Book Sections   |
---|---|---|---|
  1   |   Introduction   |  2P   4P  |   Chapter 1   |
  2   |   Languages and Their Representations   |  2P   4P  |   |
  3   |   Lexical Analysis   |  2P   4P  |   Chapter 3   |
    |   Lex   |  2P   4P  |     |
  4   |   Syntax Analysis   |  2P   4P  |   Chapter 4   |
    |   Yacc   |  2P   4P  |     |
  5   |   Syntax-Directed Translation   |  2P   4P  |   Chapter 5   |
  6   |   Run Time Environment   |  2P   4P  |   Chapter 7   |
  7   |   Intermediate Code Generation   |  2P   4P  |   Chapter 8   |
    |   MSIL (MSIL samples)   |  2P   4P  |     |
    |   Final Project   |  2P   4P  |     |
Forum |
Projects |
Account Management |