public Converter(AFND afnd) { //Coloco el AFND en su sitio // 1 - Asigno el estado inicial del AFND al AFD this._AFND = new AFND(afnd._alfabeto, afnd._estados, afnd._estadoInicial, afnd._estadosFinales, afnd._transiciones); // 2 - Asigno la cerradura epsilon del estado inicial al conjunto de estados this._AFD = new AFD(this._AFND._alfabeto, this._AFND._estadoInicial); // 4 - Las transiciones que coinciden en la busqueda de 3 las agrego a la lista de conjuntos // 5 - Aplico la cerradura epsilon al ultimo elemto de la lista de conjuntos // 6 - Verifico si el ultimo conjunto es igual a alguno de los anteriores // 6.1 - Si NO existe agrego el ultimo conjunto creado a la lista de conjuntos // 6.2 - Si existe solo agrego el indice del conjunto ya existente a la lista de conjuntos // 7 - Luego de iterar los elemntos del alfabeto, creo las transiciones tomando como nombre del estado el indice del conjunto en la lista // 8 - Repito de de 3 a 7 hasta no hallar conjuntos nuevos // 9 - Busco los estados finales dentro de la lista de conjuntos // 10 - Agrego los estados finales al AFD }
public Form2(AFD final) { InitializeComponent(); automata = final; }