Institute of Software Engineering and Compiler Construction
- 1:
Teaching.- 1.1:
Summer term 2012. - 1.2:
Winter term 2011/2012.- 1.2.1:
Constraint programming. - 1.2.2:
Embedded softwareengineering for automotive systems. - 1.2.3:
Functional programming. - 1.2.4:
Foundations of compiler construction. - 1.2.5:
Management of Sotware Projects. - 1.2.6:
Software engineering I. - 1.2.7:
Algebraic structures in computer science. - 1.2.8:
Formal specification languages and their semantics. - 1.2.9:
Techniques of formal program development. - 1.2.10:
Advanced techniques for typical applications in computer science. - 1.2.11:
Logic-based programming languages. - 1.2.12:
Constraint-Programming Practice. - 1.2.13:
Software Construction. - 1.2.14:
Experimental software engineering. - 1.2.15:
Functional programming.
- 1.2.1:
- 1.3:
Regularly offered courses. - 1.4:
Former courses. - 1.5:
Topics for diploma theses, Master's theses and practical work.
- 1.1:
- 2:
Research. - 3:
Staff. - 4:
Contact.
Foundation of Compiler Construction
The lecture will start on Tuesday 18th of October 2011 at 10 am. in room 1002/o28. Other organizational details will be communicated to you during this event.
Contents
This lecture discusses all aspects of the construction of a compiler for a conventional imperative language (such as Pascal) with emphasis on theoretical foundations, the systematic construction of compiler components and, as far as applicable, their generation. Particular topics are:
- compiling a Pascal-like language to code for a stack-based virtual machine (P-machine)
- lexical analysis (generation of scanners based on deterministic finite automata from extended regular expressions)
- different parsing techniques (for context-free grammars) with the focus on LL and LR techniques (including error handling)
- semantic analysis by attribute grammars
- introduction to machine-independent optimisation
- code generation for CISC and RISC architectures (including code selection, register allocation, machine-dependent optimisation and instruction scheduling)
Overview
- exercises
- simulator
- flex, recursive-descent parsing
- bison, graph visualisation
- materials
