WiSe 22/23: Compiler Construction
Aruni Choudhary
Additional information / Pre-requisites
This class is part of the "applied computer science" curriculum.
Prerequisites
Basic knowledge of automata theory, formal languages, computer organization, and programming languages
closeComments
A compiler is a piece of software that translates a computer program from a higher programming language to another programming language (usually machine code). In general, this translation proceeds in several phases, the most important being lexical analysis, syntax analysis, semantic analysis, and code generations. Using lexical and syntactic analysis, we can translate the source program into a representation that is suitable for processing by a computer (abstract syntax tree). This intermediate representation serves as a starting point for optimization and code generation. The methods presented in this class can be applied in many fields of computer science. Therefore, the topics covered in this class are also interesting to students who do intend never to implement a compiler on their own.
closeSuggested reading
Zur Beschaffung empfohlen:
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compilers - Principles, Techniques , & Tools, Pearson International Edition, 2007
Die deutsche Version wegen Mängel in der Übersetzung nicht so sehr zu empfehlen:
- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman: Compiler, Pearson Studium, 2008
Weitere, ergänzende Literatur:
- Helmut Seidl: Compilerbau, TUM, SS08
- Pat D Terry: Compiling with C# and Java, Pearson Education 2005
- Reinhard Wilhelm, Dieter Maurer: Übersetzerbau - Theorie, Konstruktion, Generierung, Springer-Verlag, 2. Auflage 1997
- Niklaus Wirth: Grundlagen und Techniken des Compilerbaus, 3. Auflage, Oldenbourg-Verlag, 2011
36 Class schedule
Additional appointments
Wed, 2022-10-26 16:00 - 18:00Regular appointments
Location:
A6/SR 025/026 Seminarraum (Arnimallee 6)