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.
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