Aller au contenu principal

Automates & regex (L2)

#Automates & regex

Bases des langages réguliers: expressions régulières, AFN/AFD et équivalences.

#Objectifs

  • Comprendre les langages réguliers et leur pouvoir d’expression.
  • Convertir regex ↔ AFN ↔ AFD, minimiser un AFD.
  • Utiliser les fermetures (∪, ·, *) pour construire des langages.

#Notions clés

  • Regex: union |, concaténation, étoile de Kleene *, optionnel ?, plus +.
  • AFN/AFD: états, transitions, état initial, états acceptants; ε‑transitions (AFN).
  • Algorithmes: Thompson (regex→AFN), subset construction (AFN→AFD), Hopcroft (minimisation).

#Exemple

Langage des identifiants simples: lettre suivie de lettres/chiffres/underscore.

bg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 roundedbg-[rgba(var(--code-inline-bg),0.5)] text-[rgb(var(--fg))] px-1 rounded
1regex: [A-Za-z][A-Za-z0-9_]*

#Applications

  • Recherche/validation (find/replace), lexers de compilateurs, filtrage de logs.

Sections