Définition

Nous pouvons générer des mots grâce aux grammaires.

Une grammaire est composée de symboles terminaux appartenant à non terminaux auxquels on rattache des règles de production ces règles peuvent dériver vers des non terminaux pour appliquer leur règles. Une grammaire admet une règle de départ.

Par exemple avec la grammaire suivante sur

S -> a
S -> a
S -> <epsilon>
S -> aSa
S -> bSb

On peut avoir

IMPORTANT

On définit donc une grammaire hors-contexte où on a:

  • est l’ensemble des symboles non-terminaux
  • un alphabet
  • un ensemble de règles de la forme avec et
  • le symbole de début

NOTE

On parle de hors contexte car en gauche de règle il n’y a qu’un seul non-terminal et car les ce qui est autour d’un symbole non terminal n’est pas connu pendent la dérivation

Régularité à droite

Une grammaire régulière à droite est une grammaire dont les règles ont les terminaux à gauche et UN SEUL non terminal à droite, ce qui permet de faire un produit en quelque sorte car en dérivant on rajoute des lettres à droite du mot. On repasse donc le mot au fur et à mesure de sa génération comme le ferait un automate.

center

Nous pouvons voir chaque dérivation comme un changement d’état dans l’automate associé. center

INFO

est l’ensemble des langages correspondant aux grammaires est l’ensemble des langages reconnaissable par un automate déterministe

center center

IMPORTANT

Donc pour les grammaires régulières à droite