A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagens Formais - aula 02

Apresentações semelhantes


Apresentação em tema: "Linguagens Formais - aula 02"— Transcrição da apresentação:

1 Linguagens Formais - aula 02
Expressões Regulares A expressão regular é a maneira mais compacta e mais simples de descrever conjuntos regulares, e é usada com essa finalidade em construção de compiladores, editores, sistemas operacionais, protocolos, etc. É um formalismo denotacional, também considerado gerador. Linguagens Formais - aula 02

2 Linguagens Formais - aula 02
Definição: Uma Expressão Regular (ER) sobre um alfabeto  é definida como segue:  é uma ER (linguagem vazia)  é uma ER (linguagem contendo somente a cadeia vazia ) para cada a  , a é uma ER se  e  são ER´s, então | é uma ER. ( OU  – alternância) se  e  são ER´s, então  é uma ER. (concatenação) se  é uma ER, então (*) é uma ER (exponenciação) *:  |  |  |  |..... +:  |  |  |..... ordem de precedência: exponenciação, concatenação, alternância. Linguagens Formais - aula 02

3 Linguagens Formais - aula 02
Expressão regular Linguagem representada aa Somente a palavra aa ba* Todas as palavras que começam com b, seguido por zero ou mais a´s (a|b)* Todas as palavras sobre {a, b} (a|b)* aa (a|b) * Todas as palavras que contém aa como subpalavra a* ba* ba* Todas as palavras contendo exatamente 2 b´s (a|b)* (aa| bb ) Todas as palavras que terminam com aa ou bb (a| ) (b | ba)* Todas as palavras que não possuem 2 a´s consecutivos Linguagens Formais - aula 02

4 Linguagens Formais - aula 02
Expressões regulares representam Linguagens Regulares Se  é uma expressão regular qualquer, então L() é uma linguagem representada por . L() =  e L(a) = {a} para cada a   Se  e  são expressões regulares, então L() = L()L() Se  e  são expressões regulares, então L(|) = L() | L() Se  é uma expressão regular, então L(*) = L()* + = * Linguagens Formais - aula 02

5 Linguagens Formais - aula 02
Exemplos:  1. As expressões (a|b)* aa (a|b) * e (a|b)* bb (a|b) * representam as cadeias que contêm aa e bb respectivamente. Combinando as duas expressões com o operador | alternância, temos a expressão (a|b)* aa (a|b) * | (a|b)* bb (a|b) * que representa o conjunto de cadeias que contêm as subcadeias aa ou bb. Linguagens Formais - aula 02

6 Linguagens Formais - aula 02
Exercícios: 1. Indique se a cadeia 1011 pertence às linguagens correspondentes a cada uma das expressões regulares a) __________ (10)*1011 b) __________ 0*(10 | 11)* c) __________ 1(00)*(11)* d) __________ (1 | 00)(01 | 0)1* 2) Escreva uma expressão regular para cada uma das seguintes linguagens sobre o alfabeto {a,b}: a) O conjunto de todas as cadeias que começam e terminam com a e contém no mínimo um b b) O conjunto de todas as cadeias que terminam em ab c) O conjunto de todas as cadeias com comprimento igual a 2 Linguagens Formais - aula 02


Carregar ppt "Linguagens Formais - aula 02"

Apresentações semelhantes


Anúncios Google