IFT313
Introduction aux langages formels
Froduald Kabanza
Département d’informatique
Université de Sherbrooke
planiart.usherbrooke.ca/kabanza/cours/ift313
Convertir un AFN en un AFD
IFT313 © Froduald Kabanza 2
Rappel
IFT313 © Froduald Kabanza 3
Sujet couvert
Convertir un automate fini non-déterministe en un automate fini.
déterministe.
Simuler un AFN
IFT313 © Froduald Kabanza 4
Références
[1] Sudkamp, T. A.. Languages and Machines. Third Edition Edition.
Addison-Wesley, 2005.
Sections 5.6.
[2] Appel, A. and Palsberg. J. Modern Compiler Implementation in Java.
Second Edition. Cambridge, 2004.
Section 2.4
[3] Wolper, P. Introduction à la calculabilité, 3è édition. Dunod, 2006
Section 2.6
[4] Aho, A., Lam, M., Sethi R., Ullman J. Compilers: Principles, Techniques, and
Tools, 2nd Edition. Addison Wesley, 2007.
Sections 3.7.1 à 3.7.3
IFT313 © Froduald Kabanza 6
Élimination du non-déterminisme
La méthode pour convertir un AFN en AFD est appelée « subset
construction method » en anglais.
La méthode consiste à grouper des ensembles d’états de l’AFN en un seul
état de l’AFD :
L’idée est de simuler l’exécution parallèle de l’AFN sur une entrée
donnée.
À chaque étape, nous avons un ensemble d’états dans lequel l’AFN
pourrait se trouver si on considérait toutes ses exécutions non-
déterministes.
Ces états représentent un état de l’AFD.
Nous allons encore utiliser cette technique plus tard pour l’analyse
syntaxique LR.
1 / 24 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !