Gramáticas Regulares

Tamanho: px
Começar a partir da página:

Download "Gramáticas Regulares"

Transcrição

1 Capítulo 3 Expressões Regulares, Linguagens Regulares es e Gramáticas Regulares 3.1. Expressões Regulares (RE) 3.2. Relação entre ER e Linguagens Regulares (LR) 3.3. Gramáticas Regulares (GR) 3.4. Síntese das equivalências 123

2 3.1. Expresssões regulares (RE) uma forma de descrever linguagens regulares desenvolvidas a partir de : - os símbolos do alfabeto - operadores de união : ou + concatenação: fecho-estrela : * - parênteses 124

3 Exemplo 1 ={a, b, c,..., z} L = {a} é definida pela expressão regular : a L = {d, m, u }, é definida pela expressão regular: d m u ou d+m+u. 125

4 Exemplo 2 qual é a linguagem definida pela expressão regular (a+b c)*? (a+b c)* = (a+b c) 0 (a+b c) 1 (a+b c) (a+b c) 0 : - (a+b c) 1 : a, bc - (a+b c) 2 = (a+b c)(a+b c) : aa, abc, bca, bcbc - (a+b c) 3 : aaa, aabc, abcbc, abca, bcbcbc,

5 Exemplo 3 = {a, b, c} (a+b)* : cadeias di,a, b, aa, bb,ab, b ba, aaa, abbaa, bbbaabab, b b... qualquer cadeia com a s eb s a* b* : cadeias a n b m,n,m 0 ou seja, a,b, aab, aabb, abb, bbb, aabbbb,... (c+ ) : cadeia c 127

6 Definição formal, recursiva, de expressão regular Definição 3.1. Considere-se um dado alfabeto. 1. expressões regulares primitivas a ( para a ) 2. Se r 1 e r 2 são expressões regulares, também o serão i) r 1 +r 2 (união) ii) r 1 r 2, (concatenação) iii) r 1 *, r 2 * (fecho-estrela) iv) (r 1 ), (r 2 ) (parênteses) 128

7 3. Uma cadeia é uma expressão regular se e só se puder ser derivada - a partir das expressões regulares primitivas e - pela aplicação de um número finito de vezes das regras de

8 Exemplos = {0,1} 01* = {0, 01, 011, 0111,..} (01*)(01) = {001, 0101, 01101, ,..} (0+1)* = {, 0, 1, 00, 01, 10, 11,..}, todas as cadeias de 0 e 1 (0+1)*00(0+1)* = {00, 1001,..}, todas as cadeias de 0 e 1 contendo 00 ={abc} {a,b,c} (a+b c)* (c+ ) é expressão regular? (a + c + ) é expressão regular? 130

9 Exemplos : ={0,1} (1+10)* = todas as cadeias iniciadas por 1 e não contendo pares de zeros 00 (0+1)*011 = todas as cadeias que terminam com 011 0*1* = todas as cadeias que não têm um 0 depois de 1 00*11* = todas as cadeias com pelo menos um 0 e um 1, e nenhum 0 depois de 1 131

10 Regras algébricas para expressões regulares Regras comutativas Regras associativas Regras distributivas Identidades e anuladores Regras de fecho Hopcroft, Motwani & Ullman,

11 3121Regrascomutativas e associativas Sejam L, M e N expressões regulares. Então: L + M = M + L comutatividade da união (L + M) ) + N = L + (M + N) ) associatividade da união (LM)N = L(MN) associatividade da concatenação LM = ML?? ttiidd d comutatividade da concatenação 133

12 Regras distributivas L(M +N) =LM+LN LN distributividade à esquerda da concatenação em relação à união (M + N)L = ML + NL distributividade à direita da concatenação em relação à união (MN) + L = (M + L)(N + L) )??? L+(MN) = (L+M)(L+N) + +??? 134

13 Identidadeseanuladores(zeros) e anuladores é a identidade para a união + L = L + = L é a identidade para a concatenação: L = L = L é o anulador para a concatenação L = L = 135

14 Regrasdofechoestrela fecho-estrela (L*)* = L* L + = LL* = L*L L* = L + + * = *= ( L+M )* =(L* M *)*) 136

15 Outras regras algébricas Para provar uma regra algébrica qualquer, por exemplo L + ML = (L + M)L tem que se provar que qualquer cadeia gerada pela RE da esquerda é também gerada pela RE da direita. Para provar que é falsa, basta dar um contra exemplo. Para auxiliar a prova podem-se substituir os símbolos das RE por caracteres de um alfabeto, no caso por exemplo (a+ba) = (a + b)a que facilmente se vê ser falso. ver Hopcroft, Motwani & Ullman,

16 Linguagem associada a uma expressão regular Dfiiã Definição Se r é uma expressão regular, L(r) )denota a linguagem associada com r, e é definida pelas regras: 1. r = é uma expressão regular, o conjunto vazio 2. r = é uma expressão regular, o conjunto { } 3. para todo o a, r = a é uma expressão regular, {a} 138

17 Se r 1 e r 2 são expressões regulares, então 4. L(r 1 +r 2 ) = L(r 1 ) L(r 2 ) 5. L(r 1 r 2 ) = L(r 1 ) L(r 2 ), concatenação de L(r 1 ) com L(r 2 ) 6. L((r 1 )) = L(r 1 ) 7. L(r 1 *) = (L(r 1 ))* 139

18 As regras 4 a 7 usam-se para reduzir recursivamente uma linguagem L a expressões mais simples. As regras 1 a 3 são as condições terminais para esta recursão. Para se verificar qual a linguagem que corresponde a uma dada expressão regular, aplicam-se aquelas regras tantas vezes quantas as necessárias. A precedência dos operadores é a seguinte 1º- fecho- estrela (*), 2º - concatenação ( ), 3º- (+) união 140

19 Exemplos: i) = {x} L(xx*) ={x, { xx, xxx,...}= } L(x + ) L(x(xx)*) ={x, xxx, xxxxx,..} =L(x ímpar ) ii) = { a, b, c } L((a+c)b*) = L(a+c)L(b*) = (L(a) L(c)) (L(b))* = L(c+ ) = { c } ={ac}{ a, c {, bbbbbb b, bb, bbb, } = { a, c, ab, cb, abb, cbb, abbb,..} iii) ={a, { b} L((a+b).(a+b).(a+b)) = L(a+b) L(a+b) L(a+b)={a,b} {a,b} {a,b} = {aaa,, aba, abb, baa, bba,..}, } 141

20 Notas: (a+b)*= (a+b)*+(a+b)* (a+b)* = (a+b)*(a+b)* (a+b)* =a(a+b)*+b(a+b)*+ ( ) 142

21 ={0 {0,1} A) escrever a expressãoregular para a linguagem L ={w { : w terminacomumnúmero ímpar de zeros } r = (0+1)*10(00)* + 0(00)* B) Qual é a linguagem representada pela expressão regular: i) ( )*( +0+00) ii) ((0+1)(0+1))*+((0+1)(0+1)(0+1))* 143

22 Exemplo de linguagens complementares = {0,1} Encontrar uma expressão regular para as linguagens g i) L(r) = {w * : w tem pelo menos um par de zeros consecutivos } Exemplo 3.5, p. 75 Linz ii) L (r) = {w * : w não tem qualquer par de zeros consecutivos } Exemplo 3.6, p. 75 Linz 144

23 Equivalência de expressões regulares Duas expressões regulares são equivalentes se elas denotam a mesma linguagem. Quando se simplifica uma expressão regular, obtêm-se sucessivamente expressões regulares equivalentes. Para uma dada d linguagem existe geralmente um número ilimitado de expressões regulares equivalentes. 145

24 3.2. Relação entre expressões regulares e linguagens regulares Para toda a linguagem regular existe uma expressão regular Para toda a expressão regular existe uma linguagem regular. 146

25 3.2.1 Determinação de linguagens regulares a partir de expressões regulares Uma linguagem é regular se for aceite por um DFA ou um NFA Se se construir um NFA a partir de uma expressão regular r qualquer, r denotará uma linguagem regular L(r). Para o provar, recorre-se à definição recursiva de L(r), aplicando as regras 1-3 para definir os elementos básicos e as regras 4-7 para as composições de elementos básicos. 147

26 1º definem-se NFA para as expressões regulares primitivas i) NFA aceitador de L 1 = : q q r= q 0 q 1 ii) NFA aceitador de L 2 = { } r= q 0 q 1 iii) NFA aceitador de L 3 = {a} r=a a q 0 q 1 148

27 2º Admitamos agora que temos uma expressão regular r e que o NFA que aceira L(r) é representado por M (r) M (r) q 0 q F com o estado inicial q 0 e o estado final q F. Note-se que qualquer NFA pode ser representado com um só estado final. 149

28 3º Temos NFA s M(r 1 )e M(r 2 ) que aceitam as linguagens L(r 1 ) e L(r 2 ). iv) L(r 1 +r 2 ) M (r 1 ) q 0 M (r 2 ) q f 150

29 v) L (r 1 r 2 ) q 0 M (r 1 ) M (r 2 ) q f 151

30 vi) L(r 1 *) q 0 M(r 1 ) q f 152

31 Usando os autómatos anteriores como elementos construtivos é possível construir um NFA para qualquer expressão regular. Teorema 3.1. Se r é uma expressão regular, existe algum autómato finito não-determinístico que aceita L(r). Logo L(r) é uma linguagem regular. 153

32 Exemplo r=1* ,1 q 0 DFA q

33 Determinação de expressões regulares a partir de linguagens regulares A toda a linguagem regular se pode associar um NFA e portanto t um grafo de transições. Partindo do estado q 0, procuram-se todos os caminhos possíveis até ao estado final e as suas etiquetas. É possível depois encontrar uma expressão regular que gere todas essas etiquetas. Para facilitar esta operação, usam-sese os grafos de transição generalizados. 155

34 Grafos de transição generalizados: as arestas podem ser etiquetadas por expressões regulares, a etiqueta de um caminho desde o estado inicial até a um estado finaléé a concatenação das etiquetas t das arestas do caminho, i.e, a concatenação de expressões regulares e portanto é uma expressão regular, as cadeias expressas por essa expressão regular são um subconjunto da linguagem aceite pelo grafo de transição generalizado, a linguagem total será a união de todos os subconjuntos gerados deste modo. 156

35 NFA grafos de transição generalizados expressões regulares 157

36 O grafo de um NFA pode considerar-se um grafo generalizado : Uma aresta etiquetada com um único carácter a interpreta-se como etiquetada pela expressão regular a, Uma aresta etiquetada por vários caracteres a,b,,..., interpreta- se como etiquetada pela expressão regular a + b +..., Pode-se assim afirmar que para toda a linguagem regular existe um grafo de transição generalizado que a aceita, Por outro lado toda a linguagem aceite por um grafo generalizado é uma linguagem regular. 158

37 Grafos equivalentes simplificação de grafos Dois grafos são equivalentes se aceitam a mesma linguagem d e c q i q q j a b a, b, c, d e e são expressões regulares quaisquerq Pode-se eliminar o estado q?? 159

38 Sim, desde que não se altere a linguagem g... d e c q j q q q j i a b q i q i : ae*d q i q j : ae*b q j q i : ce*d q j q j : ce*b 160

39 ae*d ce*d ce*b q i q j ae*b q i q i q i q j q j q j q j q i : ae*d : ae*b : ce*b : ce*d 161

40 Este procedimento assegura que a linguagem g aceite não é alterada Num grafo com mais estados, mais complicado, - este é feito para todos os pares (q i, q j )emq Q {q} antes de se remover q (i.e, todos os pares que estejam ligados a q). 162

41 Teorema Seja L uma linguagem g regular. Então existe uma expressão regular r tal que L = L (r). Demonstração: existe um NFA que aceita L, com um só estado final e tal que o estado inicial q 0 não é estado final. Pode-se interpretar como um grafo de transição generalizado aplica-se-lhe o procedimento anterior de eliminar vértices q, até que se fique apenas com o estado inicial e o estado final, obtendo-se o grafo da figura seguinte 163

42 r 1 r 4 r3 r 3 q 0 q f r 2 r 1, r 2, r 3, r 4 são expressões regulares A linguagem aceite pelo grafo é r=r * r ( r + r r * r )*

43 No caso de se obter um grafo em que o estado inicial i i também é estado final, r 1 r 4 r3 q 0 q r 2 a expressão regular é r = (r 1 * + (r 2 r 4 * r 3 ))* 165

44 ... de facto r 1 r 4 r 3 q 0 q f q r 2 elimine-se i q: q f q : (r f 1 *+(r 2 r 4 *r 3 ))* 166

45 (r 1 * + (r 2 r 4 * r 3 ))* q f r = (r 4 + ))* =r 4 * = (r 1 * + (r 2 r 4 * r 3 ))* q q f ( 4 )) 4 0 r 1 r 4 r3 q 0 q f r = r 1 * r 2 ( r 4 + r 3 r 1 * r 2 ) * r 2 167

46 Exemplo 0 Introduz-se um estado inicial, 0 0 B A C 1 q 0 A 0 B C 1 q 0 0 A 11*0 B 11*0 r 4 0 q 0 A Alicando agora o resultado geral r= (r 4 + )* =r 4 *= r 4 r 4 = ( 0 + (11*0)(11*0)*0 )* 168

47 3.3. Gramáticas Regulares Uma gramática G =(VTS (V,T,S,P) linear à esquerda se todas as suas produções têm a forma A Bx, A x linear à direita se todas as suas produções são da forma A xb, A x A, B B V, conjunto das variáveis, x T*, T conjunto dos símbolos terminais Uma gramática diz-se regular se ela é ou linear à esquerda ou linear à direita 169

48 Exemplo 1 G 1 = ({S}, {a,b}, SP) S, 1 ), linear à direita it P 1 : S abs a Como derivar ababa? S abs ababs ababa Aplicando P 1 sucessivamente obtém-se a linguagem (regular) denotada pela expressão regular r=(ab)*a 170

49 Exemplo 2 G 2 =({S,A,B}, {a,b}, S, P 2 }, linear à esquerda P 2 : S Aab, A Aab B B a Como derivar aababab? S Aab Aabab Aababab Bababab aababab Aplicando P 2 sucessivamente conclui-se que esta gramática gera a linguagem g regular definida pela expressão regular r=aab(ab)* 171

50 Exemplos de gramáticas não-regulares G 3 =({S,A,B}, ({SAB}{a,b}, SP} S, } P: S A, (i) A ab, (ii) B Ab (iii) tem umas produções lineares à direita (i, ii) e outras lineares à esquerda (i, iii) e por isso é linear mas não regular Nem todas as lineares são regulares. 172

51 Determinação das linguagens regulares a partir das gramáticas lineares à direita. Pode-se construir um NFA que imita as derivações da gramática linear à direita. Uma forma sentencial tem uma e uma só variável que é o símbolo mais à direita. A produção D de resulta em ab...cd ab...cde 173

52 ab...cd ab...cde Um NFA pode imitar esta produção se tiver um estado D e um estado E e entre os dois uma aresta etiquetada por d : D d E Estados do autómato : variáveis das formas sentenciais. A parte da cadeia ab...c já processada foi obtida por construções semelhantes anteriores. 174

53 Teorema 3.3. Sj Seja G = (VTS (V,T,S,P) uma gramática linear à direita. Então L(G) ( ) é uma linguagem g regular. Para o demonstrar constrói-se um NFA que imite as produções da gramática. 175

54 V = {V 0,, V 1,..., V n } o conjunto das variáveis da gramática S = V 0 P : V 0 v 1V i V i v 2 V j V n v l v i : sub-cadeias (um ou mais símbolos). Se w é uma cadeia em L(G), a sua produção será V 0 v 1 V i v 1 v 2 V j *... v 1 v 2...v k V n v 1 v 2...v k v l =w 176

55 O NFA imita cada derivação consumindo um v de cada vez; V 0, V i, V j,..., V n são estados do autómato; existem outros entre eles quando os v s s são cadeias com mais de um carácter; é preciso acrescentar o estado final. 177

56 Para a produção: V i a 1 a 2 a 3...a m V j o NFA terá um caminho ligando V i a V j, ou seja *(V i, V j ) existe e será definida por * (V i, a 1 a 2 a 3...a m )=V V j a V 1 a 2 a m i V j 178

57 Para uma produção V i a 1 a 2 a 3...a m a função de transição generalizada será o estado final V f. * (V i, a 1 a 2 a 3...a m ) = V f a V 1 a a 2 m i V f 179

58 Exemplo: G=({S, A, B}, {a,b},s,p) S a A b F a P: S aa ab, A bb b, B aa bb. B Derivação da cadeia ababab : a b b S aa abb abaa ababb ababaa ababab 180

59 Determinação das gramáticas lineares à direita a partir das linguagens regulares Prova-se que toda a linguagem regular pode ser gerada por uma gramática linear à direita: constrói-se o DFA para a linguagem os estados do DFA transformam-se nas variáveis da gramática os símbolos produtores das transições são os terminais das produções. 181

60 Teorema 3.4. Se L é uma linguagem regular no alfabeto, então existe uma gramática linear à direita G = (V,, S,P ) tal que L=L L (G). Demonstração com DFA: Seja M=(Q,,,q 0,F ) o DFA que aceita L,com Q= {q 0,q 1,...q n } ={a 1,a 2,..., a m } Construa-se a gramática linear à direitai G=(V, (, S,P), ) tal que V= {q 0,q 1,...q n } S = q 0 Para cada transição (q i,a j )=q k no DFA M, introduz-e em P d a produção q i a j q k Se q k faz parte de F, acrescenta-se se a P a produção q k 182

61 Demonstração com DFA: Linguagem DFA Gramática LD 183

62 Demonstração com NFA: Seja M=(Q,,,q 0,F ) o NFA que aceita L,com Q= {q 0,q 1,...q n } ={a 1,a 2,..., a m } Construa-se a gramática ái linear à direitai G = (V,, S, P), ) tal que V= {q 0,q 1,...q n } S = q 0 Para cada transição (q i,a j )=q k no NFA M, introduz-e em P a produção q i a j q k Se existir também (q i,a j )=q l, introduz-e em P a produção q i a j q l, ou seja q i a j q k a j q l Para cada transição (q i, ) =q k no NFA M, introduz-e em P d a produção q i q k Se q k faz parte de F, acrescenta-se se a P a produção q k 184

63 Demonstração com NFA: Linguagem NFA Gramática LD Diferente da que se obtém a partir do DFA, mas equivalente. 185

64 Exemplo Construir a gramática linear à direita para a linguagem L(aab*a) O NFA respectivo é a a a q 0 q 1 q 2 q f b Transições em M Produções em G (q 0,a)={q 1 } q 0 aq 1 (q 1,a)={q 2 } q 1 aq 2 (q 2,b)={q) 2 } q 2 bq 2 (q 2,a)={q f } q 2 aq f q f F q f q f q f 186

65 Exemplo:Construir a gramática linear à direita para a linguagem L(aab*a+aa+ab*a) a b q 1 a q 2 a q 3 a q4 b q 0 a q a 5 q 6 q 7 q f Transições em M Produções em G (q 4, )={q f } q 4 q f (q 0, )={q 1,q 5 } q 0 q 1 q 5 (q 5,a)={q 6 } q 5 aq 6 (q 1,a)={q 2 } q 1 aq 2 (q 6,b)={q 6 } q 6 bq 6 (q 2,a)={q) 3, q 4 } q 2 aq 3 aq 4 (q 6,a)={q) 7 } q 6 aq 7 (q 3,a)={q 4 } q 3 aq 4 (q 7, )={q f } q 7 q f (q 3, b)={q 3 } q 3 bq 3 q f F q f 187

66 Equivalência entre linguagens regulares e gramáticas regulares Para as gramáticas lineares à esquerda também se pode enunciar o teorema de equivalência Teorema 3.5. A linguagem L é regular se e só se existir uma gramática linear à esquerda G tal que L=L(G). Podemos finalmente enunciar o teorema de equivalência entre linguagens regulares e gramáticas regulares: Teorema 3.6. Uma linguagem L é regular se e só se existir uma gramática regular G tal que L=L(G). 188

67 3.4. Síntese das equivalências Expressões regulares (ER) Teorema 3.1 Teorema 3.2 DFA ou NFA Teorema 3.3 Teorema 3.4 Gramáticas regulares (GR) 189

68 Teorema 3.1. ER NFA Teorema 3.2 LR ER (LR DFA GTG ER) Teorema 3.3 Gramáticas lineares à direita LR ( Gramáticas lineares à direita NFA LR ) Teorema 3.4 LR Gramáticas Lineares à direita (LR DFA Gramáticas lineares à direita) 190

69 Bibliografia An Introduction to Formal Languages and Automata, Peter Linz, 3rd Ed., Jones and Bartelett Computer Science, 2001 Introduction to Automata Theory, Languages and Computation, 2nd Ed., John Hopcroft, Rajeev Motwani, Jeffrey Ullman, Addison Wesley, Elements for the Theory of Computation, Harry Lewis and Christos Papadimitriou, it i 2nd Ed., Prentice Hall, Introduction to the Theory of Computation, Michael Sipser, PWS Publishing Co,

CAPÍTULO 3 EXPRESSÕES REGULARES, LINGUAGENS REGULARES E GRAMÁTICAS REGULARES

CAPÍTULO 3 EXPRESSÕES REGULARES, LINGUAGENS REGULARES E GRAMÁTICAS REGULARES CAPÍTULO 3 EXPRESSÕES REGULARES, LINGUAGENS REGULARES E GRAMÁTICAS REGULARES 3.1 Introdução 117 3.2 Expressões Regulares 117 3.3 Regras algébricas para expressões regulares 126 3.4 Relação entre expressões

Leia mais

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268

Capítulo Métodos para transformar gramáticas ái Duas formas Normais (Chomsky e Greibach) ADC/TC/Cap.6/ /LEI/DEIFCTUC 268 Capítulo 6 Simplificação de gramáticas livres de contexto e Formas Normais 61 6.1. Métodos para transformar gramáticas ái 62 6.2. Duas formas Normais (Chomsky e Greibach) 268 6.1. Métodos para transformar

Leia mais

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas

formais e autómatos Linguagens g recursivas e recursivamente enumeráveis Gramáticas não-restringidas Capítulo 11 Uma hierarquia de linguagens formais e autómatos 11.1. Linguagens g recursivas e recursivamente enumeráveis. 11.2. Gramáticas não-restringidas 11.3. Gramáticas e linguagens dependentes do contexto

Leia mais

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas. Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto

Leia mais

Linguagem (formal) de alfabeto Σ

Linguagem (formal) de alfabeto Σ Linguagem (formal) de alfabeto Σ Linguagem é qualquer subconjunto de Σ, i.e. qualquer conjunto de palavras de Σ Σ = {a, b} {aa, ab, ba, bb} ou {x x {a, b} e x = 2} {a, aa, ab, ba, aaa, aab, aba,...} ou

Leia mais

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375

Capítulo A máquina de Turing (TM) padrão Combinações de máquinas de Turing A Tese de Turing. ADC/TC/Cap.9/ /LEI/DEIFCTUC 375 Capítulo 9 Máquinas de Turing 9.1. A máquina de Turing (TM) padrão 9.2. Combinações de máquinas de Turing 9.3. A Tese de Turing ADC/TC/Cap.9/2009-10/LEI/DEIFCTUC 375 Linguagens regulares Autómatos finitos

Leia mais

Expressões Regulares e Gramáticas Regulares

Expressões Regulares e Gramáticas Regulares Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão

Leia mais

Revisões de Conjuntos

Revisões de Conjuntos Revisões de Conjuntos {, {a}, {b}, {a, b}} a A a pertence a A, a é elemento de A a {a, b, c} a / A a não pertence a A d / {a, b, c} A B A contido em B, A subconjunto de B x A x B {a, b} {b, c, a} A B A

Leia mais

Teoria da Computação Aula 02 Introdução

Teoria da Computação Aula 02 Introdução Teoria da Computação Aula 02 Introdução Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Alfabeto Um alfabeto é um conjunto finito de símbolos ou caracteres, representado pela letra sigma ( ). Portanto:

Leia mais

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) )

Exercicios. 7.2 Quais das seguintes afirmações são verdadeiras? Justifica. (d) abcd L((a(cd) b) ) Exercicios 7.1 Escreve expressões regulares para cada uma das seguintes linguagens de Σ = {a, b}: (a) palavras com não mais do que três as (b) palavras com um número de as divisível por três (c) palavras

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

Leia mais

13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497

13.2. Sistemas de Post Sistemas de rescrita Cálculo Lambda. ADC/TC/Cap.13/ /LEI/DEIFCTUC 497 Capítulo 13 Outros modelos de computação 13.1. 1 Funções recursivas 13.2. Sistemas de Post 13.3. Sistemas de rescrita 13.4. Cálculo Lambda 497 Máquinas de Turing (1936): os modelos de computação mais gerais

Leia mais

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010

Leia mais

Modelos de Computação

Modelos de Computação Modelos de Computação 2.ano LCC e LERSI URL: http://www.ncc.up.pt/~nam/aulas/0405/mc Escolaridade: 3.5T e 1P Frequência:Semanalmente serão propostos trabalhos aos alunos, que serão entregues nas caixas

Leia mais

Regulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192

Regulares (RL) 4.1. Propriedades d de fecho das RL ADC/TC/CAP.4/ /LEI/DEIFCTUC 192 Capítulo 4 Propriedades das Linguagens Regulares (RL) 4.1. Propriedades d de fecho das RL 4.2. Pertença e finitude it das RL 4.3. Identificação de linguagens não regulares 192 4.1. Propriedades de fecho

Leia mais

Outras Máquinas de Turing

Outras Máquinas de Turing Capítulo 10 Outras Máquinas de Turing 10.1. Pequenas variações da TM padrão 10.2. MT s com dispositivos de armazenamento mais complexos 10.3. MT s não-determinísticas 10.4. A Máquina de Turing Universal

Leia mais

Linguagens Formais - Preliminares

Linguagens Formais - Preliminares Linguagens Formais - Preliminares Regivan H. N. Santiago DIMAp-UFRN 25 de fevereiro de 2007 Regivan H. N. Santiago (DIMAp-UFRN) Linguagens Formais - Preliminares 25 de fevereiro de 2007 1 / 26 Algumas

Leia mais

Gramáticas ( [HMU00], Cap. 5.1)

Gramáticas ( [HMU00], Cap. 5.1) Gramáticas ( [HMU00], Cap. 5.1) Vimos que a seguinte linguagem não é regular L = {0 n 1 n n 0} Contudo podemos fácilmente dar uma definição indutiva das suas palavras: 1. ɛ L 2. Se x L então 0x1 L L é

Leia mais

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1

Árvores (ordenadas) Departamento de Ciência de Computadores da FCUP MC Aula 11 1 Árvores (ordenadas) Recordemos que, uma árvore é grafo (não dirigido) em que o número de vértices excede em 1 o número de arcos. Um vértice é acessível a todos os outros: a raiz. Os vértices que são acessíveis

Leia mais

Apostila 05 Assunto: Linguagens dos tipos 0 e 1

Apostila 05 Assunto: Linguagens dos tipos 0 e 1 Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS

CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS CAPÍTULO 6 SIMPLIFICAÇÃO DE GRAMÁTICAS LIVRES DE CONTEXTO E FORMAS NORMAIS 6.1 Introdução 215 6.2 Métodos para transformar gramáticas 215 6.2.1 Eliminação do carácter 216 6.2.2 Uma regra geral para substituir

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 27 de Fevereiro de 2018 27 de Fevereiro de 2018 Definição: Concatenação Sejam u, v Σ. A concatenação de u e v, denotado por uv é a operação binária sobre Σ assim definida (i) BASE: Se tamanho(v) = 0 então v = λ e uv = u. (ii)

Leia mais

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018

Prof. Dr. Marcos Castilho. Departamento de Informática/UFPR. 22 de Fevereiro de 2018 22 de Fevereiro de 2018 Motivação O que é um computador? O que é um algoritmo? Para que serve um algoritmo? Quando um algoritmo é bom? A análise de um algoritmo depende do computador? Motivação Em teoria

Leia mais

Autómatos de pilha e GIC

Autómatos de pilha e GIC Autómatos de pilha e GIC Proposição 17.1. A classe de linguagens aceites por autómatos de pilha está contida na classe das linguagens independentes de contexto. Dem. Seja L uma linguagem independente de

Leia mais

Capítulo 5. Linguagens livres de contexto

Capítulo 5. Linguagens livres de contexto Capítulo 5 Linguagens livres de contexto 5.1. Gramáticas livres de contexto 5.2. Parsing e ambiguidade 5.3. CFG e linguagens de programação 221 5.1. 1Gramáticas ái livres de contexto na parte esquerda

Leia mais

Expressões e Gramáticas Regulares e Autómatos Finitos

Expressões e Gramáticas Regulares e Autómatos Finitos Folha Prática Expressões e Gramáticas Regulares e Autómatos Finitos 1 Expressões e Gramáticas Regulares e Autómatos Finitos Expressões Regulares e Autómatos Finitos 1. Determine e implemente computacionalmente

Leia mais

Autómatos de pilha e Gramáticas independentes de contexto

Autómatos de pilha e Gramáticas independentes de contexto Autómatos de pilha e Gramáticas independentes de contexto Proposição 15.1. A classe de linguagens aceites por autómatos de pilha está contida a classe das linguagens independentes de contexto. Dem. Seja

Leia mais

CAPÍTULO 7 AUTÓMATOS DE PILHA

CAPÍTULO 7 AUTÓMATOS DE PILHA CAPÍTULO 7 AUTÓMATOS DE PILHA 7.1 Introdução 247 7.2 O Autómato de Pilha, PDA-Push Down Automata 247 7.3 Autómatos de Pilha Não-Determinísticos 249 7.4. Autómatos de pilha e linguagens livres de contexto

Leia mais

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo?

Problema A Codificação Símbolos Dado um inteiro n, n é N representação de inteiros 0,1,...,b - 1 numa base b Dado um grafo G, G é conexo? 2 Linguagens Uma linguagem de programação, ou uma língua natural como o Português ou o Inglês, pode ser vista como um conjunto de sequências de símbolos, pertencentes a um conjunto finito. Em Português

Leia mais

a * Expressões Regulares (ER) Conversão de AF para ER no JFLAP Equivalências entre AFD, AFND, AF-, ER, GR

a * Expressões Regulares (ER) Conversão de AF para ER no JFLAP Equivalências entre AFD, AFND, AF-, ER, GR a * Expressões Regulares (ER) Conversão de AF para ER no JFLAP Equivalências entre AFD, AFND, AF-, ER, GR 1 Expressões Regulares (ER) Uma ER sobre um alfabeto é definida como: a) é uma ER e denota a linguagem

Leia mais

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível

Leia mais

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos

LFA Aula 07. Equivalência entre AFD e AFND. Equivalência entre ER s e AF s Equivalência entre GR s e AF s. Linguagens Formais e Autômatos LFA Aula 07 Equivalência entre AFD e AFND AFND: uma aplicação busca em textos Equivalência entre ER s e AF s Equivalência entre GR s e AF s Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa

Leia mais

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos

SCC Capítulo 1 Linguagens Regulares e Autômatos Finitos SCC-505 - Capítulo 1 Linguagens Regulares e Autômatos Finitos João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo

Leia mais

Histórico e motivação

Histórico e motivação Expressões regulares 1. Histórico e motivação 2. Definição a) Sintaxe b) Semântica c) Precedência dos operadores 3. Exemplos 4. Leis algébricas 5. Dialetos 6. Aplicações 7. Exercícios Pré-requisito: básico

Leia mais

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto.

As linguagens regulares são I.C Proposição Qualquer linguagem regular é independente de contexto. As linguagens regulares são I.C Proposição 16.1. Qualquer linguagem regular é independente de contexto. Dem. Seja L Σ uma linguagem regular, e seja r uma expressão regular tal que L = L(r).Por indução

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang

COMPILADORES. Revisão Linguagens formais Parte 01. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 01 geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = épsilon λ = lambda

Leia mais

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2)

SCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha (versão 2) SCC-505 - Capítulo 2 e (versão 2) João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis

Leia mais

Capítulo 1. Introdução e

Capítulo 1. Introdução e Capítulo 1. Introdução e definições básicas 1.1. Linguagens 1.2. Gramáticas 1.3. Autómatos 1.4. Os três paradigmas da computação 1 1.1. 1 Linguagens 1. Alfabeto, ={símbolos}, conjunto não vazio de símbolos

Leia mais

Marcos Castilho. DInf/UFPR. 21 de março de 2019

Marcos Castilho. DInf/UFPR. 21 de março de 2019 21 de março de 2019 Análise sintática: introdução Dada uma gramática G e uma palavra w Σ, como saber se w L(G)? Isto é, como saber se S = G w? Derivações à esquerda e ambiguidade w L(G) se S = G w; Sabemos

Leia mais

CAPÍTULO 5 LINGUAGENS LIVRES DE CONTEXTO

CAPÍTULO 5 LINGUAGENS LIVRES DE CONTEXTO CAPÍTULO 5 LINGUAGEN LIVRE DE CONTEXTO 5.1. Introdução 181 5.2 Gramáticas livres de contexto 181 5.2.1. Definição e exemplos 183 5.2.2 Derivação pela extrema direita e pela extrema esquerda 188 5.2.3.Árvores

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.

Leia mais

CAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO

CAPÍTULO 8 PROPRIEDADES DAS LINGUAGENS LIVRES DE CONTEXTO CPÍTULO 8 PROPRIEDDES DS LINGUGENS LIVRES DE CONTEXTO 8.1 Introdução 275 8.2 Dois lemas de bombagem 266 8.2.1 Lema de bombagem para linguagens livres de contexto 275 8.2.2 Lema de bombagem para linguagens

Leia mais

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma

Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma Formas normais Em muitas aplicações, é útil que as GIC tenham regras de tipos especiais. Para tal é necessário que se possa transformar qualquer gramática numa equivalente (isto é que gere a mesma linguagem)

Leia mais

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ).

Alfabeto e palavras. Alfabeto conjunto finito de símbolos (Σ). Alfabeto e palavras Alfabeto conjunto finito de símbolos (Σ). {A,...,Z}, {α, β,... }, {a,b}, {0,1}, ASCII Palavra de Σ sequência finita de símbolos do alfabeto Σ Σ = {a, b} aabba a aaaaaaaa Comprimento

Leia mais

Autómatos de Pilha e Linguagens Livres de Contexto

Autómatos de Pilha e Linguagens Livres de Contexto Folha Prática Autómatos de Pilha e Linguagens Livres de Contexto 1 Autómatos de Pilha e Linguagens Livres de Contexto Autómatos de Pilha Não Determinísticos (APND) 1. Considere a seguinte tabela de transição

Leia mais

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens) Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.

Leia mais

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO

LINGUAGEM LIVRE DE CONTEXTO GRAMÁTICA LIVRE DE CONTEXTO LINGUAGEM LIVRE DE CONTEXTO As Linguagens Livres de Contexto é um reconhecedor de linguagens, capaz de aceitar palavras corretas (cadeia, sentenças) da linguagem. Por exemplo, os autômatos. Um gerador

Leia mais

AFNs, Operações Regulares e Expressões Regulares

AFNs, Operações Regulares e Expressões Regulares AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação

Leia mais

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo

Gramática regular. IBM1088 Linguagens Formais e Teoria da Computação. Evandro Eduardo Seron Ruiz Universidade de São Paulo Gramática regular IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos

Leia mais

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares

Expressões Regulares. Linguagens Formais e Autômatos. Andrei Rimsa Álvares Linguagens Formais e Autômatos Expressões Regulares Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Expressões Regulares Até agora foram vistas

Leia mais

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente

SCC Capítulo 3 Linguagens Sensíveis ao Contexto e Autômatos Limitados Linearmente SCC-505 - Capítulo 3 Linguagens Sensíveis ao Contexto e João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação - Universidade de São Paulo http://www.icmc.usp.br/~joaoluis

Leia mais

Problemas decidíveis para LICs

Problemas decidíveis para LICs Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é

Leia mais

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha

Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Teoria da Computação Gramáticas, Linguagens Algébricas e Autómatos de Pilha Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Gramáticas e Definições básicas 1 2 Gramáticas e Linguagens 4 2.1 Gramáticas

Leia mais

1 INTRODUÇÃO E CONCEITOS BÁSICOS

1 INTRODUÇÃO E CONCEITOS BÁSICOS 1 INTRODUÇÃO E CONCEITOS BÁSICOS Inicia com uma breve história do surgimento e do desenvolvimento dos conceitos, resultados e formalismos nos quais a Teoria da Computação é baseada. Formalização dos conceitos

Leia mais

Expressões regulares

Expressões regulares Expressões regulares IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 38 Frase do dia A vida é uma luta inteira

Leia mais

a * Expressões Regulares (ER) AF e ER Equivalências entre AFD, AFND, AF-, ER

a * Expressões Regulares (ER) AF e ER Equivalências entre AFD, AFND, AF-, ER a * Expressões Regulares (ER) AF e ER Equivalências entre AFD, AFND, AF-, ER 1 Expressões Regulares (ER) Uma ER sobre um alfabeto é definida como: a) é uma ER e denota a linguagem vazia b) é uma ER e denota

Leia mais

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang

COMPILADORES. Revisão Linguagens formais Parte 02. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Revisão Linguagens formais Parte 02 Prof. geovanegriesang@unisc.br Legenda: = sigma (somatório) = delta ε = epsilon λ =

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos

Leia mais

ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN

ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN ÁLGEBRA DE BOOLE B.1 - DIAGRAMA DE VENN No século XIX Georges Boole desenvolveu uma teoria matemática com base nas leis da lógica - a Álgebra de Boole - cuja aplicação nos circuitos digitais e computadores

Leia mais

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos

Lista de Exercícios CT-200 Primeiro Bimestre Carlos Henrique Quartucci Forster Estagiário: Wesley Telles. Revisão de Teoria de Conjuntos Lista de Exercícios CT-200 Primeiro Bimestre 2010 Carlos Henrique Quartucci Forster Estagiário: Wesley Telles Revisão de Teoria de Conjuntos 1. Sejam A = {1,2 } e B = { x, y, z}. Quais os elementos dos

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

Conceitos de Análise Sintática

Conceitos de Análise Sintática Conceitos de Análise Sintática Pro.f. Marcus Ramos UNIVASF Atualizado em 28 de outubro de 2016 The Theory of Parsing, Translation and Compiling Volume I: Parsing Alfred V. Aho Jeffrey D. Ullman Prentice

Leia mais

Aula 8: Gramáticas Livres de Contexto

Aula 8: Gramáticas Livres de Contexto Teoria da Computação Primeiro Semestre, 2015 Aula 8: Gramáticas Livres de Contexto DAINF-UTFPR Prof. Ricardo Dutra da Silva Veremos agora maneira de gerar as strings de um tipo específico de linguagem,

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos

LINGUAGENS FORMAIS E AUTÔMATOS. Prova 2-10/06/ Prof. Marcus Ramos LINGUAGENS FORMAIS E AUTÔMATOS Prova 2-10/06/2011 - Prof. Marcus Ramos NOME: _ Colocar seu nome no espaço acima; A prova pode ser feita à lápis ou caneta; A duração é de três horas; As questões da parte

Leia mais

Linguagens, Reconhecedores e Gramáticas

Linguagens, Reconhecedores e Gramáticas Linguagens, Reconhecedores e Gramáticas Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias são denominadas sentenças

Leia mais

BCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal.

BCC244. Alfabeto, String, Linguagem, Gramática. Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal. BCC244 Alfabeto, String, Linguagem, Gramática Registro aqui o agradecimento à Profa. Lucília por ceder slides que fazem parte deste materal. Exemplo: Máquina de Venda A máquina de venda retorna uma cocacola

Leia mais

Automata e Linguagens Formais

Automata e Linguagens Formais Automata e Linguagens Formais 5 Prof. Carlos H. C. Ribeiro carlos@ita.br Gramáticas A Hierarquia de Chomsky Tipos de gramáticas e linguagens Pré-normalização de GLCs Formas Normais: Chomsky e Greibach

Leia mais

CAPÍTULO 4 PROPRIEDADES DAS LINGUAGENS REGULARES

CAPÍTULO 4 PROPRIEDADES DAS LINGUAGENS REGULARES CAPÍTULO 4 PROPRIEDADES DAS LINGUAGENS REGULARES 4.1. Introdução 155 4.2.Propriedades de fecho das linguagens regulares 155 4.3 Propriedades de decisão das linguagens regulares 161 4.4 Identificação das

Leia mais

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND)

A. (Autómatos finitos determinísticos e não determinísticos AFD e AFND) DEP. INFORMÁTICA - UNIVERSIDADE DA BEIRA INTERIOR Teoria da Computação Eng. Informática 1º Semestre Exame 2ª chamada - Resolução 2h + 30min 07/Fev/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1

Leia mais

Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção

Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção Os movimentos do reconhecedor correspondem ao uso de derivações mais à esquerda; A árvore de sintaxe é montada de cima para baixo (da raiz em direção às folhas); Caracteriza a classe das gramáticas (e

Leia mais

IBM1088 Linguagens Formais e Teoria da

IBM1088 Linguagens Formais e Teoria da IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz evandro@usp.br Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com

Leia mais

Os limites da computação algorítmica

Os limites da computação algorítmica Capítulo 12 Os limites da computação algorítmica 12.1. Problemas que não podem ser resolvidos pelas MT. 12.2. Problemas indecidíveis para LRE 12.3. Problema da correspondência de Post 12.4. Problemas indecidíveis

Leia mais

Gramáticas e Linguagens Independentes de Contexto

Gramáticas e Linguagens Independentes de Contexto Gramáticas e Linguagens Independentes de Contexto 6.1 Responde às uestões seguintes considerando a gramática independente de contexto G = (V, {a, b}, P, R), onde o conjunto de regras P é: R XRX S S at

Leia mais

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados.

Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. Capítulo 9: Linguagens sensíveis ao contexto e autômatos linearmente limitados. José Lucas Rangel 9.1 - Introdução. Como já vimos anteriormente, a classe das linguagens sensíveis ao contexto (lsc) é uma

Leia mais

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior olivete@fct.unesp.br 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Noções de grafos (dirigidos)

Noções de grafos (dirigidos) Noções de grafos (dirigidos) Grafo G = (V, E) é um conjunto de vértices (ou nós) V e um conjunto de arcos E V V. 1 2 5 3 4 G = ({1, 2, 3, 4, 5}, {(1, 2), (2, 3), (2, 4), (3, 2), (3, 4), (4, 4)}) Um arco

Leia mais

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas

INE5317 Linguagens Formais e Compiladores. AULA 4: Gramáticas INE5317 Linguagens Formais e Compiladores AULA 4: Gramáticas bas eado em material produzido pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: silveira@inf.ufsc.br URL:

Leia mais

Problemas decidíveis para LICs

Problemas decidíveis para LICs Problemas decidíveis para LICs Dada uma gramática independente de contexto G, L(G) =? Dada uma gramática independente de contexto G, L(G) é finita? Dada uma gramática independente de contexto G, L(G) é

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

IV Gramáticas Livres de Contexto

IV Gramáticas Livres de Contexto IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes blauth@inf.ufrgs.br Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR

UNIVERSIDADE DA BEIRA INTERIOR UNIVERIDADE DA EIRA INTERIOR Teoria da Computação Eng. Informática 2º emestre Frequência 2 (7 valores) Resolução 30/maio/2017 A. Expressões regulares e autómatos finitos 1. [1.25] Usando o método de eliminação

Leia mais

Autômatos e computabilidade

Autômatos e computabilidade Autômatos e computabilidade Expressões regulares Pedro A D Rezende UnB IE CIC Cadeia vazia: l (ou e) é a cadeia tal que l = 0 Expressões Regulares A notação algébrica que denota Concatenação como produto

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.

Leia mais

Linguagens e Gramáticas. Linguagens Formais Hierarquia de Chomsky

Linguagens e Gramáticas. Linguagens Formais Hierarquia de Chomsky Linguagens e Gramáticas Linguagens Formais Hierarquia de Chomsky Já vimos que Linguagem é um conjunto de cadeias de símbolos sobre um alfabeto/vocabulário, V. É um subconjunto específico de V*. Estas cadeias

Leia mais

Linguagens Formais e Problemas de Decisão

Linguagens Formais e Problemas de Decisão Linguagens Formais e Problemas de Decisão Mário S. Alvim (msalvim@dcc.ufmg.br) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim (msalvim@dcc.ufmg.br) Linguagens Formais e Problemas

Leia mais

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1

Máquinas Universais. Departamento de Ciência de Computadores da FCUP MC Aula 23 1 Máquinas Universais Um modelo de computação diz-se universal se todo o problema efectivamente computável o for nesse modelo. Um modelo universal é suficientemente poderoso para se aceitar a si próprio:

Leia mais

Introdução Definição Conceitos Básicos de Linguagem

Introdução Definição Conceitos Básicos de Linguagem Introdução Definição Conceitos Básicos de Linguagem Introdução Desenvolvida originalmente em 1950 Objetivo: Desenvolver teorias relacionadas com a Linguagem natural Logo verificou-se a importância para

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Curso de Ciências de Computação SCC-205 TEORIA DA COMPUTAÇÃO E LINGUAGENS FORMAIS Turma 1 2º. Semestre de 2012 Prof. João Luís

Leia mais

Teoria da Computação Aula 01 Revisão de Conjuntos

Teoria da Computação Aula 01 Revisão de Conjuntos Teoria da Computação Aula 01 Revisão de Conjuntos Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Conjuntos Conjunto e uma estrutura que agrupa objetos e constitui uma base para construir estruturas

Leia mais

Geradores e relações

Geradores e relações Geradores e relações Recordamos a tabela de Cayley de D 4 (simetrias do quadrado): ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 0 ρ 0 ρ 90 ρ 180 ρ 270 h v d 1 d 2 ρ 90 ρ 90 ρ 180 ρ 270 ρ 0 d 2 d 1 h v ρ 180 ρ 180

Leia mais

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

Leia mais

Gramática. Gramática. Gramática

Gramática. Gramática. Gramática Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

Leia mais

Segunda Lista de Exercícios 2004/2...

Segunda Lista de Exercícios 2004/2... + + UFLA Universidade Federal de Lavras Departamento de Ciência da Computação COM162 Linguagens Formais e Autômatos Prof. Rudini Sampaio Monitor: Rodrigo Pereira dos Santos Segunda Lista de Exercícios

Leia mais

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC-0505 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO Lista de Exercícios do Capítulo 3 Gramáticas

Leia mais

Teoria da Computação

Teoria da Computação e Linguagens Algébricas Teoria da Computação Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal e Linguagens Algébricas Plano 1 Introduction Contexto 2 Constituição

Leia mais

Gramáticas Livres de Contexto Parte 1

Gramáticas Livres de Contexto Parte 1 Universidade Estadual de Feira de Santana Engenharia de Computação Gramáticas Livres de Contexto Parte 1 EXA 817 Compiladores Prof. Matheus Giovanni Pires O papel do Analisador Sintático É responsável

Leia mais

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato?

Computação efectiva. Que linguagens podem ser reconhecidas por algum tipo de autómato? Computação efectiva Que linguagens podem ser reconhecidas por algum tipo de autómato? O que é ser computável? Que linguagens são computáveis? Existem linguagens que não são computáveis? Isto é, existem

Leia mais

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios

Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios Curso de Engenharia de Computação - UTFPR Teoria da Computação - Prof. Celso Kaestner Lista de exercícios 1. Escreva a expressão regular para as seguintes linguagens sobre o alfabeto {0, 1}: strings começando

Leia mais