Extended BNF

Extended BNF of EBNF (extended Backus–Naur form) is een uitbreiding op BNF en wordt gebruikt om de syntaxis van computercommando's te beschrijven. Iets tussen vierkante haken is optioneel. Zo mag in het UNIX-commando voor directory-listings

ls [namen]

het argument namen worden weggelaten (dan wordt de huidige directory-inhoud getoond). De vierkante haken moeten hier dus niet letterlijk worden ingetoetst op de computerterminal maar zijn puur voor het schrijven van de handleiding van het programma ls.

Het ISO-comité heeft de officiële versie ISO/IEC 14977:1996(en) van zijn uitgebreide BNF vrijelijk beschikbaar gesteld.[1]

Syntaxis

  • [ ] vierkante haken geven 0 of 1 keer aan;
  • { } accolades geven 0 of meer keer aan;
  • | met verticale streepjes kunnen keuzemogelijkheden worden gegeven.

Voorbeelden

Met behulp van de ISO-EBNF-taal zou men over deze Nederlandstalige Wikipedia bijvoorbeeld het volgende kunnen zeggen:

"[[", LEMMA, "]]"
zorgt ervoor dat de wiki-software eerst gaat zoeken naar een pagina met als titel LEMMA. Als die wordt gevonden, zal LEMMA als hyperlink worden getoond met HTML-code die er zo uitziet:
"<a href='//nl.wikipedia.org/wiki/", LEMMA, "'; class='internal' title='", LEMMA, "'>", LEMMA, "</a>"
Maar als zo'n pagina niet wordt gevonden, komt er een klikbaar vraagtekentje achter LEMMA te staan, en de server geeft:
LEMMA, "<A HREF='//nl.wikipedia.org/wiki/", LEMMA, "'>?</A>"

Een ander wiki-voorbeeld: als je een automatische link naar een andere taal wilt maken, typ je bovenaan in de bewerkingspagina

"[[", ("en" | "fr" | "de"), ":", LEMMA_VERTAALD, "]]"

waarbij LEMMA_VERTAALD het vertaalde LEMMA is in respectievelijk de Engelse, Franse of Duitse taal.

Zie ook