![]() |
|||
| HSG |
|
Aufgabe
Prof. Dr. Fritz Jobst und Dipl. Math. Frank Braun aus Regensburg haben mit ihrem Programm Generation of Syntax Diagrams eine schöne Hilfe zur Erzeugung von Syntaxdiagrammen gegeben.
a),b) Gibt man
isiFolge = 'i' ( 's' 'i' )* ipigisi = isiFolge 'p' isiFolge 'g' isiFolgein obiger Webseite ein, so erhält man folgendes Bild:

c) Folgendes Syntaxdiagramm löst das Problem. Die Grammatik arbeitet dabei folgendermaßen: Zunächst erzeugt S = 'i'A'i' auf 'beiden Seiten' je ein i. A = 'si'A'is' fügt nun symmetrisch weitere 'i's dazu. Mit A = 'pi'B'is' wird links ein 'p' und ein 'i', rechts ein 'i' eingefügt. Anschließend können mit B = 'si'B'is' weitere 'i's symmetrisch eingefügt werden. B = 'g' beendet die Ableitung. Auf alle Fälle stimmt dann die Gleichung.
S = 'i'A'i' A = 'si'A'is' A = 'pi'B'is' B = 'si'B'is' B = 'g'
