BNF

Une définition du Jargon Français.
Aller à : Navigation, rechercher
Reviser.png Cet article est à revoir. Si le cœur vous en dit...
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).

Exemple

Elle permet par exemple de décrire une adresse ainsi: elle est composée d'un NOM suivi d'un RUE puis d'un 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>