TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

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

Download "TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO"

Transcrição

1 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 José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

2 3. Gramáticas Independentes de Contexto Introdução 3. Gramáticas Independentes de Contexto Neste capítulo introduziremos a noção de gramática. Uma gramática é um modelo matemático que permite descrever uma linguagem identificando um mecanismo gerador dos seus elementos. A noção de gramática é semelhante à definição indutiva de um conjunto. Noam Chomsky introduziu na década de 1950 quatro tipos de gramáticas, que dão origem a uma hierarquia de quatro tipos de classes de linguagens. O nível mais baixo da hierarquia é formado pelas linguagens regulares e o seguinte pelas linguagens independentes de contexto (ou livres de contexto). Depois vem o das linguagens dependentes de contexto (ou sensíveis ao contexto) e finalmente as linguagens recursivamente enumeráveis. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

3 3. Gramáticas Independentes de Contexto Introdução Estudaremos, em particular, as gramáticas regulares e as gramáticas independentes de contexto, que geram as duas primeiras classes de linguagens da hierarquia de Chomsky. Vimos no capítulo anterior que as linguagens regulares podem também ser obtidas através dos autómatos finitos (que são mecanismos reconhecedores dos elementos da linguagem). No próximo capítulo veremos que as linguagens independentes de contexto podem também ser descritas por autómatos de pilha (ou autómatos empilhadores). Os modelos de máquina que reconhecem os níveis superiores da hierarquia de Chomsky, que não estudaremos, são os autómatos lineares limitados e as máquinas de Turing. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

4 3. Gramáticas Independentes de Contexto Definição de Gramática DEFINIÇÃO Uma gramática é um quádruplo G = (V, A, S, P) onde (i) V é um alfabeto, dito não terminal, cujos elementos são chamados variáveis (ou símbolos não terminais); (ii) A é um alfabeto, dito terminal, cujos elementos são chamados letras (ou símbolos terminais), tal que V A = ; (iii) S é um elemento de V, chamado o símbolo inicial; (iv) P é um subconjunto finito de ( (V A) V (V A) ) (V A). Os elementos (α, β) de P são chamados produções (ou regras gramaticais) e representam-se por α β. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

5 3. Gramáticas Independentes de Contexto Definição de Gramática EXEMPLO O quádruplo G = ( {S}, {a, b}, S, {(S, ɛ), (S, asb)} ) é uma gramática com uma única variável S, duas letras a e b, e duas produções S ɛ e S asb (que poderiam ser representadas simplesmente por S ɛ asb). As produções de uma gramática permitem transformar palavras de (V A) noutras palavras de (V A). Por exemplo, na gramática acima, a palavra asbaa {S, a, b} pode ser transformada em: aasbbaa pela produção S asb; abaa pela produção S ɛ. Na mesma gramática, partindo do símbolo inicial S poderíamos obter sucessivamente: asb, usando a produção S asb; aasbb, usando novamente a produção S asb; aaɛbb, utilizando S ɛ. Diz-se então que a gramática G gera a palavra aabb de {a, b}. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

6 3. Gramáticas Independentes de Contexto Definição de Gramática A cada gramática G = (V, A, S, P) associaremos uma linguagem L(G) sobre o alfabeto A, dita a linguagem gerada por G. Por exemplo, a linguagem gerada pela gramática do exemplo anterior é {a n b n : n N 0 }. Para podermos definir rigorosamente a linguagem gerada por uma gramática, precisamos de formalizar a noção de derivação. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

7 3. Gramáticas Independentes de Contexto Derivações DEFINIÇÃO Sejam G = (V, A, S, P) uma gramática e σ 1, σ 2 (V A). Diz-se que: σ 2 deriva directamente de σ 1, e escreve-se σ 1 σ 2, se G σ 1 = γαδ, σ 2 = γβδ e α β é uma produção de G. σ 2 deriva em k N passos de σ 1, e escreve-se σ 1 k G σ 1 = σ 0 G σ 1 G σ 2 σ k 1 G σ k = σ 2 para alguns σ 0, σ 1,..., σ k (V A). σ 2 deriva de σ 1, e escreve-se σ 1 G σ 2, se σ 1 = σ 2 ou σ 1 k G σ 2 para algum k N. σ 2, se À sequência de passos elementares que permite deduzir σ 1 G σ 2 chama-se uma derivação de σ 2 a partir de σ 1. Quando não há dúvida sobre qual a gramática G que se está a k considerar, simplifica-se a notação de, e omitindo a letra G. G G G José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

8 3. Gramáticas Independentes de Contexto Derivações EXEMPLO Seja G 1 = ( {S, B, C}, {a, b}, S, P ) a gramática com produções S as bb B bb ac C ac bc ɛ. Em G 1 tem-se a seguinte derivação S as aas aabb aabac aababc aabab. Podemos então escrever, por exemplo, S aabb, S 3 aabb, as 4 aababc, aas aabac, S aabab. Questão: Em G 1 tem-se S abaabb? e S aaabb? José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

9 3. Gramáticas Independentes de Contexto Linguagem gerada por uma gramática DEFINIÇÃO Sejam G = (V, A, S, P) uma gramática e α (V A). Denota-se D(α) = {β (V A) : α β} G L(α) = {u A : α u} G = D(α) A. A linguagem gerada pela gramática G é L(G) = {u A : S u} G = L(S). DEFINIÇÃO Duas gramáticas G e G dizem-se equivalentes se L(G) = L(G ) José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

10 3. Gramáticas Independentes de Contexto Linguagem gerada por uma gramática EXEMPLO Consideremos a gramática G 1 = ( {S, B, C}, {a, b}, S, P ) do exemplo anterior, de produções S as bb B bb ac C ac bc ɛ, e determinemos a linguagem gerada por G 1. Tem-se L(G 1 ) = L(S) e L(S) = al(s) bl(b) L(B) = bl(b) al(c) L(C) = {a, b}l(c) {ɛ} Estas igualdades podem ser vistas como um sistema de equações lineares à direita nas incógnitas L(S), L(B) e L(C). Resolvendo o sistema obtém-se L(S) = a bb a(a + b) L(B) = b a(a + b) L(C) = (a + b). Conclui-se assim que L(G 1 ) = a bb a(a + b) = (a + b) ba(a + b). José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

11 3. Gramáticas Independentes de Contexto Linguagem gerada por uma gramática EXEMPLO Seja G 2 = ( {S, A, B}, {a, b}, S, P ) a gramática com produções S AB A aab ɛ B bba ɛ. Em G 2 pode-se realizar, por exemplo, a seguinte derivação S AB aabb aaabbb aaɛbbb aabbbba aabbbɛa donde a 2 b 3 a L(G 2 ). Pelo contrário, abab, ab 2 a 2 L(G 2 ). Tem-se L(G 2 ) = L(S) = L(AB) = L(A)L(B) L(A) = al(a)b {ɛ} = a ( al(a)b {ɛ} ) b {ɛ} = a 2 L(A)b 2 {ab, ɛ} = a k+1 L(A)b k+1 {a k b k,..., ab, ɛ} para todo o k N = {a m b m : m N 0 } L(B) = = {b n a n : n N 0 } Conclui-se assim que L(G 2 ) = {a m b m : m N 0 }{b n a n : n N 0 } = {a m b m+n a n : m, n N 0 }. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

12 3. Gramáticas Independentes de Contexto Linguagem gerada por uma gramática EXERCÍCIO Considere a gramática G = ( {S, B}, {a, b}, S, P ) com produções S as bs bab B ab bb ɛ. a) Mostre que ab 2 a 2 ba L(G), construindo uma derivação de ab 2 a 2 ba. b) Determine a linguagem L(G) gerada por G. c) A gramática G é equivalente à gramática G 1 do exemplo da página 10? José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

13 3. Gramáticas Independentes de Contexto Classificação de gramáticas DEFINIÇÃO Uma gramática G = (V, A, S, P) diz-se: 1 dependente de contexto se cada produção é da forma αxβ ασβ, onde X V e α, β, σ (V A) com σ ɛ, ou S ɛ, se S não ocorre no membro direito de outra produção. 2 independente de contexto se cada produção é da forma X α, onde X V e α (V A). 3 regular se é linear à direita, ou seja, se cada produção é da forma X uy, onde X, Y V e u A, ou X u, onde X V e u A ; ou linear à esquerda, isto é, se cada produção é da forma X Yu, onde X, Y V e u A, ou X u, onde X V e u A. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

14 3. Gramáticas Independentes de Contexto Classificação de gramáticas Hierarquia de Chomsky Gerador Linguagem Reconhecedor Tipo 0 Gramática Recursivamente Máquina (irrestrita) enumerável de Turing Tipo 1 GDC Dependente de contexto Autómato linear limitado Tipo 2 GIC Independente de contexto Autómato de pilha Tipo 3 GR Regular Autómato finito José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

15 3. Gramáticas Independentes de Contexto Classificação de gramáticas EXEMPLO 1 A gramática G 1 = ( {S, B, C}, {a, b}, S, P ) com produções S as bb, B bb ac, C ac bc ɛ, é uma gramática linear à direita e portanto regular, que gera a linguagem regular (a + b) ba(a + b). 2 A gramática G 2 = ( {S, A, B}, {a, b}, S, P ) com produções S AB, A aab ɛ, bba ɛ, é uma GIC, que gera a linguagem independente de contexto {a m b m+n a n : m, n N 0 }. Note-se que esta linguagem não é regular. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

16 3. Gramáticas Independentes de Contexto Classificação de gramáticas EXEMPLO (CONTINUAÇÃO) 3 A gramática G 3 = ( {S, B, C}, {a, b, c}, S, P ) com produções S asbc abc CB BC ab ab bb bb bc bc cc cc gera {a n b n c n : n N}. Prova-se (usando um Lema de Iteração para linguagens independentes de contexto, análogo ao Lema de Iteração para linguagens regulares) que esta linguagem não é independente de contexto. A gramática G 3 não é uma GDC. EXERCÍCIO a) Construa uma derivação da palavra a 2 b 2 c 2 de L(G 3 ). b) Prove que a gramática G 3 é equivalente a uma GDC. Conclua que {a n b n c n : n N} é uma linguagem dependente de contexto. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

17 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares O próximo objectivo é provar o teorema seguinte, que afirma que as gramáticas regulares geram precisamente as linguagens regulares. TEOREMA Uma linguagem é regular se e só se é gerada por uma gramática regular. Para provar este teorema precisamos de alguns resultados auxiliares. DEFINIÇÃO Uma gramática G = (V, A, S, P) diz-se hiper-regular se é hiper-linear à direita, ou seja, se cada produção é da forma X ay, onde X, Y V e a A, ou X ɛ, onde X V ; ou hiper-linear à esquerda, isto é, se cada produção é da forma X Ya, onde X, Y V e a A, ou X ɛ, onde X V. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

18 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares Como é evidente, toda a gramática hiper-linear à direita é uma gramática linear à direita. Reciprocamente, tem-se o seguinte lema. LEMA Toda a gramática linear à direita admite uma gramática hiper-linear à direita equivalente. Demonstração: Seja G = (V, A, S, P) uma gramática linear à direita. Definiremos uma gramática hiper-linear à direita G = (V, A, S, P ) tal que L(G) = L(G ). Cada produção de G é da forma X u ou X uy, onde X, Y V e u A. 1 Cada produção X a 1 a 2 a n é substituída pelas produções X a 1 A 1 A 1 a 2 A 2. A n 1 a n A n A n ε onde A 1, A 2,..., A n são novas variáveis. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

19 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares 2 Cada produção X a 1 a 2 a n Y é substituída pelas produções X a 1 B 1, B 1 a 2 B 2,..., B n 2 a n 1 B n 1, B n 1 a n Y onde B 1, B 2,..., B n 1 são novas variáveis. 3 Elimina-se cada produção X Y em que a variável Y não ocorre no membro esquerdo de nenhuma produção de G. 4 Se X Y e Y α 1 α n são produções de G, então consideram-se produções X α 1 α n e a cada uma destas aplica-se o processo descrito nos pontos anteriores. Assim, define-se a gramática G = (V, A, S, P ) em que: V é igual à união de V com o conjunto das novas variáveis introduzidas; P é o conjunto de produções que foram obtidas a partir de P pelas substituições descritas acima. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

20 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares PROPOSIÇÃO Toda a linguagem regular é gerada por uma gramática linear à direita. Demonstração: Se L A é regular, então existe um autómato determinista A = (Q, A, δ, i, F) que reconhece L. Considere-se a gramática linear à direita G A = (Q, A, i, P) com produções Tem-se sse sse p aq (se q δ(p, a)), q ε (se q F). u = a 1 a n L existem q 1,..., q n 1 Q, q n F e um caminho em A a i 1 a 2 a q1 q2 q n n 1 qn existem q 1,..., q n 1 Q, q n F e uma derivação em G A i GA a 1 q 1 GA a 1 a 2 q 2 GA GA a 1 a 2 a n q n GA a 1 a 2 a n ε sse u L(G A ). Portanto L = L(G A ). José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

21 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares EXEMPLO O seguinte autómato determinista A a b reconhece a linguagem regular L = a b(ab). Então a gramática linear à direita G A = ({B 1, B 2, B 3 }, {a, b}, B 1, P) com produções a b gera a linguagem L. B 1 ab 1 bb 2 B 2 ab 3 ɛ B 3 bb 2 EXERCÍCIO Determine uma gramática linear à direita G tal que L(G) = a(a + b) c(a + b). José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

22 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares PROPOSIÇÃO Cada gramática linear à direita gera uma linguagem regular. Demonstração: Seja G = (V, A, S, P) uma gramática linear à direita. Pelo último lema podemos supôr que G é hiper-linear à direita. Então o autómato finito A G = (V, A, δ, S, F) onde F = {X V : X ε P} e, para cada par (X, a) V A, δ(x, a) = {Y : X ay P}, reconhece L(G). De facto, L(G) = {u A S G u} = {u A n N 0 a 1,..., a n A A 1,..., A n V, S G a 1 A 1 G G a 1 a n A n G a 1 a n = u} = {u A δ (S, u) F} = L(A G ). Deduz-se assim que L(G) é uma linguagem regular. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

23 3. Gramáticas Independentes de Contexto Gramáticas regulares vs Linguagens regulares Como consequência das proposições anteriores, obtém-se o seguinte resultado. PROPOSIÇÃO Uma linguagem é regular se e só se é gerada por uma gramática linear à direita. Dualmente, pode-se provar a proposição seguinte. PROPOSIÇÃO Uma linguagem é regular se e só se é gerada por uma gramática linear à esquerda. Concluiu-se desta forma a demonstração do próximo teorema, já antes enunciado. TEOREMA Uma linguagem é regular se e só se é gerada por uma gramática regular. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

24 3. Gramáticas Independentes de Contexto GIC: árvores de derivação Seja G = (V, A, S, P) uma gramática independente de contexto. A cada derivação de uma palavra de L(G) corresponde uma árvore de derivação formada do seguinte modo: a raiz tem como etiqueta o símbolo inicial S da gramática. a cada nodo etiquetado por uma variável B corresponde uma produção de G. Se a produção for B X 1 X 2 X n (com X i V A {ɛ}), os filhos do nodo são etiquetados, da esquerda para a direita, por X 1, X 2,..., X n : B X 1 X 2 X n um nodo etiquetado em A {ɛ} é sempre uma folha da árvore, e não tem filhos. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

25 3. Gramáticas Independentes de Contexto GIC: árvores de derivação EXEMPLO Seja G = ({S, B, C}, {a, b, c}, S, P) em que P é constituído por: S BC B abb ɛ C bcc ɛ S G BC G abbc G aabbbc B S C G aaɛbbc G aabbbcc G aabbbɛc a B b b C c a B b ɛ ɛ José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

26 3. Gramáticas Independentes de Contexto GIC: árvores de derivação EXEMPLO Seja G a = ({S, B, C, X}, {a, b}, S, P) em que P é constituído por: S ax X B C B bb ɛ C ac b S ax Ga ab Ga abb Ga abɛ Ga a S X B S Ga ax Ga ac Ga ab a S X C b B ɛ b José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

27 3. Gramáticas Independentes de Contexto GIC: árvores de derivação EXERCÍCIO Considere a gramática G 2 = ( {S, A, B}, {a, b}, S, P ) da página 11, com produções S AB A aab ɛ B bba ɛ. a) Construa uma derivação da palavra ab 4 a 3. b) Desenhe a árvore de derivação correspondente à derivação anterior. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

28 3. Gramáticas Independentes de Contexto Gramáticas ambíguas DEFINIÇÃO Derivações a que corresponde a mesma árvore consideram-se essencialmente iguais. Uma GIC G = (V, A, S, P) diz-se ambígua se existe pelo menos uma palavra u A que admite duas árvores de derivação distintas. Uma linguagem independente de contexto L diz-se ambígua se todas as GICs que geram L são ambíguas. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

29 3. Gramáticas Independentes de Contexto Gramáticas ambíguas EXEMPLO A gramática G a = ({S, B, C, X}, {a, b}, S, P) do exemplo anterior, de produções S ax X B C B bb ɛ C ac b, é ambígua. A linguagem gerada por G a é L(G a ) = L(S) = al(x) = a ( L(B) L(C) ) = a(b a b). QUESTÃO Será que a(b a b) é uma linguagem ambígua? José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

30 3. Gramáticas Independentes de Contexto Gramáticas ambíguas EXEMPLO Consideremos a gramática G na = ({S, B, C, X}, {a, b}, S, P na ) de produções: S ax X B acb B bb ɛ C ac ɛ Verifica-se que G na não é ambígua, e L(G na ) = L(S) = al(x) = a ( L(B) al(c)b ) = a(b aa b) = a(b b a + b) = a(b a b) Conclui-se assim que a linguagem a(b a b) não é ambígua. José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

31 3. Gramáticas Independentes de Contexto Gramáticas ambíguas EXEMPLO A linguagem {a m b m c n d n m 1, n 1} {a m b n c n d m m 1, n 1} é ambígua. EXERCÍCIO Diga, justificando, se a gramática G 2 = ( {S, A, B}, {a, b}, S, P ) das páginas 11 e 27, com produções é ou não ambígua. S AB A aab ɛ B bba ɛ José Carlos Costa (DMA) Teoria das Linguagens 31 de Maio de / 31

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

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

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

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de Contexto 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 / 42 Frase do dia Quando vires

Leia mais

Linguagens e Programação Gramáticas. Paulo Proença

Linguagens e Programação Gramáticas. Paulo Proença Linguagens e Programação Gramáticas Gramáticas Ferramenta para a descrição e análise de linguagens; Baseada num conjunto de regras que especificam o modo de construção das frases válidas na linguagem;

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

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

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.

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

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

Construção de Compiladores Aula 16 - Análise Sintática

Construção de Compiladores Aula 16 - Análise Sintática Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de

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

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 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

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL)

Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) Gramáticas Sensíveis ao Contexto (GSC) Linguagens Sensíveis ao Contexto (LSC) Autômatos Linearmente Limitados (ALL) 1 Gramática Sensível ao Contexto Definição: Uma gramática G é sensível ao contexto se

Leia mais

Gramáticas e Linguagens independentes de contexto

Gramáticas e Linguagens independentes de contexto Capítulo 6 Gramáticas e Linguagens independentes de contexto 6.1 Gramáticas Nesta secção vamos introduzir gramáticas formais para caracterização das linguagens, estudando fundamentalmente as gramáticas

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

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

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

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

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais 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

Hierarquia de Chomsky Exemplos de gramáticas

Hierarquia de Chomsky Exemplos de gramáticas Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática. Este

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

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

Apostila 03 - Linguagens Livres de Contexto Exercícios

Apostila 03 - Linguagens Livres de Contexto Exercícios 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

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação - 1 0 Semestre 007 Professora : Sandra Aparecida de Amo Solução da Lista de Exercícios n o 1 Exercícios de Revisão

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

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

Definições Hierarquia de Chomsky Exemplos de gramáticas

Definições Hierarquia de Chomsky Exemplos de gramáticas Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.

Leia mais

Compiladores Aula 4. Celso Olivete Júnior.

Compiladores Aula 4. Celso Olivete Júnior. Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro

Leia mais

Modelos de Computação Folha de trabalho n. 8

Modelos de Computação Folha de trabalho n. 8 Modelos de Computação Folha de trabalho n. 8 Nota: Os exercícios obrigatórios marcados de A a D constituem os problemas que devem ser resolvidos individualmente. A resolução em papel deverá ser depositada

Leia mais

Capítulo 3: Gramáticas

Capítulo 3: Gramáticas Capítulo 3: Gramáticas Já vimos que procedimentos podem ser usados para definir linguagens de duas maneiras essenciais: como geradores, procedimentos que enumeram os elementos da linguagem, e como reconhecedores

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

Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas

Definições Hierarquia de Chomsky Exemplos de gramáticas. Gramáticas. Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução

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 Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha

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

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 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

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

Definições Hierarquia de Chomsky Exemplos de gramáticas

Definições Hierarquia de Chomsky Exemplos de gramáticas Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.

Leia mais

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC)

Linguagens Formais e Autômatos. Simplificação de Gramáticas Livre do Contexto (GLC) Linguagens Formais e Autômatos Simplificação de Gramáticas Livre do Contexto (GLC) Cristiano Lehrer, M.Sc. Gramática Simplificada Gramática simplificada é uma gramática livre do contexto que não apresenta

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

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

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

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação

Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Não são aceitas respostas sem justificativa. Explique tudo o que você fizer. Linguagens Formais o semestre de 999 Primeira Prova

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

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Terceira Lista de Exercícios - Aula sobre dúvidas Sérgio Mariano Dias 1 1 Mestrando em Ciência da Computação Departamento de Ciência da Computação Universidade Federal

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

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real.

LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos. Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. LINGUAGENS FORMAIS Modelos Determinísticos e Não Determinísticos Modelos Matemáticos Usam-se modelos matemáticos para representar eventos (fenômenos) do mundo real. Ressalta-se contudo que é muito importante

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

SCC 205 Teoria da Computação e Linguagens Formais

SCC 205 Teoria da Computação e Linguagens Formais Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação SCC 205 Teoria da Computação e Linguagens Formais Autômatos com pilha Lista 3 1. Dê um

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

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 09 Gramáticas e Linguagens Livres de Contexto (Hopcroft, 2002) 18/01/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Classes Gramaticais Linguagens

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

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

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

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

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

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes

Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Exercícios Associados à Aula 28 (27/11/2013) Feitos em sala e em equipes Questões do POSCOMP 2011 A resposta certa está assinalada em vermelho. Por que é correta e por que as demais alternativas são incorretas?

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

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

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

Definições Exemplos de gramáticas

Definições Exemplos de gramáticas Definições Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução por volta dos anos

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

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

9.3 Gramáticas Irrestritas

9.3 Gramáticas Irrestritas 9.3. Gramáticas Irrestritas 9.3 Gramáticas Irrestritas Para investigar a conexão entre as linguagens recursivamente enumeráveis e as gramáticas, retornaremos à definição geral de uma gramática. Na definição

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

Capítulo II Gramáticas

Capítulo II Gramáticas Capítulo II Gramáticas II.1 Motivação O que é uma Gramática? Um sistema gerador de linguagens; Um sistema de reescrita; Uma maneira finita de representar uma linguagem; Um dispositivo formal usado para

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

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

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação 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

Leia mais

Capítulo II Gramáticas

Capítulo II Gramáticas Capítulo II Gramáticas II.1 Motivação O que é uma Gramática? Um sistema gerador de linguagens; Um sistema de reescrita; Uma maneira finita de representar uma linguagem; Um dispositivo formal usado para

Leia mais

Capítulo 1: Alfabetos, cadeias, linguagens

Capítulo 1: Alfabetos, cadeias, linguagens Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de

Leia mais

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

Terceira 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 Terceira Lista de Exercícios 2004/2

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

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

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

Modelos Universais de Computação

Modelos Universais de Computação Modelos Universais de Computação 1 Equivalência entre Variantes de TM TM s definem naturalmente uma classe. Toda variante razoável de TM define a mesma classe de linguagens. (reforça a Tese Church-Turing)

Leia mais

Gramáticas Regulares

Gramáticas Regulares 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

Leia mais

Gramática Livre de Contexto

Gramática Livre de Contexto Gramática Livre de Contexto Prof. Yandre Maldonado - 1 Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) Forma Normal de Greibach (FNG) Prof. Yandre Maldonado e Gomes

Leia mais

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO

ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 2. Linguagens Livres-do-Contexto Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto marcelolauretto@usp.br

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

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

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

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

COMPUTABILIDADE 2. Indecidibilidade

COMPUTABILIDADE 2. Indecidibilidade Licenciatura em Ciências da Computação COMPUTABILIDADE 2. Indecidibilidade José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho 15 de Novembro de 2011 José Carlos Costa DMA-UMinho 15 de

Leia mais

Capítulo 2: Procedimentos e algoritmos

Capítulo 2: Procedimentos e algoritmos Capítulo 2: Procedimentos e algoritmos Para estudar o processo de computação de um ponto de vista teórico, com a finalidade de caracterizar o que é ou não é computável, é necessário introduzir um modelo

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

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos

Teoria de Linguagens 1 o semestre de 2018 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 17/4/2018 Valor: 10 pontos Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 8 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 7/4/8 Valor: pontos. Uma versão do problema

Leia mais

Linguagens livres de contexto e autômatos de pilha

Linguagens livres de contexto e autômatos de pilha Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos

Leia mais

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Soluções para a Lista 4 Universidade Federal do ABC Aritanan Gruber aritanan.gruber@ufabc.edu.br http://professor.ufabc.edu.br/ aritanan.gruber Os exercícios marcados com

Leia mais

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores)

Análise Léxica. Fundamentos Teóricos. Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores) Análise Léxica Fundamentos Teóricos Autômatos Finitos e Conjuntos Regulares (cap. III da apostila de Linguagens Formais e Compiladores) Geradores X Reconhecedores Gramáticas Tipo 0 Máquinas de Turing G.

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

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