ProgrammeL3 · S6Fondements de l’informatique
L3S6Fondements de l’informatique

Théorie des langages et automates

Étudier expressions régulières, automates finis, grammaires et hiérarchie de Chomsky.

#automates#langages#grammaires#expressions régulières
5chapitres
5exercices corrigés
8questions de quiz
0/5chapitres maîtrisés
À LA FIN DE CE COURS

Objectifs d’apprentissage

  • Définir un langage formel, une expression régulière et les opérations usuelles sur les langages.
  • Construire, simuler et vérifier un automate fini déterministe ou non déterministe.
  • Transformer une description régulière en automate et justifier la correction d’une reconnaissance.
  • Écrire et analyser une grammaire hors contexte en distinguant dérivation, ambiguïté et langage engendré.
  • Situer un problème dans la hiérarchie de Chomsky et relier les modèles à l’analyse lexicale.
AVANT DE COMMENCER

Prérequis utiles

  • Raisonnement par récurrence, ensembles, fonctions et preuves élémentaires.
  • Notions de programmation : chaînes, boucles, tableaux et lecture d’un pseudo-code.
  • Manipulation des graphes orientés et vocabulaire de base en algorithmique.
CHAPITRE 01 L3 · S6

Langages reguliers

35 min de lectureLeçon originale de révision

Idée centrale

Un alphabet Σ\Sigma est un ensemble fini de symboles; un mot est une suite finie de symboles, et un langage est un ensemble de mots. Les expressions régulières se construisent avec l’union, la concaténation et l’étoile de Kleene. Ainsi a∗ba^*b désigne les mots formés de zéro, une ou plusieurs occurrences de aa suivies de bb. La propriété fondamentale est la clôture des langages réguliers par union, concaténation et complémentation.

Méthode. Pour décrire des mots qui commencent par ab et se terminent par 0, on écrit ab(0|1)*0; il faut vérifier séparément les longueurs minimales et les recouvrements. Une erreur fréquente consiste à confondre l’étoile, qui autorise zéro occurrence, avec le plus, qui en impose au moins une. Exemple guidé : a*(ba*)* accepte ε, aaa, ba, aabaa; aab se décompose en aa puis b, donc est accepté. Point de contrôle : donner un mot refusé et expliquer le sous-terme qui échoue.

Points à retenir
  • Un langage est un ensemble de mots sur un alphabet fini.
  • Union, concaténation et étoile de Kleene expriment les constructions régulières.
  • Toujours tester ε, un mot minimal, un mot limite et un contre-exemple.
Synthèse du chapitre

Un alphabet est un ensemble fini de symboles; un mot est une suite finie de symboles, et un langage est un ensemble de mots. Les expressions régulières se construisent avec l’union, la concaténation et l’étoile de Kleene.