La théorie des langages est le socle formel de l’analyse lexicale et syntaxique, de la compilation, de la recherche de motifs et de la validation des données. Ce cours de deuxième année (S3) de la Licence Professionnelle en Informatique, option Cybersécurité, en présente la première partie : notions fondamentales (mots, langages, opérations, grammaires, hiérarchie de Chomsky, propriétés de fermeture) puis langages réguliers et automates à états finis. Les exemples sont reliés aux usages professionnels : analyseurs lexicaux, signatures d’IDS, validation d’entrées par liste blanche, politiques de mots de passe. La suite (S4) traitera des langages algébriques, des automates à pile et des machines de Turing.
Objectifs d’apprentissage
- Manipuler les notions de mot, de langage et les opérations sur les langages.
- Définir une grammaire syntagmatique, effectuer des dérivations et classer une grammaire dans la hiérarchie de Chomsky.
- Utiliser les propriétés de fermeture des langages réguliers et algébriques.
- Construire des automates finis (AFD, AFN, ε-AFN), les transformer et les déterminiser.
- Passer d’une expression régulière à un automate et inversement, minimiser un AFD.
- Démontrer qu’un langage n’est pas régulier avec le lemme de l’étoile.
Prérequis
Notions de base de logique et de théorie des ensembles (union, intersection, relations, récurrence), algorithmique de première année.
Plan du cours
- Alphabets, mots, langages et opérations
- Grammaires syntagmatiques, hiérarchie de Chomsky et propriétés de fermeture
- Automates à états finis : définitions, variantes et déterminisation
- Expressions régulières, minimisation et langages réguliers
Modalités d’évaluation
Volume horaire : 13 h de cours magistral, 7 h de travaux dirigés, 20 h de travail personnel (2 crédits). Évaluation : contrôle continu (quiz en ligne, exercices de TD rendus) et examen terminal écrit (constructions d’automates, dérivations, preuves courtes).
Bibliographie
- John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Pearson (Addison-Wesley).
- Michael Sipser, Introduction to the Theory of Computation, Cengage Learning.
- Olivier Carton, Langages formels, calculabilité et complexité, Vuibert, 2008.
- Pierre Wolper, Introduction à la calculabilité, Dunod.
- Alfred Aho, Monica Lam, Ravi Sethi, Jeffrey Ullman, Compilateurs : principes, techniques et outils, Pearson Education.
