Compilerbau WiSe 2002/03

Übungsblatt 2

Aufgabe 1

Schreiben Sie ein Grammtikfragment für eine for-Schleife wie in C oder Java. Sollten Sie ε-Produktionen verwenden, eleminieren Sie diese danach.

Aufgabe 2

Schreiben Sie ein kleines Programm in C und Pascal (oder zwei vergleichbaren Sprachen Ihren Wahl), das bei Eingabe einer natürlichen Zahl n die Fakultät n! dieser Zahl berechnet und ausgibt. Diskutieren Sie anhand des Beispiels, welchen Sprachkern eine (prozedurale) Sprache umfassen sollte.

Aufgabe 3

  1. Sei A = (Q,T,δ,q0,F) ein beleibiger endlicher Automat. Geben Sie eineb reguläre Grammatik G mit L(A) = L(G) an.
  2. Sei G = (N,T,P,S) eine reguläre Grammatik. Geben Sie einen endlichen Automaten A mit L(A) = L(G) an.

Dietmar Lammers
Last modified: Fri Oct 31 10:31:28 CET 2003