22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

natürlich auch immer das am weitesten rechts stehende verwenden o<strong>der</strong> beide Vorgehensweisen vermischen<br />

können. Wir bezeichnen die Grammatik als eindeutig, falls es zu jedem Wort über dieser Grammatik nur<br />

einen Ableitungsbaum gibt. Die folgende Abbildung zeigt den Abbleitungsbaum für unser Beispiel a ∗ b + c<br />

mit obiger Grammatik.<br />

Formel<br />

Formel + Term<br />

Term Faktor<br />

Term ∗ Faktor c<br />

Faktor b<br />

a<br />

Die folgende Grammatik erzwingt die von uns für die Punkt- und Strichrechnung intendierten Strukturen<br />

nicht, erzeugt aber die gleiche Sprache (auf den Nachweis wird hier verzichtet):<br />

Startsymbol: Formel<br />

Alphabet:<br />

Grundmengen Konstante, Name<br />

Sonstige Symbole +, −, ∗, /, (, ),<br />

Regeln: Formel ::= Faktor [1]<br />

| Formel + Formel [2]<br />

| Formel - Formel [3]<br />

| Formel ∗ Formel [4]<br />

| Formel / Formel [5]<br />

Faktor ::= Konstante [6]<br />

| Name [7]<br />

| ( Formel ) [8]<br />

Abbildung 2.2: Syntax <strong>der</strong> arithmetischen Ausdrücke, mehrdeutige Version<br />

Mit dieser Grammatik sind nämlich die beiden folgenden Ableitungsbäume für a ∗ b + c denkbar:<br />

Formel<br />

Formel<br />

Formel + Formel<br />

Formel ∗ Formel<br />

Formel<br />

Faktor<br />

a<br />

Faktor<br />

b<br />

Faktor<br />

c<br />

Formel * Formel<br />

Faktor<br />

a<br />

Formel<br />

+ Formel<br />

Faktor<br />

Faktor<br />

Manche syntaktischen Anfor<strong>der</strong>ungen können nicht mit Hilfe einer BNF-Grammatik beschrieben werden. Ein<br />

Beispiel hierfür ist eine Zeichenkette, die <strong>der</strong> Form a n b n c n genügen soll. a n steht dabei für eine Folge aus n-mal<br />

dem Zeichen ’a’. Ein weiteres Beispiel für eine solche Anfor<strong>der</strong>ung ist die Bedingung, daß ein Satz über einer<br />

Grammatik nur dann syntaktisch korrekt ist, wenn die Zahl <strong>der</strong> angegebenen Operanden für einen Operator<br />

dessen Stelligkeit entspricht. Die Vergleichs-Operation in <strong>der</strong> Arithmetik beispielsweise hat die Stelligkeit 2,<br />

da (üblicherweise) zwei Zahlen verglichen werden. Es wäre sinnlos, ≥2(a, b, c) zu schreiben, da ≥2 nur zwei<br />

Zahlen vergleichen kann.<br />

b<br />

c

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!