Eine kontextfreie Grammatik für C#

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

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 Regeln

Die Wurzel der Grammatik ist compilation-unit. Das nichtterminale Symbol identifier haben wir nur oberflächlich definiert.


Leitseite

Des Autors e-mail: prof@solymosi.com