Universität Bremen  
  FB 3  
  Group BKB > Teaching > Deutsch
English
 

Compiler Construction

 
Berthold Hoffmann

A Block Course held in Cameroun

This two-week block course has been given in 2012 and 2013 at Institut Supérieur du Sahel de l'Université de Maroua, and in 2014 at Université de Ngaoundéré, both in Cameroun. The course has been funded by the German Academic Exchange Service (DAAD) with two short-time lectureships ("Kurzzeitdozenturen"), and within the Subject-related partnership of the universities of Bremen and Ngaoundéré in the areas of ecology and computer science. The partnership has been established by Prof. Kolyang Dina Taïwé, who received his master, doctoral, and habilitation degrees at Universität Bremen, and has worked as a research assistent in the group of Bernd Krieg-Brückner at Universität Bremen. In 1999, he became a professor at Université de Ngaoundéré, and was appointed director of the Institut Supérieur du Sahel of Université de Maroua in 2007.

The Topics of this course are fundamental concepts, methods and algorithms for implementing imperative and object-oriented programming languages, including their foundation in formal language theory. The lectures are complemented with exercises, which are done by the students in the afternoon, and are discussed in class every morning for about 30 min.

Exams: A written exam on the course will be taken some weeks after the course, under the supervision of Hallam Vincent Douwe.

Material related to the Course

  • Contents of the course
  • The Dragonbook "Compilers - Principles, Techniques, and Tools" by Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman may serve as background literature.
  • A script exists, but only in a draft version.
  • Exercises accompanying the course
  • Solutions to the exercises

A Practical (developed by Thomas Röfer and adapted by Bernd Gersdorf) has been given after the 2013 course, in summer 2013. There, a tiny compiler for a language OOPS shall be gradually extended so that the language covers key concepts of object-oriented languages, such as classes, subclasses, inheritance, dynamic method dispatch, exception handling and garbage collection.
The compiler is written in Java; it generates code for a very small abstract machine that is executed by an interpreter that has been written in Java as well.
The practical has been done by the students on their own. Again Hallam Vincent Douwe has offered some assistence at Maroua.

Material related to the Practical

 
   
Author: Dr. Berthold Hoffmann
 
  Group BKB 
Last updated: March 7, 2014   impressum