Exercices corrigés sur la théorie des langages, les automates et les grammaires. Les exercices sont suivis d’une correction. Donner tous les mots de tailles 0, 1, 2, 3, et 4 des langages réguliers suivants : (a + ba) * ; a (aa + b (ab) ∗ a) ∗ a. Pour cela, vous pouvez faire un arbre de possibilité pour chacun des langages.
Caractériser par une condition les automates qui reconnaissent les langages préfixe-clos. Donner un algorithme qui permet de décider si un langage défini par un AEFD est préfixe-clos. Tester votre algorithme sur les automates de la première question.
Soit doncA = (Vt, Q, i, F, T) un automate. On va noter par LI q,q0 avec q ∈ I et q0 ∈ I, le langage des mots reconnus par l’automate A depuis l’étatq jusqu’à l’étatq0 sans jamais passer par un état deI le long du chemin.
Donner les grammaires pour les langages demandés à partir de grammaires régulières quelconques. Expliquer la construction de ces grammaires. Dans cet exercice, nous transformons des grammaires en automates équivalents. Donner des automates qui reconnaissent les langages décrits par les grammaires données dans l’Exercice ??, si cela est possible.