17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

δ Função programa ou de transição<br />

q0 Estado inicial<br />

F Conjunto de estados finais, tal que F ⊂ Q<br />

ComPort <strong>–</strong> <strong>Compilador</strong> <strong>Portugol</strong><br />

O processamento de um autômato finito M, para uma palavra de entrada<br />

w, consiste na sucessiva aplicação de δ para cada símbolo de w (da esquerda para<br />

a direita), até ocorrer uma condição de parada.<br />

Um autômato finito determinístico pode parar em três casos:<br />

1. Quando o processamento da entrada leva a um estado finito e a<br />

entrada é aceita.<br />

2. Quando um símbolo de entrada possui uma saída indeterminada pela<br />

função programa, neste caso a entrada é rejeitada.<br />

3. Quando a fita acaba e o autômato está num estado não-final, a entrada<br />

é rejeitada.<br />

Um autômato finito sempre pára, uma vez que um novo símbolo de<br />

entrada é lido a cada aplicação da função programa, não existindo a possibilidade<br />

de loop infinito, dada a natureza finita da fita.<br />

Figura 2 - Representação gráfica de um autômato<br />

Um exemplo de autômato finito determinístico seria aquele responsável<br />

por validar uma entrada que possua a seqüência ab, considerando-se Σ={a,b} como<br />

alfabeto, Q={q0, q1,qf} como os possíveis estados e F={qf}.<br />

Sendo δ a função programa abaixo:<br />

Tabela 1 - Função programa<br />

δ a b<br />

q0 q1 q0<br />

q1 q1 qf<br />

Qf qf qf<br />

Graficamente este autômato seria representado por:<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!