Modelagem e CLP Linguagens e Expressões Regulares Rafael Garlet de Oliveira Instituto Federal Catarinense - IFC Câmpus Luzerna 5 de março de 2014 Rafael Garlet de Oliveira 1 / 19
Sumário 1 Linguagens Alfabetos Cadeias Linguagens Operações Sobre Linguagens 2 Expressões Regulares Definição Exemplos Propriedades Linguagem Regular 3 Exercícios Rafael Garlet de Oliveira 2 / 19
Alfabetos Rafael Garlet de Oliveira 3 / 19
Cadeias Rafael Garlet de Oliveira 4 / 19
Potências de um Alfabeto Rafael Garlet de Oliveira 5 / 19
Fechamento Kleene Rafael Garlet de Oliveira 6 / 19
Linguagens Rafael Garlet de Oliveira 7 / 19
Operações Sobre Linguagens Sejam as linguagens A, B e L Σ* Concatenação: AB := {s Σ /s = uv, u A, v B} Uma cadeia em AB é a concatenação de uma cadeia de A com uma cadeia de B. Prefixo-Fechamento: L := {s/ t Σ, st L}, em geral L L. L é composto de todas as cadeias de Σ prefixos de L. L é prefixo-fechada se qualquer prefixo de L é cadeia de L. Fechamento-Kleene: L := ε L LL LLL... Uma cadeia de L é formada pela concatenação de um número de cadeias de L, incluindo ε. Operações usuais sobre conjuntos. Rafael Garlet de Oliveira 8 / 19
Representação de SEDs por Linguagens Uma linguagem pode especificar todas as sequências de eventos em um SED. O comportamento sequencial de um SED pode ser descrito através de um par de linguagens: L e L m. L: comportamento gerado do sistema: todas as cadeias de eventos fisicamente possíveis; L m : comportamento marcado do sistema: conjunto de cadeias que correspondem a tarefas completas; L m L: o comportamento gerado contém o comportamento marcado; L = L: o comportamento gerado é prefixo-fechado. Rafael Garlet de Oliveira 9 / 19
Exercícios Considere o alfabeto Σ = {α, β, γ} e as linguagens L 1 = {ε, α, αββ} e L 2 = {γ} definidas sobre Σ. L 1 e L 2 são prefixo fechadas? L 1 L 2 = L 1 = L 2 = L 1 L 2 = L 2 = Rafael Garlet de Oliveira 10 / 19
Sumário 1 Linguagens Alfabetos Cadeias Linguagens Operações Sobre Linguagens 2 Expressões Regulares Definição Exemplos Propriedades Linguagem Regular 3 Exercícios Rafael Garlet de Oliveira 11 / 19
Convenção Utilizada Se u e v são cadeias de eventos: u = {u} (u + v) = {u, v} = {u} {v} u = {ε, u, uu, uuu,...} uv = {uv} Rafael Garlet de Oliveira 12 / 19
Definição Recursiva Uma expressão regular para um dado alfabeto Σ pode ser definida da seguinte maneira: 1 São expressões regulares: φ: conjunto vazio; ε : linguagem{ε}; σ : linguagem{σ}, σ Σ. 2 Se r e s são expressões regulares, então rs, r, s, (r + s) são expressões regulares; 3 Toda expressão regular é obtida pela aplicação das regras 1 e 2 um número finito de vezes. Rafael Garlet de Oliveira 13 / 19
Exemplos Seja o alfabeto Σ = {α, β, γ}, são exemplos de expressões regulares: (α + β)γ = {α, β, αγ, βγ, αγγ, βγγ, αγγγ, βγγγ,...} (αβ) + γ = {ε, γ, αβ, αβαβ, αβαβαβ,...} Rafael Garlet de Oliveira 14 / 19
Exemplo Seja o alfabeto Σ = {α, β}, onde: α : acesso de uma tarefa ao recurso 1; β : acesso de outra tarefa ao recurso 1. A = (αβ) ; B = (α + β) ; C = (αβ) + (βα) ; Encontre uma expressão regular que indique que a diferença entre o número de acessos de cada tarefa ao recurso 1 não seja superior a 1. Rafael Garlet de Oliveira 15 / 19
Propriedades Sejam R, S e T expressões regulares: R + φ = R Rε = R = εr Rφ = φ = φr R + S = S + R R + R = R R + (S + T ) = (R + S) + T R(ST ) = (RS)T R(S + T ) = RS + RT ε = ε φ = ε (R + S) = (R + S ) (R + S) = (R S ) (R ) = R (R) (R ) = R Rafael Garlet de Oliveira 16 / 19
Linguagem Regular Expressões regulares fornecem um meio para descrever linguagens: Definição: Linguagem Regular É qualquer linguagem que possa ser descrita por uma expressão regular. Rafael Garlet de Oliveira 17 / 19
Sumário 1 Linguagens Alfabetos Cadeias Linguagens Operações Sobre Linguagens 2 Expressões Regulares Definição Exemplos Propriedades Linguagem Regular 3 Exercícios Rafael Garlet de Oliveira 18 / 19
Rafael Garlet de Oliveira rafael.oliveira@luzerna.ifc.edu.br Sala de Professores 1 Rafael Garlet de Oliveira 19 / 19