Compiladores: AFD
Compiladores: AFD
Compiladores: AFD
Conceitos Básicos
Email: [email protected]
Sistema de estados finitos
Interruptor
Um interruptor comum tem dois estados possíveis:
ligado e desligado.
Sobre esse interruptor podem ser realizadas duas
ações: ligar e desligar.
O funcionamento deste interruptor pode ser descrito pelo
autómato finito seguinte:
Definição de Autômato Finito
Ligar
Iniciar
Desligado Ligado
Desligar
Exemplo de sistema de estados
finitos
Um exemplo clássico e simples é o elevador.
Trata-se de um sistema que não memoriza as requisições
anteriores.
Cada “estado” sumariza as informações “andar corrente” e
“direção de movimento”.
As entradas para o sistema são requisições pendentes.
Exemplos, analisadores léxicos e alguns processadores de
texto, memorizam apenas a estrutura do prefixo das
palavras
Teoria dos Autômatos
a a b b
Cabeça
de leitura
Início do processo
Controle
de reconhecimento
Finito
pelo estado inicial qo
Definição de Autômato Finito
2. Símbolo ( . ) – Concatenação
3. Símbolo ( ∪ ) – União (menor)
Linguagem reconhecida
Tabela de estados
0
Estado Atual 0 1 q0 q1
Estado 0
q0 q1 q2
Inicial
q1 q0 q2 1 1
Estado
Final
q2 q2 q2 q2
0,1
Exercício 1
Estado Atual a a
Estado inicial q0 q0
Estado final q0 q0 q0
Exercício 2
Estado Atual a
Estado inicial q0 q1
Estado final q1 q1 a a
qo q1
Exercício 3
Estado Atual a b
Estado
q0 q1 𝜀 a
inicial
q1 𝜀 q2
q2 q0 q2 qo b q1
Estado final q0 q1 𝜀 b
a
q2
Exercício 4
w e b
q0 q1 q2 q3
Exercício 5
Cadeias reconhecidas:
a. 1
b. 001
c. 010101
d. 10101
e. 010010 Não reconhecida
Exercício 5 – solução
0 0
1
q0 q1
1
Exercício 6 – solução
M = (Q, ∑, , q0, F)
0 0 Q = {q0, q1 }
∑ = { 0, 1 }
1
q0 = q0
q0 q1 F = { q1 }
1 δ : Q x Σ →Q
(q0,0)=q0, (q0,1)=q1
(q1,0)=q1, (q1,1)=q0
Exercício 7
Construa um AFD M que reconheça qualquer w que
termine com 10, tendo como ∑ {0,1}.
Exercício 7 – solução
Construa um AFD M que reconheça qualquer w que
termine com 10, tendo como ∑ {0,1}.
0
1
0 q1 q3
1
q0 0
1 0
0
q2 q5
1 1 0
1
q4
Exercício 8
1
q1
q0
0 0
0 0 1
q2 1 q3
Exercício 10