Language Processors, Spezialvorlesung, WS2001/2002

General Information

Lectures Exercises
Lecturer Prof. Dr. Peter Thiemann Simon Helsen
E-mail thiemann@informatik.uni-freiburg.de helsen@informatik.uni-freiburg.de
Time Tu 16-18 / Fr 11-13 Th 10-12
Room GB101-010-14 (Tu) / GB52-02-017 (Fr) GB79-00019

Lectures

(handouts, source code, etc.)

Exercises

Contents

The course Language Processors deals with the recognition, the translation, and the execution of formal languages. It is closely related to compiler construction. It covers the following subjects

We will draw on examples from the realm of compiler construction as well as XML processing.

OCaml

Concrete code in the lecture and the programming exercises will be written in the programming language Objective Caml. It is an object-oriented extension of the ML language dialects and is reminiscent of Haskell, but with imperative features and a call-by-value parameter passing mechanism. It features a.o. polymorphic types, pattern matching, and first-class functions. OCaml is particularly well suited for writing translators and compilers. We will not use the object-oriented extensions.

References

 [1]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers Principles, Techniques, and Tools. Addison-Wesley, 1986.
 [2]
Andrew W. Appel. Compiling with Continuations. Cambridge University Press, 1992.
 [3]
Andrew W. Appel. Modern Compiler Implementation in ML. Cambridge University Press, 1998.
 [4]
Guy Cousineau and Michel Mauny. The Functional Approach to Programming. Cambridge University Press, 1998.
 [5]
Christopher W. Fraser and David R. Hanson. A Retargetable C Compiler: Design and Implementation. Benjamin/Cummings, 1995.
 [6]
Rene Leermakers. The Functional Treatment of Parsing. Kluwer Academic Publishers, Boston, 1993.
 [7]
Xavier Leroy. The Objective Caml system release 3.02, Documentation and user's manual. INRIA, France, July 2001. From http://pauillac.inria.fr/caml.
 [8]
Jürgen Wolff von Gudenberg. Algorithmen - Datenstrukturen - Funktionale Programmierung - Eine praktische Einführung mit Caml-Light. Addison-Wesley, 1996.
 [9]
Reinhard Wilhelm and Dieter Maurer. Übersetzerbau -- Theorie, Konstruktion, Generierung -- 2 Auflage. Lehrbuch. Springer-Verlag, Berlin, Heidelberg, 1996.

helsen@informatik.uni-freiburg.de, February 20, 2002