ISO-EBNF
De Extended Backus Naur Form volgens ISO/IEC 14977 : 1996(E)
Het ISO comité heeft de officiële versie van haar uitgebreide BNF niet vrijelijk beschikbaar gesteld, maar gelukkig is er iemand zo vriendelijk geweest de laatste draft-versie ervan gratis openbaar te maken op http://www.cl.cam.ac.uk/~mgk25/iso-ebnf.html
Iedereen die wel eens een software-handleiding heeft gelezen kent waarschijnlijk wel deze veelgebruikte uitbreiding op BNF: iets tussen vierkante haken [ ] is optioneel (mag worden overgeslagen). In het UNIX-commando, bijvoorbeeld, voor directory-listings
ls [namen]
mag 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
. BNF wordt met name gebruikt om de syntaxis van computercommando's te beschrijven.
Met behulp van de ISO-EBNF-taal zou men over deze Nederlandstalige Wikipedia bijvoorbeeld het volgende kunnen zeggen:
"", LEMMA, ""
- zorgt 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='http://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, de Wiki-server geeft:
-
LEMMA, "<A HREF='http://nl.wikipedia.org/wiki/", LEMMA, "'>?</A>"
Een ander Wiki-voorbeeld: als je een automatisch link naar een andere taal wilt maken, type je bovenaan in de bewerkingspagina
" "fr" | "de"), ":", LEMMA_VERTAALD, ""
waarbij LEMMA_VERTAALD het vertaalde LEMMA is in respectievelijk de Engelse, Franse of Duitse taal.
Na al die voorbeelden eindelijk iets over ISO-EBNF zelf:
[ ]
vierkante haken geven 0 of 1 keer aan;{ }
accolades geven 0 of meer keer aan;|
met verticale streepjes kunnen keuzemogelijkheden worden gegeven.