Inhaltsverzeichnis
Syntaxdiagramme
Eine alternative Möglichkeit, Produktionsregeln zu notieren, bieten Syntaxdiagramme. Ihren Aufbau verstehen Sie am besten, indem Sie das folgende Beispiel ansehen.
Beispiel 1: Eurobeträge
Die Grammatik G = (V, A, P, S) über dem Alphabet A = {"0", "1", …, "9", ",", " ", "€"} mit der Menge der Nichtterminale V = {Eurobetrag, Vorkommastellen, ZahlOhneVornullen, ZifferOhneNull, Ziffer}, dem Startsymbol S = Eurobetrag und den mit folgendem Syntaxdiagramm gegebenen Produktionsregeln beschreibt die Menge aller Eurobeträge.
Entsprechung EBNF <-> Syntaxdiagramm
In obigem Beispiel sind alle Kurzformen der EBNF enthalten:
R1: ZifferOhneNull = "1" | "2" | ... | "9"
R2: Ziffer = ZifferOhneNull | "0"
R3: ZahlOhneVornullen = ZifferOhneNull { Ziffer }
R4: Vorkommastellen = ZahlOhneVornullen | "0"
R5: Eurobetrag = Vorkommastellen ["," Ziffer Ziffer] " " "€"
(Regel R1: Oder-Operator; Regel R3: Wiederholung; Regel R5: Option)
Aufgabe 1:
Gegeben sei eine sehr einfache Programmiersprache, in der nur
- Variablenbezeichner (bestehend aus den Buchstaben a bis z),
- ganze Zahlen (ohne Vornullen, aber beliebig groß)
- die Operatoren + und -
- runde Klammern
- der Zuweisungsoperator =
- der Anweisungsende-Operator ;
vorkommen. Ein Programm ist entweder leer oder besteht aus einer Folge von Zuweisungen, die jeweils mit einem Strichpunkt enden, z.B.
alter=12+(3-4);r=3+(10-(alter+b-5));
a) Geben Sie eine Grammatik in EBNF an, die Programme dieser Programmiersprache beschreibt.
b) Übersetzen Sie die Produktionsregeln dieser Grammatik in ein Syntaxdiagramm.
