Post on 16-Apr-2015
FAPE - Curso de Ciência da Computação
Aspectos Teóricos da ComputaçãoProfessor: Gleifer Vaz AlvesQuarta Aula - 2006/1
FAPE-2006.1 ATC-04
Conteúdo
Parte II: Linguagens regularesLinguagens regulares Autômatos FinitosAutômatos Finitos Expressões Regulares Gramáticas Regulares
FAPE-2006.1 ATC-04
Introdução
Uma expressão regular (ER) sobre um alfabeto é indutivamente definida: é uma ER que denota a
linguagem vazia. é uma ER que denota a linguagem
contendo exclusivamente a palavra vazia, ou seja {} .
FAPE-2006.1 ATC-04
Expressão Regular
qualquer símbolo x pertencente ao alfabeto é uma ER e denota a linguagem contendo a palavra unitária x, ou seja {x}.
FAPE-2006.1 ATC-04
Operações com expressões
Três operações básicas: Operação de união, Operação de concatenação, Operação de concatenação
sucessiva ou operação estrela.
FAPE-2006.1 ATC-04
ER - Operações
Se r e s são ER´s e denotam respectivamente as linguagens R e S, então:(r+s) é ER e denota a linguagem R S
(rs) é ER e denota a linguagem {uv | u R e v S}(r*) é ER e denota a linguagem R*
FAPE-2006.1 ATC-04
Expressão Regular
Uma linguagem gerada por uma ER r é representada por L(r) ou GERA(r).É possível omitir parênteses, seguindo prioridades nas operações: a concatenação sucessiva tem
prioridade em relação à concatenação e a união, e
a concatenação tem prioridade em relação à união.
FAPE-2006.1 ATC-04
Expressão Regular - exemplos
ER Linguagemaa Palavra aaba* Inicia por b, seguido de zero
ou mais a(a+b)* Todas palavras do alfabeto
{a,b}a*ba*ba*
Todas palavras que têm exatamente dois b´s.
FAPE-2006.1 ATC-04
Expressão Regular - exemplos
ER Linguagem
(a+b)*aa(a+b)*
Todas palavras que têm aa como subpalavra.
(a+b)*(aa+bb)
As palavras que terminam com aa ou bb.
(a+)(b+ba)*
As palavras que não possuem dois a´s consecutivos.
FAPE-2006.1 ATC-04
Expressões e Linguagens
A classe das expressões regulares corresponde exatamente a classe das linguagens regulares.Expressão Regular Linguagem Regular Se r é uma ER, então GERA(r) é
uma linguagem regular
FAPE-2006.1 ATC-04
Expressões e Linguagens
Linguagem Regular Expressão Regular Se L é uma linguagem regular,
então existe uma expressão regular r tal que GERA(r) = L
FAPE-2006.1 ATC-04
Conversão: expressões autômatos
r = a
r =
r =
a
FAPE-2006.1 ATC-04
expressões autômatos
r = ab
r = a + b
a
a b
b
FAPE-2006.1 ATC-04
ER´s e Autômatos
r = a* a
FAPE-2006.1 ATC-04
Gramática
Seja G={N,T,P,S} uma gramática, onde:
N – conjunto de símbolos não-terminais;
T – conjunto de símbolos terminais;P – conjunto de regras de produção;S – símbolo inicial da gramática.
FAPE-2006.1 ATC-04
Gramática
Terminologia:símbolos não-terminais
N = {A,B,C,...T}símbolos terminais
T = {a,b,c,...t}
S N
FAPE-2006.1 ATC-04
Regras de produção
Aplicando as regras de produção definidas na gramáticas são geradas palavras referentes a linguagem que a gramática representa.
Gramática palavrar. de produção
FAPE-2006.1 ATC-04
Regras de produção
Exemplo:G = ( {S,A,B}, {a,b}, P, S )P = { S AB,
A a | AB, B b }
Passos para gerar a palavra: abbS AB ABB aBB abB abb.
FAPE-2006.1 ATC-04
Tipos de Gramática linear
Uma gramática G pode ser: GLD: se todas as regras de
produção são da forma AwB ou A w.
GLE: se todas as regras de produção são da forma ABw ou A w.
FAPE-2006.1 ATC-04
Gramática Regular
Uma gramática regular é qualquer gramática linear.Uma linguagem gerada por uma gramática regular G é representada por L(G) ou GERA(G).
FAPE-2006.1 ATC-04
Exemplos - gramáticas
Linguagem a(ba)* GLD:
G = ( {S,A}, {a,b}, { S aA, A baA | }, S )
GLE: G = ( {S}, {a,b}, { S Sba | a }, S )
FAPE-2006.1 ATC-04
Exemplos - gramáticas
Linguagem (a+b)*(aa+bb)
G = ( {S,A}, {a,b}, P, S )P = { S aS | bS | A, A aa | bb }
FAPE-2006.1 ATC-04
Árvores de derivação
Igualmente é possível representar as produções das gramáticas através de árvores derivação.
S
a S
A
b b
palavra: abb
FAPE-2006.1 ATC-04
Gramática Autômato
Tipo de produção
transição
A (A,)=qf
A a (A,a)=qf
A B (A,)=B
A aB (A,a)=B
FAPE-2006.1 ATC-04
Exemplo: GR AF
Considerando a gramática, G = ( {S,A,B}, {a,b},
{ S aA AbB | B aA }, S )
O AF que reconhece a gramática éM = ({a,b}, {S,A,B,qf}, , S, {qf})
FAPE-2006.1 ATC-04
Exemplo: GR AF
Tipo de produção
transição
S aA (S,a)=A
A bB (A,b)=B
A (A,)=qf
B aA (B,a)=A
FAPE-2006.1 ATC-04
Exemplo: GR AF
S A qf
B
a &
ba
FAPE-2006.1 ATC-04
Exemplo: AF GR
q0 q1 q2
c
b c
a b
Estados terminais: qo, q1 e q2.
FAPE-2006.1 ATC-04
Exemplo: AF GR
Transição Tipo de produção
S A
A
B
C
Correspondências: q0 = A, q1 = B, q2 = C
FAPE-2006.1 ATC-04
Exemplo: AF GR
Transição Tipo de produção
(q0,a)=q0 A aA(q0,b)=q1 A bB(q1,b)=q1 B bB(q1,c)=q2 B cC(q2,c)=q2 C cC
Tarefa: lista de exercícios 4