Inhaltsverzeichnis

Übungen: Formale Sprachen

Grundsätzlich: Um eine Grammatik zu finden, überlegt man sich, wie die Bestandteile der Grammatik beschaffen sein müssen. Was ist das Eingabealphabet, was für Variablen benötige ich, wie sehen die Produktionen aus. Dabei ist es natürlich denkbar, dass man bei den Überlegungen feststellt, dass man weitere Variablen benötigt oder die Regeln anpassen muss.

PGM Bilder

PGM (Portable Graymap) kann als Sprache zur Beschreibung von Graustufenbildern aufgefasst werden. Das folgende Bild

wird wie folgt in der Sprache PGM beschrieben:

P2 4 3 7 0 1 2 3 4 5 6 7 6 0 3 0 1 0 5 1 2
P2 24 7 15 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0 0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0 0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0 0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0 0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

Autokennzeichen

Deutsche Autokennzeichen sind nach dem Prinzip aufgebaut, dass sie mit dem Ortskennzeichen (ein bis drei Buchstaben, Umlaute eingeschlossen) beginnen, es folgen ein oder zwei Buchstaben (ohne Umlaute) sowie 1 bis 4 Zahlen. Die drei Teile werden von Bindestrichen getrennt.

Beispiel: B-IN-42

Ganze Zahlen

Stellen Sie eine Grammatik auf, um eine Sprache zu erzeugen, die alle ganzen Zahlen enthält. Dabei dürfen keine führenden Nullen vorkommen, die Zahl 00123 ist z.B. verboten.

Palindrome

Als Palindrom bezeichnet man Zahlen, Wörter oder Sätze, die von vorne und hinten gleich gelesen werden können. Beispiele: 12321, "Rentner", "Trug Tim eine so helle Hose nie mit Gurt?"

Seltsame Sprache

Die Ureinwohner einer bislang unerforschten Insel reden eine seltsame Sprache, die nur aus den Lauten "Da", "Li" und "Mo" besteht. Dabei liegen all ihren Wörtern folgende Ableitungsregeln zugrunde. <S> ist die Startvariable.

<S> → Da | Li
<S> → DaDa<S> | Da<S>Li | <L>Mo
<L> → Li | <L><S>Mo

Gehören die folgenden Wörter zur Sprache der Inselbewohner? Wenn ja, geben Sie eine mögliche Ableitung an.

  a) DaDaLiMo
  b) LiDaMoMo
  c) LiMo
  d) DaLiLiMo
  e) DaDaDaDaLi
  f) DaDaDaLiLi
  g) DaLiDaDaMo
  h) DaMoLiMo

Mathematische Terme

(schwer)

Gib die Grammatik einer formalen Sprache an, die korrekte Rechenterme darstellt.

Als Alphabet Σ sollen die Symbole { (, ), +, -, *, /, 0, 1, 2, …, 9 } verwendet werden. Es soll eine beliebige Klammerungstiefe möglich sein.

Finde eine Ableitung für das Wort (40 – (2 * 14)) / 6 der Sprache.

1)
Tipp: Man darf beliebig Zeilenumbrüche einfügen, ohne das Format zu zerstören