11 Langages et automates 82
11.1Introduction............................... 82
11.2Automatesfinis............................. 82
11.2.1 Définition............................ 82
11.2.2 Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . 83
11.2.3 Diagramme d’un automate . . . . . . . . . . . . . . . . . . . 84
11.2.4 Implémentation d’un automate en Caml . . . . . . . . . . . . 84
11.3 Automates non déterministes . . . . . . . . . . . . . . . . . . . . . . 85
11.3.1 Généralités ........................... 85
11.3.2 Exemple de déterminisation . . . . . . . . . . . . . . . . . . 87
11.3.3 Simulation d’automates non déterministes . . . . . . . . . . . 88
11.3.4 Transitions instantanées . . . . . . . . . . . . . . . . . . . . 88
11.4 Automates et langages . . . . . . . . . . . . . . . . . . . . . . . . . 89
11.4.1 Opérations sur les langages . . . . . . . . . . . . . . . . . . . 89
11.4.2 Expressions rationnelles . . . . . . . . . . . . . . . . . . . . 90
11.4.3 Langages rationnels . . . . . . . . . . . . . . . . . . . . . . 90
11.4.4 Lemme de l’étoile . . . . . . . . . . . . . . . . . . . . . . . 93
11.4.5 Limitation des automates finis . . . . . . . . . . . . . . . . . 94
11.4.6 Calcul d’un automate à partir d’une expression rationnelle . . 94
11.4.7 Exemple de calcul d’une expression rationnelle . . . . . . . . 97
11.5Compléments.............................. 98
11.5.1 Constructions d’automates . . . . . . . . . . . . . . . . . . . 98
11.5.2 Minimisation.......................... 98
12 Analyses lexicale, syntaxique, sémantique 103
12.1Termes.................................. 103
12.2Sémantique ............................... 103
12.3Syntaxes................................. 104
12.4 Exemple : dérivation formelle . . . . . . . . . . . . . . . . . . . . . 104
Table des figures
1 Structures des tableaux et des listes . . . . . . . . . . . . . . . . . . . 34
2 Représentation en mémoire d’un vecteur et d’une liste chaînée . . . . 35
3 Liste chaînée, en peigne . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 Circuits élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5 Additionneur1bits........................... 51
6 Représentation d’un arbre (non binaire) . . . . . . . . . . . . . . . . 53
7 Deux arbres binaires à ne pas confondre . . . . . . . . . . . . . . . . 53
8 L’arbre binaire de recherche est à gauche . . . . . . . . . . . . . . . . 59
9 Suppression d’un nœud . . . . . . . . . . . . . . . . . . . . . . . . . 63
10 Suppression de la racine . . . . . . . . . . . . . . . . . . . . . . . . 64
11 Untas.................................. 68
12 Parcoursenlargeur ........................... 70
13 mesures dans l’arbre . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4