Core Lecture Compiler Construction
Winter term 2007/2008
Prof. Dr. R. Wilhelm, Dipl.-Inform. G. Gebhard, M.Sc. S. Altmeyer
News
| Date | Events |
|---|---|
| 15.02.2008 |
|
| 14.02.2008 |
|
| 13.02.2008 |
|
| 08.02.2008 |
|
Important Dates
- First Tutorial: Friday 02.11.2007 at 12:00
- First Lecture: Wednesday 24.10.2007 at 08:00
- Exam: Wednesday 27.02.2008 from 09:00 to 11:00
Exam Admittance
| Student ID |
|---|
| 2015354 |
| 2017149 |
| 2031543 |
| 2500245 |
| 2500995 |
| 2501061 |
| 2501174 |
| 2501309 |
| 2501515 |
| 2505102 |
| 2505373 |
| 2505498 |
| 2507170 |
| 2509107 |
| 2509500 |
| 2509732 |
| 2512816 |
| 2513098 |
| 2520177 |
| 2520892 |
Exercises
- Exercise Sheet 1 - Example Solution
- Exercise Sheet 2 - Example Solution
- Exercise Sheet 3 - Example Solution
- Exercise Sheet 4 - Example Solution
- Exercise Sheet 5 - Example Solution
- Exercise Sheet 6 - Example Solution
- Exercise Sheet 7 - Example Solution
- Exercise Sheet 8 - Example Solution
- Exercise Sheet 9 - Example Solution
- Exercise Sheet 10 - Example Solution
Lecture Notes
- 24.10.2007 - 02.11.2007: Virtual Machines (Last Update: 31.10.2007, 18:57)
- 07.11.2007 - 09.11.2007: Structure of the Compiler and Lexical Analysis
- 14.11.2007: Syntax Analysis
- 16.11.2007: Push Down Automata (Last Update: 23.11.2007, 12:45) and Grammar Flow Analysis (Last Update: 19.11.2007, 15:50)
- 21.11.2007 - 23.11.2007: Top-down Syntax Analysis
- 27.11.2007 - 29.11.2007: Bottom-up Syntax Analysis
- 05.12.2007 - 12.12.2007: Attribute Grammars (Last Update: 05.12.2007, 10:20) and Symbol Tables and Overloading
- 14.12.2007: Tree Parsing for Code Selection (Last Update: 19.12.2007, 12:40)
- 19.12.2007: Code Generation
- 09.01.2008 - 16.01.2008: Program Analysis - Approaches and Data Flow Analysis
- 18.01.2008: Intermediate Representations and Static Single Assignment Form
- 23.01.2008: Shape Analysis
- 25.01.2008 - 01.02.2008: Code Scheduling
- 06.02.2008: Software Pipelining
- 08.02.2008: Real Compilers and Tools
General Information
- Type: core lecture (9 credit points)
- Place: HS 003, E1 3
- Date: Wednesday and Friday, 08:00-10:00
- Tutorial: Monday (Group A) and Friday (Group B), 12-14 in E1 3 at SR 14
- Exam: 27.02.2008 09:00-11:00
For the theoretical exercises, group work is not permitted. However, for the course project,
students are allowed and encouraged to form groups of up to three people.
You may submit your solutions via email, either send them directly to the corresponding tutor or the
tutor mailing list (not the students mailing list).
For further information send mail to: altmeyer (at) cs (dot) uni-sb (dot) de
Project Information
In this section you'll find information regarding the course project. At this place, you can download an
implementation of the CMa alongside with some examples and the specification of the CMa implementation
and of the project.
You will find the compiler skeleton we provide you with in your group SVN account.
- Project Specification (Last Update: 21.11.2007, 13:30)
- Project Examples (Last Update: 02.12.2007, 12:46)
- Project Tests (Last Update: 12.01.2008, 15:32)
- CMa Specification (Last Update: 09.01.2008, 11:18)
- CMa Examples
-
CMa Implementation:
- Source (.tar.bz2, 99K, updated)
- Linux 32bit (dynamically linked) (.tar.bz2, 240K, updated)
- Windows 32bit (.zip, 4.5M)
Tutorials
| Group A Sebastian Altmeyer Mon, 12-14 E1 3, SR14 |
Group B Gernot Gebhard Fri, 12-14 E1 3, SR14 |
|---|---|
|
Hoen, Johannes Kalojanov, Javor Karrenberg, Ralf Kinuwaki, Shin-Ichi Kunz, Michael Kyle, Stephen Scharfstein, Andi Schwarz, Dennis Thiele, Markus Wieder, Alexander Zacharias, Jan |
Adam, Roman Anastasatos, Vasileios Danilweski, Piotr Eigner, Thomas Gogolok, Robert Götzmann, Daniel Norbert Grewe, Dominik Marold, Verena Math, Rafael Tobias Mirold, Michael Moldovan-Tiglar, Daniela Neis, Georg Norbach, Christian Reischuk, Raphael Rizkallah, Christine Setz, Jochen Stattelmann, Stefan |
Contact
- The mail addresses of all tutors are linked from the title of this site.
- There is a general mail address to contact all tutors: cc07-tutor@gigasun.cs.uni-sb.de
- Mailing list address: cc07@gigasun.cs.uni-sb.de
Course Certificate
To get a course certificate students must
- get at least 50% of the homework assignments,
- implement a working ANSI C compiler for a virtual machine, and
- pass the exam at the end of the term.
Grades will be based on the exam and on the project.
Contents
The course treats compiler construction for imperative programming languages, lexical, syntax, and semantic analysis, static program analysis and optimization, code generation and instruction scheduling. This course provides all necessary theoretical knowledge required to implement a compiler from scratch - this forms the practical part of the lecture.
Literature
- Gary H. Merrill. Parsing Non-LR(k) Grammars with Yacc.
Software - Practice and Experience, 23(8):829-850, 1993. - Wilhelm, R., Maurer, D.,
Übersetzerbau
Springer; Berlin, 2nd Print, 1997. ISBN 3-540-61692-6. - Wilhelm, R., Maurer, D.,
Compiler Design
Addison-Wesley; Essex, 2nd Print, 1996. ISBN 0-201-42290-5. - Wilhelm, R., Seidl, H.,
Übersetzerbau - Virtuelle Maschinen
Springer; Berlin, 1st Print, 2007. ISBN 978-3-540-49596-3.
Last Modification: 08/18/09