aus dem Buch Effizient Programmieren mit C# und .NET
Hier ist eine (unvollständige) kontextfreie Grammatik „für den Alltagsgebrauch“, also keine für Compilerbauer.
Die Notation bei der kontextfreien Grammatik ist folgende.
Auf der linken Seite einer grammatischen Regel steht ein nichtterminales-Symbol, anschließend ein Doppelpunkt :, anschließend ein grammatischer Ausdruck. Der Ausdruck enthält nichtterminale Symbole, terminale Symbole (Elemente der Sprache, rot) und kontextfreie Operationen. Diese sind:
·
:
Definition (links
davon das nichtterminale Symbol)
· | Alternative
· [ ] Option
· { } Wiederholung
· + mindestens eins (aus zwei Optionen oder der Wiederholung)
Die Wurzel der Grammatik ist compilation-unit. Das nichtterminale Symbol identifier haben wir nur oberflächlich definiert.
Des Autors e-mail: prof@solymosi.com