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 1Lecture outline, language processing system (What is a compiler)
Session 2Word analysis
Session 3【Practice】Creating a lexical analysis system
Session 4Virtual stack machine
Session 5【Practice】Exercise for assembling a virtual stack machine
Session 6Parsing
Session 7【Practice】Creating a parsing system (1)
Session 8【Practice】Creating a parsing system (2)
Session 9Parsing automation
Session 10【Practice】Creating a parsing system (3)
Session 11optimisation
Session 12【Practice】Creating a parsing system (4)
Session 13Normal test
Session 14【Practice】Creating a parsing system (5)
**This content is based on April 1, 2024. For the latest syllabus information and details, please check the syllabus information inquiry page provided by the university.**