Hiérarchie de Chomsky

Image manquante
EbaucheCrochets.png


Cet article est une ébauche concernant la linguistique, vous pouvez partager vos connaissances en le modifiant.

La hiérarchie de Chomsky est une classification des langages décrits par les grammaires formelles, proposée en 1956 par le linguiste Noam Chomsky. Elle est aujourd'hui largement utilisée en informatique, en particulier pour la conception d'interpréteurs ou de compilateurs, ou encore pour l'analyse des langages naturels.

Voir l'article Grammaire formelle pour une brève présentation de la hiérarchie de Chomsky.

Sommaire

Définition

La grammaire d'un langage est définie grâce à quatre éléments :

Les règles définissent les lois de construction du langage, sa grammaire. En français par exemple, la structure : sujet + verbe + compléments est un élément de grammaire. Il est bien entendu que les langages de notre planète ont des grammaires bien plus complexes que celle des langages de programmation.

4 catégories

Selon son auteur, il y a 4 familles de grammaires dont tous les langages font partie.

régulière ∈ hors contexte ∈ contextuelle ∈ générale

générale

aucune règle
 

Cette catégorie est impossible à traiter, la grammaire étant trop faible le temps pour savoir si une phrase appartient ou non à celle-ci n'est pas forcément fini.

contextuelle

(N ∪ T)* ↦ (N ∪ T)*
 

Où la seconde partie est plus petite que la première (ce qui permet lors de la recherche de ne pas poursuivre trop longtemps de mauvaises voies).

Contextuelle car le remplacement d'un élément non-terminal par un élément terminal peut dépendre des éléments autour de lui, de son contexte.

hors contexte

N ↦ (N ∪ T)*
 

Ici plus de context, ce qui signifie que les éléments non-terminaux sont traités individuellement.

régulière

N ↦ T
 N ↦ NT
 

La plus restrictive des 4.

exemple

une chaîne commence par un a et se termine par un z, elle peut contenir 0 à n = séparé par 1 à n - entre elles.

Mots (valides) :

Réponse :

T = {a,z,=,-}
 N = {S,A,B}
 S = {S}
 R = {
  S ↦ Az,
  A ↦ A-,
  A ↦ B=,
  B ↦ A-,
  A ↦ a,
  B ↦ a
 }
 

See also: Hiérarchie de Chomsky, 1956, Compilateur, Grammaire formelle, Informatique, Interpréteur, Langage formel, Langage naturel