Código Fonte

Abaixo está listado apenas o código fonte do algoritimo que faz o processamento do autômato. Os demais códigos fontes que constituem o programa, como o código das telas e dos eventos estão inclusos no zip do Software

Algoritimo
Observação: O algoritimo está na linguagem python
# Algorítimo recursivo que verifica o automato/cadeia
# false = 0, true = 1
def percorre(self,estatual,estfinal,automato,cadeia):
# enquanto o verifica for 0, o nosso automato não foi processado
verifica = 0
# Se a cadeia for vazia, então é condição de parada!
if len(cadeia)==0:
#pegamos a posição 0 da string porque é ela que contem o estado
if estatual[0]==estfinal[0]:
verifica=1
else:
#Escrevemos no textEdit do programa o andamento do processamento.
self.textEdit4.append("Minha cadeia : " + cadeia)
#O que precisamos processar?
novoProcessamento = estatual + cadeia[0]
#Escrevemos no textEdit do programa o andamento do processamento.
self.textEdit4.append( "Vou Processar: " + processar + "\n")
for i in range(len(automato)):
#Existe alguem que possui exatamente as mesmas caracteristicas que estamos
#procurando ?
if novoProcessamento == automato[i][0:2]:
if (verifica==0):
#Então vamos fazer a chamada recursiva para ir ao próximo passo
verifica = self.percorre(automato[i][2:3],estfinal,automato,cadeia[1:len(cadeia)])
return verifica