Schreiben Sie eine Grammatik für das Generator-Tool ANTLR, die arithmetische Ausdrücke generiert. Nichtterminalzeichen werden dabei in Kleinbuchstaben Terminalzeichen in Großbuchstaben notiert. Die Terminalzeichen sind bereits definiert.
Eine Regel besteht aus einem Nichtterminalzeichen, gefolgt von einem Doppelpunkt. Dann folgt die rechte Seite. Eine Regel wird mit einem Semikolon abgeschlossen.
Für die rechte Seite einer Regeldefinition steht die Veroderung | zur Verfügung. Die Sequenz wird durch HIntereinanderschreiben von Terminal und Nichtterminalzeichen getrennt durch Leerzeichen ausgedrückt.
Terminale können auch direkt in einfachen Anführungszeichen in einer Regel angegeben werden.
Eine kleiner Ausschnitt einer Beispielgrammatik:
retstat : 'return' expr ';' ; stat: retstat | 'break' ';' | 'continue' ';' ;
Definieren Sie eine einfache Grammatik für arithmetische Ausdrücke. Diese sollen beinhalten:
Die Startsymbol sei »start«.