| Type |
|---|
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 :
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
L'opérateur * permet d'indiquer qu'un élément est répété. Il s'utilise sous la forme <a>*<b>règle où <a> et <b> sont facultatifs. <a> est le nombre minimum de répétition, avec 0 comme valeur par défaut. <b> est le nombre maximum de répétition, avec l'infini comme valeur par défaut.
Par exemple, l'expression 1*DIGIT signifie au moins un chiffre.