Aller au contenu principal

1. Introduction

Les spécifications techniques Internet doivent souvent définir une syntaxe formelle et sont libres d'employer la notation que leurs auteurs jugent utile. Au fil des années, une version modifiée de la forme de Backus-Naur (BNF, Backus-Naur Form), appelée BNF augmenté (Augmented BNF, ABNF), s'est répandue dans de nombreuses spécifications Internet. Elle concilie compacité et simplicité avec un pouvoir de représentation raisonnable. Aux premiers jours de l'Arpanet, chaque spécification contenait sa propre définition de l'ABNF. Cela incluait les spécifications de courrier électronique, [RFC733] puis [RFC822], qui sont devenues les références courantes pour définir l'ABNF. Le présent document sépare ces définitions afin de permettre une référence sélective. Comme on pouvait s'y attendre, il apporte également quelques modifications et améliorations.

Les différences entre la BNF standard et l'ABNF portent sur les noms de règles (rule names), la répétition (repetition), les alternatives (alternatives), l'indépendance de l'ordre (order-independence) et les plages de valeurs (value ranges). L'annexe B fournit des définitions de règles et un encodage pour un analyseur lexical de base du type courant dans plusieurs spécifications Internet. Elle est fournie à titre de commodité et reste par ailleurs distincte du métalangage défini dans le corps du présent document, ainsi que de son statut formel.