BNF

Une définition du Jargon Français.
Aller à : Navigation, rechercher

Dr enus.png sigle féminin.  [spécification]. Backus-Naur Form. Méthode de description de la syntaxe d'un langage formel, conçue d'abord par J. W. Backus puis reprise par P. Naur.

Elle a été utilisée pour la première fois pour spécifier le langage ALGOL.

La BNF a été largement étendue depuis ses débuts, reprise par exemple pour les base de données avec leurs célèbres formes normales numérotées de 1 à 3, voire 5 pour les spécialistes, et peut maintenant utiliser la récursion ainsi que divers symboles et wildcards.

On rencontre aussi parfois une version française (FBN ou FNB). En anglais ses formes sont parfois appelées 1NF (first normal form), 2NF...

Exemple

Elle permet par exemple de décrire une adresse ainsi: elle est composée de 3 champs: NOM suivi de RUE puis de VILLE.
Un NOM est composé soit:

  • d'un prénom et d'un nom,
  • d'un statut civil (Madame, Mademoiselle, Monsieur, etc.) d'un prénom et d'un nom,
  • d'un statut civil et d'un nom.

Un NOM est toujours terminé par une fin de ligne.
Un RUE est un numéro (d'ordre dans la rue), une virgule, un nom de rue et une fin de ligne. Enfin, un VILLE est un code postal suivi du nom de la ville correspondante et d'une fin de ligne.

Voici l'équivalent sous BNF:

<adresse> ::= <NOM> <RUE> <VILLE>
<NOM> ::= <prenom-equivalent> <nom> <EOL>
| <statut-civil> <prenom-equivalent> <nom>
| <statut-civil> <nom> <statut-civil> ::= "Madame" | "Mademoiselle" | "Monsieur" | "M" | "Mme" | "Docteur" | "Maître" <prenom-equivalent> ::= <prénom> | <initiale> "." <RUE> ::= <numéro>"," <type-de-voie> <nom-de-voie><EOL> <VILLE> ::= <code-postal> <nom-de-ville><EOL>