? wyjątek - wielokrotność *

Dodatki i modyfikacje

Notacja EBNF eliminuje kilka wad BNF: BNF używa symboli (<, >, |, ::=) dla siebie; gdy pojawią się one w języku, który ma być definiowany, notacja BNF nie może być użyta bez modyfikacji i objaśnień. Składnia BNF może reprezentować wyłącznie jedną regułę w jednej linii.

EBNF rozwiązuje te problemy: Symbole terminalne są zamknięte pomiędzy znakami cudzysłowu ("..." lub '...'), a symbole w sekwencji rozdzielane przecinkami. Ostre nawiasy ("<...>") dla symboli nieterminalnych mogą zostać pominięte. Każdą regułę kończy znak ograniczający – według normy średnik.

Ponadto istnieją mechanizmy ulepszenia definiujące liczbę powtórzeń, wyłączanie (np. wszystkie znaki bez cudzysłowów), komentarze.

Pomimo ulepszeń EBNF nie jest "silniejszy" w rozumieniu języka, który może definiować. Gramatyka zdefiniowana w EBNF może być również reprezentowana w BNF.

Przykład Prosty język programowania, który pozwala jedynie na przypisywanie, może być zdefiniowany w EBNF następująco: