Augmented Backus-Naur Form
ABNF (Augmented Backus-Naur form) est une extension du métalangage BNF, adaptée aux besoins de la normalisation sur Internet. ABNF est le langage standard à l'IETF pour décrire un langage dans les RFC.
Il est très proche de l'EBNF mais s'en distingue par :
Le caractère / (au lieu de |) pour indiquer le choix
Le caractère = (au lieu de :=) pour la définition d'une production
Et un certain nombre de détails qui reflètent son utilisation pour les protocoles réseau plutôt que pour les langages de programmation (par exemple, par défaut, toutes les productions sont insensibles à la casse)
Par exemple, voici le format d'une date dans le RFC 2822 :
date = day month year
year = 4*DIGIT / obs-year
month = (FWS month-name FWS) / obs-month
month-name = "Jan" / "Feb" / "Mar" / "Apr" /
"May" / "Jun" / "Jul" / "Aug" /
"Sep" / "Oct" / "Nov" / "Dec"
day = ([FWS] 1*2DIGIT) / obs-day