Beruflich Dokumente
Kultur Dokumente
LFA Aula 02
Linguagens regulares -
introduo
olivete@fct.unesp.br
1
Linguagens Formais e Autmatos 02/2015
Na aula passada...
Viso geral
Linguagens regulares
expresses regulares
autmatos finitos
gramticas regulares
Mquina de Turing
Autmato pilha
Gramticas livre de contexto
Na aula de hoje...
Referncia bibliogrfica
HOPCROFT, J. E.; ULLMAN, J. D.; MOTWANI,
R. Introduo Teoria de Autmatos, Linguagens e
Computao. Editora Campus, 2002 Captulos 1 e 3
Roteiro
Expresses regulares
Roteiro
Definies prvias
prvias:: alfabeto, strings e
linguagem
Expresses regulares
Definies prvias
Alfabeto ou Vocabulrio: Conjunto finito no vazio de smbolos.
Smbolo um elemento qualquer de um alfabeto. Representado por
Ex: = {a,b} alfabeto formado pelas letras a e b
= {0,1,2,3,4,5,6,7,8,9} alfabeto formado pelos dgitos de 0 a 9
Definies prvias
Comprimento de uma string: Nmero de smbolos de uma cadeia.
Ex: = |aab| = 3
= |123094|=6
= ||=0
Definies prvias
Fechamento (Clausura) de um Alfabeto: Seja A um
alfabeto, ento o fechamento de A definido como
A* = A0 A1 A2 ... An ...
Definies prvias
Prefixo de uma palavra qualquer sequncia
inicial de smbolos de uma palavra
Sufixo qualquer sequncia final de smbolos
de uma palavra
Relativamente palavra abcb, tem-se que:
, a, ab, abc, abcb so os prefixos
, b, cb, bcb, abcb so os respectivos sufixos
Celso Olivete Jnior 11
Linguagens Formais e Autmatos 02/2015
Definies prvias
Linguagem formal
Ex: {ab, bc}
linguagem formada pelas cadeias ab ou bc)
{abn,anb; n>=0}
linguagem formada por todas as cadeias
que comeam com "a" seguido de um nmero
qualquer de "b"'s ou comeam com um nmero
qualquer de "a"'s seguidos de um "b", por
exemplo ab, abb, aab, aaab, ...)
Celso Olivete Jnior 14
Linguagens Formais e Autmatos 02/2015
Problemas
Na teoria de LFA, um problema a questo
de decidir se determinado string um
elemento de uma linguagem
Se um alfabeto e L uma linguagem
sobre , ento o problema :
dado um string w em *, definir se w est ou
no em L.
Celso Olivete Jnior 15
Linguagens Formais e Autmatos 02/2015
L={ 0n 1n | n >=1}
Roteiro
Expresses regulares
uma das formas de definir uma linguagem regular
Expresses regulares
Expresses regulares
comando de pesquisa grep do unix
O comando grep vai procurar um arquivo,
texto ou qualquer outra entrada e retornar
quaisquer linhas que contenham a string
especificada. Digamos que voc precisa procurar
dentro de um arquivo de log por todos os erros
que tenham a ver com o mysql.
grep mysql arquivo-de-log.log
Celso Olivete Jnior 26
Linguagens Formais e Autmatos 02/2015
Expresses regulares
[a-z|A-Z|_][a-z|A-Z|_|0-9]*
...
Concatenao
Fechamento
Operador unio
Denotado por +, ou |
Operador concatenao
Conjunto de strings que podem ser formados
tomando-se qualquer string em L e
concatenando-se com qualquer string em M .
Exemplo: L={001, 10, 111} e M={, 001}.
LM = {001, 10, 111, 001001, 10001, 111001}.
sequncia de L com .
Celso Olivete Jnior 32
Linguagens Formais e Autmatos 02/2015
Exemplo: L={0,11}
L(EF) = L(E)L(F)
L(E*) = (L(E))*
4. Se E uma ER, ento (E) uma ER
denotando a mesma linguagem que E
L((E)) = L(E)
Celso Olivete Jnior 38
Linguagens Formais e Autmatos 02/2015
Exemplos
ER para strings que so ER = 01*
formadas por zero seguido por
qualquer ocorrncia de 1
(inclusive nenhuma)
ER formada por todas as ER = (a+b)*aa(a+b)*
palavras sobre (a,b) contendo
aa como subpalavra
Agrupando...
1 O operador fechamento realizado primeiro
Supondo que:
letras so representadas por L
underline por _
e os dgitos por D
ER = L|_ (L|_|D)*
Consideraes
Manual
http://www.gnu.org/s/libtool/manual/emacs/Regexps.html
Exerccios
1. Descreva as linguagens denotadas pelas ERs abaixo sobre o alfabeto
= {0,1}.
a- 0 + 10*
b- (0 + 1)0*
c- (0011)*
d- (0 + 1)* 1(0 + 1)*
e- 0*11*0
f- 0(0 + 1)*0
g- ( + 0) ( + 1)
h- (000* + 1)*
i- ( 0* + 0*11 (1 + 00*11)*) ( + 00* )
Celso Olivete Jnior 47
Linguagens Formais e Autmatos 02/2015
Exerccios
2. Sobre o ={a,b}, defina expresses regulares que representam as linguagens
cujas sentenas esto descritas a seguir:
Possuem comprimento maior ou igual a 3;
Possuem comprimento menor ou igual a 3;
Possuem comprimento diferente de 3;
Possuem comprimento par;
Possuem comprimento mpar;
Possuem comprimento mltiplo de 4.