Beispiel - Rechenausdrücke
Die Sprache der Rechenausdrücke
Rechenausdrücke kommen in Programmiersprachen zur Beschreibung von Berechnungen vor.
So enthält die Python-Anweisung x = x + y
den Rechenausdruck (bzw. Term) x + y
zur Berechnung
des Wertes, der der Variablen x
zugewiesen werden soll.
Unter der Sprache der Rechenausdrücke soll die Menge aller korrekt gebildeten
Rechenausdrücke verstanden werden. Zu dieser Sprache soll z.B. der Rechenausdruck x + y
gehören, nicht jedoch die Zeichenfolge + - x
.
Ziel der folgenden Betrachtungen ist es, die Sprache der Rechenausdrücke möglichst präzise zu beschreiben. Die Beschreibung soll zudem konstruktiv in dem Sinne sein, dass man jedes Element der Sprache (d.h. jeden korrekt gebildeten Rechenausdruck) mit der gegebenen Beschreibung erzeugen kann.
Beschreibung des Aufbaus von Rechenausdrücken mit Syntaxdiagrammen
Die folgenden Syntaxdiagramme beschreiben eine Teilmenge der korrekt gebildeten (Python-) Rechenausdrücke.
Ausdruck:
Summand:
Faktor:
Variable:
Zahl:
Ziffer:
Mit Hilfe dieser Diagramme lassen sich Rechenausdrücke wie folgt erzeugen: Man konstruiert einen Weg durch
die Diagramme beginnend im Diagramm Ausdruck
so, dass die Folge der Symbole in den abgerundeten
Kästchen entlang des Wegs einen Term bilden.
Aufgabe 1
Analysiere die folgende Wegbeschreibung
. Welche Wege werden jeweils in den Diagrammen gewählt?
In welche Diagramme wird jeweils gewechselt? Welcher Rechenausdruck ergibt sich insgesamt?
Ausdruck -> Summand + Summand -> Faktor + Summand -> Variable + Summand -> x + Summand -> x + Faktor * Faktor -> x + Zahl * Faktor -> x + Ziffer Ziffer * Faktor -> x + 2 Ziffer * Faktor -> x + 2 0 * Faktor -> x + 2 0 * Variable -> x + 2 0 * y
Aufgabe 2
Versuche, analog Wegbeschreibungen
für folgende Rechenausdrücke zu konstruieren:
x-y-2
, x-(y-2)
, (x+y)*(x-y)
.