17.01.2013 Views

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

COMPORT – Compilador Portugol - Nilo Menezes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figura 3 - Exemplo de autômato finito<br />

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

Supondo aabab como entrada, iniciaríamos no estado q0, lendo o “a”<br />

mais à esquerda. Pela função programa da Tabela 1, teríamos trocado de estado<br />

para q1 e leríamos o segundo “a”, permanecendo em q1. Ao lermos o “b”,<br />

trocaríamos de estado para qf, onde permaneceremos, enquanto “a” ou “b” forem<br />

lidos até o fim da fita. Como chegamos a um estado final no fim da fita, este<br />

autômato diz que a seqüência é válida.<br />

Em autômatos finitos não-determinísticos temos a mesma definição<br />

formal, exceto em relação a função programa que pode gerar um conjunto de<br />

estados para um símbolo de entrada.<br />

Ao executar um autômato finito não-determinístico e obtermos um<br />

conjunto de estados como resultado da função programa, “cria-se” uma linha de<br />

execução independente para cada elemento do conjunto. Como se tivéssemos uma<br />

nova máquina para cada elemento, com recursos e destinos próprios.<br />

Todo autômato finito não determinístico pode ser transformado em<br />

autômato finito determinístico, como é provado em MENEZES (2001).<br />

Segundo AHO (1995), tanto os autômatos finitos determinísticos<br />

quanto os não-determinísticos são capazes de reconhecer precisamente expressões<br />

regulares. Conseqüentemente, ambos podem validar exatamente o que estas<br />

expressões podem denotar. Entretanto, existe uma barganha tempo-espaço:<br />

enquanto os autômatos finitos determinísticos podem levar a reconhecedores mais<br />

rápidos que os não determinísticos, um autômato finito determinístico pode ser muito<br />

maior que um não determinístico equivalente.<br />

23

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

Saved successfully!

Ooh no, something went wrong!