Compiler
Course Purpose |
---|
To understand basics of computer language processing and how programs are compiled and executed, and to implement a simple compiler in the C language. |
Learning Goals |
Students should be able to: - Explain the overview about language processing systems, such as an interpreter and a JIT compiler, and the difference among them. - Understand syntax definition written in the form of the BNF. - Show the process of syntax analysis based on LL(1) and LR(1) parsing tables. - Explain what kind of transformations are performed in major compiler optimization schemes. - Understand the methods of lexical analysis and recursive top-down parsing and implement a simple compiler based on them. - Debug the implemented compiler, looking at generated assembly codes. |
Topic | |
---|---|
Session 1 | Lecture outline, language processing system (What is a compiler) |
Session 2 | Word analysis |
Session 3 | 【Practice】Creating a lexical analysis system |
Session 4 | Virtual stack machine |
Session 5 | 【Practice】Exercise for assembling a virtual stack machine |
Session 6 | Parsing |
Session 7 | 【Practice】Creating a parsing system (1) |
Session 8 | 【Practice】Creating a parsing system (2) |
Session 9 | Parsing automation |
Session 10 | 【Practice】Creating a parsing system (3) |
Session 11 | optimisation |
Session 12 | 【Practice】Creating a parsing system (4) |
Session 13 | Normal test |
Session 14 | 【Practice】Creating a parsing system (5) |