Kontextfreie Grammatiken spielen die Hauptrolle für die Syntax von Programmiersprachen. Ein Teilbereich in einer Programmiersprache sind arithmetische Ausdrücke.
Kontextfreie Grammatik für arithmetische Ausdrücke
Eine kontextfreie Grammatik für arithmetische Ausdrücke hat folgende Produktionen
Nichtterminalzeichen
Die Nichtterminalzeichen der Grammatik sind hier Wortsymbole, es gilt
Die Nichtterminalzeichen werden für den Ableitungsprozess gebraucht, sie kommen in den Wörtern der erzeugten Sprache nicht vor.
Terminalzeichen
Die Terminalzeichen sind
Aus den Terminalzeichen bestehen letztlich die Wörter der erzeugten Sprache.
Metazeichen
Darüber hinaus werden noch sogenannte Metazeichen verwendet. Metazeichen gehören nicht zur Grammatik, sondern dienen nur zur Darstellung der Produktionen der Grammatik.
Die Metazeichen sind hier
Bestimmt ist dir aufgefallen, dass die runden Klammern sowohl Metazeichen als auch Terminalzeichen sind - um expr herum sind die runden Klammern Terminalzeichen.