Backus-Naur-Notation
Die Backus-Naur-Notation besteht aus Produktionsregeln.
Regeln für komplexe Konstrukte stützen sich auf Regeln für einfachere Elemente der zu beschreibenden Sprache. Die Regeln sind oft rekursiv. Auf der linken Seite steht eine Metavariable. Rechts vom '::='-Zeichen wird erklärt, wie das mit der Variablen
auf der linken Seite Bezeichnete erzeugt werden kann.Dabei wird entweder auf einfachere Regeln verwiesen, oder es
erscheinen Zeichen(folgen), die genau so - wörtlich - im generierten Text auftauchen. Alternativen werden durch '|' getrennt. Die Beschreibung für Etwas, das auch weggelassen
werden kann, ist in in eckige Klammern gesetzt.Im Beispiel
fileName ::= name8[.extension]
fileName ::= name8 | name8.extension
beschreiben beide Zeilen die gleiche Produktionsregel. Der
Punkt . ist ein Terminalsysmbol, während 'name8' und 'extension' Metavariablen sind, die noch durch weitere Regeln
definiert werden müssten.