Backus-Naur form
(eller: BNF; oprindeligt Backus Normal Form, som dog ikke bruges mere). En meget præcis notation eller formel grammatik til at beskrive data, som anvendes ved bl.a. beskrivelse af et programmeringssprogs syntaks og kommunikationssproget ved brugergrænseflader. I notationen indgår følgende hjælpetegn, idet de to første benyttes i den oprindelige BNF, mens resten er udvidelser, dvs. egentlig udvidet BNF eller EBNF (extended BNF):
- ::=
- Betyder "skrives som".
- |
- En lodret streg bruges til at markere, at enten findes det, der står før
stregen, eller også findes det, der står efter stregen. Der kan også være
mange streger i en beskrivelse, f.eks.:
Tal ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 .
Denne beskrivelse fortæller, at et tal enten er et nul, eller et 1-tal, eller et 2-tal, eller et 3-tal og så videre.
- [ ... ]
- Firkantede parenteser anvendes til at angive noget, der kan forekomme nul eller én gang.
- { ... }
- Krøllede parenteser anvendes til at angive noget, der kan forekomme nul, én eller flere gange.
- ( ... )
- Almindelige parenteser bruges til gruppering.
Nedenstående er et eksempel på Backus-Naur notation for data om et firma, f.eks. fra et kartotek over firmaer:
Firma-data ::= Firmanavn [ Kontaktperson ]
( Adresse | Postboksnummer ) { Telefonnr }
Af eksemplet ses det, at "Firma-data" skrives som (består af) et
"Firmanavn", eventuelt en "Kontaktperson", en "Adresse" eller et
"Postboksnummer", samt ingen, et eller flere "Telefonnr."

