예제 #1
0
#Transicoes q2
maq._adicionaTransicao('*','*',2,0,'D')
maq._adicionaTransicao('a','a',2,2,'E')
maq._adicionaTransicao('b','b',2,2,'E')
maq._adicionaTransicao('A','A',2,2,'E')
maq._adicionaTransicao('B','B',2,2,'E')


#Transicoes q1
maq._adicionaTransicao('a','a',1,1,'D')
maq._adicionaTransicao('b','B',1,2,'E')
maq._adicionaTransicao('A','A',1,1,'D')
maq._adicionaTransicao('B','B',1,1,'D')

#Transicoes q0
maq._adicionaTransicao('a','A',0,1,'D')
maq._adicionaTransicao('b','B',0,3,'D')
maq._adicionaTransicao('A','A',0,0,'D')
maq._adicionaTransicao('B','B',0,0,'D')
maq._adicionaTransicao('_','_',0,4,'D')
maq._adicionaTransicao('*','*',0,0,'D')

valida = 0
for x in range(0, 15):
	maq._definePalavra("*abba_")
	if maq.executaLeitura():
		valida+= 1

print(valida)
예제 #2
0
from maquina import Maquina
import sys
import json

maq = Maquina()
file_name = sys.argv[1]

text = open(file_name)
content = text.read()
jsonmaquina = json.loads(content)

estadoFinal = None
estadoIndex = 0
for estado in jsonmaquina:
	if(jsonmaquina[estadoIndex][0][0] == 'false'):
		estadoFinal = estadoIndex
		maq._adicionaEstado(estadoIndex, False)
	else:
		maq._adicionaEstado(estadoIndex, True)
	estadoIndex+=1

estadoIndex = 0
for estado in jsonmaquina:
	if estadoIndex != estadoFinal:
		for transicao in jsonmaquina[estadoIndex]:
			maq._adicionaTransicao(transicao[0],transicao[2],estadoIndex,int(transicao[1]),transicao[3])
	estadoIndex+=1

maq._definePalavra(sys.argv[2])
print("palavra valida") if maq._executaLeitura() else print("palavra invalida")