Der Wikipedia-Artikel ist genau. Wenn Sie Zugriff haben, lesen Sie unbedingt Wirth's original article auf EBNF. Die andere Sache zu wissen ist, dass EBNF entworfen wurde, um einfach zu handschreibt rekursive Abstieg Parser für Sprachen, in denen jedes syntaktische Konstrukt Identifizierung Schlüsselwörter am Anfang hat. Curly Klammern übersetzen zu while
Schleifen; eckige Klammern (optionales Zeug) werden in if
übersetzt, und Alternativen werden in if-then-else
oder case
Anweisungen übersetzt. Wenn Sie den Luxus haben, Ihre Sprache so zu gestalten, können Sie schnell einen Parser knacken und geben gute Fehlermeldungen.
Der einzige Ort, der ein wenig langweilig wird, ist, wenn Sie eine Sprache haben, in der es Infix-Operatoren mit vielen verschiedenen Rangstufen gibt. Dafür wollen Sie Dave Hansons Papier Compact Recursive-Descent Parsing of Expressions. Vielleicht hat die Princeton Tech Report Serie eine kostenlose Version, und Sie können immer den Code in Hanson's C front end betrachten.
Suchen Sie nach "Compiler Construction Niklaus Wirth", sollte es einen Link zurück, wo Sie die neueste Version seines ausgezeichneten Buches frei herunterladen können. Oder schau auf seine Homepage http://www.cs.inf.ethz.ch/~wirth/ –