- To understand and explain in a practical way the structure of compilers dealing with algorithmic languages
- To design and implement a compiler for a practical language which solves a interesting problem
- To show the interest of compiling techniques in problem resolving
- To carry individually a project of reduced size through
Main themes
- Methods to analyze context-free languages, upstream and downstream methods
- Generators of lexical analyzers and parsers
- Statistical semantics and attributed grammars
- Methods to translate a source code in a target code, and generation of target code
Content and teaching methods
see "Main themes"
Other information (prerequisite, evaluation (assessment methods), course materials recommended readings, ...)
- Prerequisites
(1) SINF1122 would be an advantage
(2) good knowledge of Java
- References
Recommended readings
(1) N. Wirth , "Compiler Construction" , Addison-Wesley , 1996, 0-201-40353-6.
(2) Robin Hunter, "The design and construction of compilers" , Wiley, 1981.
(3) A. V. Aho, R. Sethi, and J. D. Ullman, "Compilers: Principles, Techniques, and Tools" , Addison-Wesley , 1986.
(4) A. V. Aho, R. Sethi, and J. D. Ullman, "Compilateurs: principes, techniques et outils" , InterEditions, 1989.
(5) R. Wilhelm and D. Maurer, "Compiler Design" , Addison-Wesley , 1995.
- Organization
A project should be performed individually