Quiero convertir una expresión regular ingresada por el usuario en un NFA para que luego pueda ejecutar el NFA en una cadena con fines coincidentes. ¿Cuál es la máquina mínima que se puede usar para analizar las expresiones regulares?
Supongo que debe ser un autómata push down porque la presencia de paréntesis significa la necesidad de contar y un DFA / NFA no puede realizar un conteo arbitrario. ¿Es correcta esta suposición? Por ejemplo, la expresión a (bc *) d requeriría un PDA para que la subexpresión entre paréntesis se maneje correctamente.