Je ne trouve pas d'applet ou de programme en ligne pour convertir un langage sans contexte en un automate push down ... toute aide serait grandement appréciée.Programme pour convertir le langage sans contexte pour pousser les automates?
Répondre
C'est très facile à faire à la main. Le PDA a l'état de départ s et l'état final f, les deux seuls états dont il dispose. Faire une transition ((s, vide, vide), (f, S)), où S est le symbole de départ de votre CFG. Pour chaque règle X -> Y, où X est un symbole non terminal et Y est une chaîne éventuellement vide de terminaux et de non-terminaux, faites une transition ((f, vide, X), (f, Y)). Enfin, pour chaque symbole terminal a, ajoutez la règle ((f, a, a), (f, vide)). Cela commence par appuyer sur le symbole de démarrage de la pile. Ensuite, il remplace tout non-terminal qu'il trouve en haut de la pile avec le côté droit de sa règle de production, et fait correspondre tous les caractères du terminal en haut de la pile.
Veuillez vérifier le code à: https://github.com/P-Raj/AutomataPlus. Il contient du code non seulement pour la conversion de CFG en PDA, mais aussi pour d'autres tâches similaires.
Essayez ce soft: https://github.com/navrkald/regularConvertor. Vous pouvez passer pas à pas tout l'algorithme de conversion CFG en PDA. Il est écrit en C++ en utilisant Qt et dans les versions de section, vous avez déjà construit un binaire auto-exécutable pour Windows.