Linguagens Livres de Contexto
|
|
|
- Carlos Eduardo Gorjão Paranhos
- 9 Há anos
- Visualizações:
Transcrição
1 Linguagens Livres de Contexto 1
2 Conteúdo Programático Introdução Teoria de autômatos Strings e linguagens Gramáticas Algoritmos Linguagens formais Hierarquia de chomsky Linguagens Regulares Autômatos finitos Operações regulares Linguagens finitas e linguagens regulares Propriedades de fecho de linguagens regulares Autômatos finitos não determinísticos Expressões regulares Equivalência entre AFDs, AFNs e REX Minimização de AFs Linguagens não regulares Linguagens Livre de Contexto Gramáticas livre de contexto Gramáticas linear à direita Forma Normal de Chomsky Autômatos de pilha Equivalências entre CFG e PDA Linguagens não livres de contexto 2
3 Motivação -Exemplo pal = { x {0,1}* x =x R } = { ε, 0,1, 00,11, 000,010, 101,111, 0000,0110,1001,1111, } Vimosquepal nãoé regular. Mas existe um padrão p/ construção dos strings. Q: Se vocêtem um palíndromo, comopode geraroutro a partir desse? 3
4 Motivação -Exemplo pal = { x {0,1}* x =x R } R: Podemos gerar palrecursivamente como a seguir. CASO BASE: ε, 0 e 1 são palíndromos. RECURSIVO: se x é um palíndromo, então 0x 0 e 1x 1 também são. 4
5 Motivação -Exemplo pal = { x {0,1}* x =x R } RESUMO: Qualquerx palpodeserusadop/ obter novo string de pal NOTAÇÃO: x ε 0 1 0x 0 1x 1 Cada é simplesmente ou, como em expressões regulares UNIX. De fato, todososstrings de palpodemsergeradosa partir de ε usando-se essas regras. Q: Como vocêgeraria a partirda variávelx? 5
6 Motivação -Exemplo A: Gerando um string de fora para dentro: = 1(1(0(1()1)0)1)1 de modo que: x 1x1 11x11 110x x ε1011 =
7 Gramática Livre de Contexto. Definição DEF: Uma gramática livre de contexto consiste de G=(V, Σ, R, S ) onde: V conjunto finito de variáveis (ou símbolos não terminais) Σ conjunto finito de terminais(ou alfabeto ) R conjunto finito de regras (ou produções) da forma v w ondev V, e w (Σ V )* (lê-se v produzw ) S V símbolo inicial. Q: O que é (V, Σ, R, S ) para pal? 7
8 Gramática Livre de Contexto. Definição R: V = {x} Σ = {0,1}, R = {x ε, x 0, x 1, x 0x 0, x 1x 1} S = x Adotando a notação padrão - pal: V = {S}, S = S R = {S ε, S 0, S 1, S 0S 0, S 1S 1} 8
9 Derivações DEF: O símbolo de derivação, (lê-se deriva em 1-passo ou produz em 1-passo )denota uma relação entre strings em (Σ V )*. Escrevemos x yse x e y podem ser divididos como x = svt e y = swt, onde v w é uma regra de R Q: Que possíveis y satisfazem (em pal) S 0000S y? 9
10 Derivações R: S 0000S y: Qualquer dos seguintes: 0000S, 00000S, 10000S, 0S00000S, 1S10000S, S0000, S00000, S00001, S00000S0, S00001S1 10
11 Derivações DEF: O símbolo de derivação * (lê-se deriva ou produz ) denota uma relação entre strings de (Σ V )*. Escrevemos x *y se existe uma sequência de derivações em 1-passo de x para y. I.e., existem strings x i, i variando de 0 a n, tais que x = x 0,y = x n e x 0 x 1,x 1 x 2,x 2 x 3,, x n-1 x n Q: Quais LHS s derivam quais RHS s em pal? 01S, SS? 01, 0, 01S, ,
12 Derivações R: Não há apenas uma resposta: 01S * 01 SS * 0 01S * 01S SS * Nenhum deles deriva
13 Linguagem Gerada por uma CFG DEF: Seja G uma gramática livre de contexto A linguagem geradapor G é o conjunto de todos os strings de símbolos terminais que podem ser derivados a partir do símbolo inicial. Formalmente: L(G ) = {w Σ* S * w} 13
14 Exemplo: Expressões Aritméticas Expressões envolvendo {+,, a, b, c, (, )} E representa uma expressão (mais general) F representa um fator (parte da multiplicação) T representa um termo (produto de fatores) V representa uma variável, i.e. a, b, ou c Gramática é dada por: E T E +T T F T F F V (E ) V a b c CONVENÇÃO: Variável inicial - E 14
15 Exemplo: Expressões Aritméticas EX: Considere o string u = a b + (c + (a + c ) ) Essa é uma expressão aritmética válida. Portanto deve poder ser generada de E. 1. É uma soma de duas expressões, então a primeira derivação deve ser E E+T 2. A sub-expressão a b é um produto, portanto um termo generado por E+T T+T T F+T * a b+t 3. A segunda sub-expressão é um fator, por causa dos parenteses: a b+t a b+f a b+(e ) a b+(e+t ) 15
16 Exemplo: Expressões Aritméticas Resumindo: E E +T T +T T F +T F F +T V F+T a F+T a V+T a b+t a b+f a b+ (E) a b+(e+t) a b+(t+t) a b+(f+t) a b+(v+t) a b+(c+t) a b+(c+f) a b+(c+ (E)) a b+ (c+(e +T )) a b+(c+(t+t) ) a b+(c+ (F +T )) a b+(c+(a+t) ) a b+(c+(a+ F) ) a b+(c+(a+v) ) a b+(c + (a+c)) Esta é dita uma derivação mais à esquerda. 16
17 Derivação mais à direita Em uma derivação mais à direita, sempre substituimos a variável mais à direita. E E +T E + F E + (E) E + (E +T) E + (E +F) etc. Para abstrair dessa ambiguidade na ordem de aplicação das regras, usualmente representamos um derivação na forma de uma árvore de derivação. 17
18 Árvore de Derivação Em uma árvore de derivação (ou parse tree) cada nodo é um símbolo. Cada nodo-pai é uma variável cujos filhos correspondem ao lado direito de uma regra dessa variável. Por ex., v abcdefg : v a b c d e f g A raiz da árvore é o símbolo inicial. As folhas representam o string derivado (lido da esquerda para a direita). 18
19 Árvore de Derivação Uma árvore de derivação para a b + (c + (a + c ) ) Vantagem: Árvores de derivação ajudam também a entender a semântica! Podemos ver, a partir da árvore, como a expressão deve ser avaliada. 19
20 Ambiguidade <sentence> <action> <action>com<subject> <action> <subject><activity> <subject> <noun> <noun>and<subject> <activity> <verb> <verb><object> <noun> <verb> <prep> <object> Hannibal Clair arroz cebolas comeu jogos com e ou <noun> <noun><prep><object> Clair jogou com Hannibal Clair comeu arroz com cebolas Hannibal comeu arroz com Clair Q: Alguma dessas sentenças é ambígua? 20
21 Ambiguidade A: Considere Hannibal comeu arroz com Clair. Poderia significar Hannibal e Clair comeram arroz juntos. Hannibal comeu arroz e comeu Clair. Isso não é absurdo, se sabemos quem é Hannibal! Essa ambiguidade decorre do fato de que essa sentença tem duas árvores de derivação distintas e, portanto, duas diferentes interpretações: 21
22 Hannibal e Clair comem sentence action c o m subject subject activity noun noun verb object C l a i r H a n n i b a l c o m e u a r r o z 22
23 Hannibal o Canibal sentence action subject activity noun verb object H a n n i b a l c o m e u noun prep object a r r o z c o m noun C l a i r 23
24 Ambiguidade. Definição DEF: Um string x é dito ambíguo em relação a uma gramática G se existem duas maneiras essencialmente diferentesde derivar x em G. I.e. x admite duas (ou mais) árvores de derição distintas (ou equivalentemente, x admite diferentes derivações mais à esq.[dir]) Uma gramática Gé dita ambígua se existe algum string x L(G ) que seja ambíguo. Q: A gramática S ab ba asb bsa SS é ambígua? Qual é a linguagem gerada? 24
25 Ambiguidade R: L(G ) = linguagem dos strings com igual no. de a s e b s Sim, a gramática é ambígua: a a b S S S S S S b a S a b S S b 25
26 Gramáticas Lineares à Direita e 0 Linguagens Regulares 0 x y z O DFA acima pode ser simulado pela gramática x 0x 1y y 0x 1z z 0x 1z ε 0
27 Gramáticas Lineares à Direita e x x 0x 1y y 0x 1z z 0x 1z ε Linguagens Regulares 0 x y z
28 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε x 1y Linguagens Regulares 0 x y z
29 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε x 1y 10x Linguagens Regulares 0 x y z
30 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε Linguagens Regulares x 1y 10x 100x 0 0 x y z
31 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε Linguagens Regulares 0 1 x 1y 10x 100x 1001y 0 x y z
32 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε Linguagens Regulares 0 1 x 1y 10x 100x 1001y 10011z 0 x y z
33 Gramáticas Lineares à Direita e x 0x 1y y 0x 1z z 0x 1z ε Linguagens Regulares 0 1 x 1y 10x 100x 1001y 10011z x y z ACEITA!
34 Gramáticas Lineares à Direita e Linguagens Regulares A gramática x 0x 1y y 0x 1z z 0x 1z ε é um exemplo de gramática linear à direita. DEF: Uma gramática linear à direitaé uma CFG em que toda regra é da forma A ub, ou A u onde u é um string de terminais, e A,B são variáveis.
35 Gramáticas Lineares à Direita e Linguagens Regulares THM: Se N=(Q, Σ, δ, q 0, F ) é um NFA então existe uma gramática linear à direita G (N ) que gera a linguagem L(N). Prova. Variáveis são os estados: V = Q O símbolo inicial é o estado incial: S= q 0 Mesmo alfabeto de terminais: Σ Uma transição (q 1, a) q 2 torna-se uma regra q 1 aq 2 Estados de aceitação q F definem ε-regras q ε Caminhos de aceitação correspondem a derivações finais e vice-versa.
36 Gramáticas Lineares à Direita e Linguagens Regulares Q: O que você pode dizer se usamos a mesma idéia para converter um DFA? Que propriedades a gramática terá?
37 Gramáticas Lineares à Direita e Linguagens Regulares R: Como um DFA s define caminhos de aceitação unívocos, cada string aceito terá uma única derivação mais à esquerda. Portanto, a gramática correspondente é não ambígua: THM: A classe das linguagens regulares é igual à classe das linguagens geradas por Gramáticas Lineares à Direita não ambíguas. Prova. Mostramos que toda linguagem regular é linear à direita não ambígua. EXERCICIO P/ CASA: Mostre o inverso, ou seja, dada uma gramática linear à direta, como construir um GNFA correspondente.
38 Gramáticas Lineares à Direita e Linguagens Regulares Q: Será que toda CFG pode ser convertida em uma gramática linear à direita?
39 Gramáticas Lineares à Direita e Linguagens Regulares R: Não! Isso significaria que toda linguagem livre de contexto é regular, o que já vimos que não é verdade. EX: S ε asb Não pode ser convertida, porque a linguagem {a n b n } não é regular.
40 Forma Normal de Chomsky Embora nem toda CFG possa ser convertida em uma gramática linear à direita, ou mesmo, em geral, ser transformada em uma gramática não ambígua, existe uma forma simples para a qual toda CFG pode ser convertida:
41 Forma Normal de Chomsky Noam Chomsky definiu um tipo de gramática livre de contexto especialmente simple e capaz de expressar todas as linguagens livres de contexto. A forma gramatical de Chomsky é particularmente útil quando queremos provar certos fatos sobre linguagens livres de contexto. Isso porque considerar uma forma mais restritiva de gramática muitas vezes torna provas mais fáceis e simples.
42 Forma Normal de Chomsky Definição DEF: Uma CFG é dita na Forma Normal de Chomsky se cada regra da gramática tem uma das seguintes formas: S ε (se a lingugem contém ε) A BC (regra de variável diádica) A a (regra de terminal) Onde S é a variável inicial, A,B,C são variáveis e aé um terminal. Portanto, ε pode ocorrer apenas do lado direito de uma regra de S; o lado direito das demais regras ou tem 2 variáveis ou tem um único terminal.
43 CFG CNF A conversão de uma CFG para a Forma Normal de Chomsky é feita em 4 passos: 1. Garanta que a variável inicial não ocorre do lado direito de nenhuma regra. 2. Remova todas as ε regras, exceto a da variável inicial (caso ocorra). 3. Remova regras cujo lado direito é uma única variável (da forma A B). 4. Adicione variáveis novas e regras diádicas para substituir regras cujo lado direito tem mais de 2 variáveis ou mais de 1 terminal.
44 CFG CNF Exemplo Vamos ver como isso funciona, aplicando o método à seguinte gramática para pal:
45 CFG CNF 1. Variável inicial Garanta que a variável inicial não ocorre do lado direito de nenhuma regra.
46 CFG CNF 2. Remova ε regras Remova todas as ε regras, exceto da variável inicial (se ocorrer).
47 CFG CNF 3. Remova Renomeação Remova produções com uma única variável do lado direito (da forma A B ).
48 CFG CNF 4. Produções mais longas Adicione variáveis e regras diádicas para substituir regras muito longas.
49 CFG CNF Resultado
50 Exercício Passe a CFG para CNF a) G=({P,A, B, C}, {a, b, c}, R, P) P APCB C A AaaA ε B BBb C C c C ε b) G=({E, T, F}, {+,*, a, b, (,)}, R, E) E E + T T T T * F F F ( E ) a b
51 CFG Provando Correção A natureza recursiva de CFGs indica que é natural provar sua correção indutivamente. Por exemplo considere a gramática G = (S ε ab ba asb bsa SS ) Afirmamos que a linguagem gerada por G é L(G ) = { x {a,b}* n a (x) = n b (x) }. n a (x) é o número de a s em x, e n b (x) é o número de b s. 51
52 CFG Provando Correção Prova. Devemos provar duas partes. Seja L a linguagem supostamente gerada por G. Queremos mostrar que L = L(G ). Então devemos provar as duas seguintes inclusões: I. L L(G ). Todo string da suposta linguagem deve poder ser gerado por G. II. L L(G ). G apenas gera strings da suposta linguagem. 52
53 Provando Correção L L(G ) I. L L(G ): Provar que todo string x com igual número de a s e b s é gerado por G. A prova é por indução sobre n= x. Caso base (n= 0): Então x = εe pode ser derivado pela regra S ε. Caso indutivo: Suponha n> 0. Seja u o menor prefixo não vazio de x que é também um string de L. Existem dois casos: 1) u = x 2) u é um prefixo próprio de x 53
54 Provando Correção L L(G ) I.1)u = x : Note queu nãopodecomeçare terminarcom a mesmaletra. Ex., se começare terminarcom a, u = ava, paraalgumv, o quesignificaque v deveter 2 b s a mais quea s. Entãoemalgumpontode v osb sde u casam com osa s, o quesignificaqueexisteemxum prefixo menorqueestejaeml, contradizendoa definiçãode u comoo menor prefixode xeml. Portanto, paraalgumv emltemosque u = avb OU u = bva O comprimentode vé menordo queo de u e, portanto, pela hipótesede indução, existeumaderivação S * v. Portanto, u pode ser derivado por: S asb * avb= x OU S asb * avb= x 54
55 Provando Correção L L(G ) I.2) ué um prefixo próprio de x. Então podemos escrever x =uv sendo u evambos em L Como u e vtêm ambos comprimento menor que x, podemos aplicar a hipótese de indução, e supor que existem derivações S *u e S *v. Então x pode ser derivado como: S SS * us * uv =x 55
56 Provando Correção L L(G ) II) Devemos agora provar que todo string derivado por G pertence a L. Vamos provar algo mais geral: todo string em {S,a,b}* derivável de Scontém igual número de a s e b s. Novamente usamos indução, mas agora sobre o número de passos n da derivação Caso base (n= 0): O único string derivável em 0 passos é S, que tem 0 a s e 0 b s. OK! Caso indutivo: Seja uum string derivável de S em npassos. I.e., S n u. Qualquer passo de derivação adicional deve utilizar uma das regras S ε ab ba asb bsa SS. Mas cada uma delas preserva a igualdade de número de a s e b s. Portanto, qq string derivável de S em n+1 passos também tem igual número de a s e b s. //QED 56
57 CFG Exercícios Exercícios no quadro 57
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
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
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
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,
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
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
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 [email protected]
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes
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
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 [email protected]
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:
Lema do Bombeamento Linguagens Livres de Contexto
Lema do Bombeamento Linguagens Livres de Contexto Agenda Lema do Bombeamento para CFL s Motivação Teorema Prova Exemplos de provas usando o lema 0 Bombeando FA s 1 x y z 1 0 1 0 Strings de comprimento
Teoria da Computação. Expressões Regulares e Autômatos Finitos. Thiago Alves
Teoria da Computação Expressões Regulares e Autômatos Finitos Thiago Alves 1 Introdução Expressões Regulares e Autômatos Finitos são bem diferentes Será que são equivalentes com relação as linguagens que
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
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
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
Exemplo preliminar. Considere a linguagem dos Palíndromos Lpal:
a n b n 1 Exemplo preliminar Considere a linguagem dos Palíndromos Lpal: radar, Roma é amor, 0110, 11011,... ou seja, quando w = w r Lpal é regular? usando o Lema do Bombeamento: Suponha Lpal regular,
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
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
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
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO
ACH2043 INTRODUÇÃO À TEORIA DA COMPUTAÇÃO 1. Linguagens Regulares Referência: SIPSER, M. Introdução à Teoria da Computação. 2ª edição, Ed. Thomson Prof. Marcelo S. Lauretto [email protected] www.each.usp.br/lauretto
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: [email protected] URL:
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
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
Compiladores Aula 4. Celso Olivete Júnior.
Aula 4 Celso Olivete Júnior [email protected] 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
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
Compiladores - Análise Ascendente
Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,
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
Compiladores - Análise Ascendente
Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,
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
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.
IBM1088 Linguagens Formais e Teoria da
IBM1088 Linguagens Formais e Teoria da Computação Linguagens e Gramáticas Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 47 Frase do dia Sofremos muito com
Gramáticas Livres de Contexto
Gramáticas Livres de Contexto IBM1088 Linguagens Formais e Teoria da Computação Evandro Eduardo Seron Ruiz [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 42 Frase do dia Quando vires
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;
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
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
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 [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Classes Gramaticais Linguagens
LINGUAGENS FORMAIS Definições. Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam
Linguagens Naturais LINGUAGENS FORMAIS Definições Desenvolveram-se na História em função da necessidade dos grupos humanos que as empregavam São muito ricas, mas também ambíguas e imprecisas. Ex.: João
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.
Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção
Shift e reduce Shift: move o foco uma posição à direita A B C x y z A B C x y z é uma ação shift Reduce: reduz o que está imediatamente à esquerda do foco usando uma produção Se A x y é uma produção, então
MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3
MAC-4722 Linguagens, Autômatos e Computabilidade Lista L3 Athos Coimbra Ribeiro NUSP: ****** 3 de Abril de 26 Problema.46 (itens a,c, e d) Solução a) L = { n m n m, n } Usamos o lema do bombeamento para
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 é
Automata e Linguagens Formais
Automata e Linguagens Formais 5 Prof. Carlos H. C. Ribeiro [email protected] Gramáticas A Hierarquia de Chomsky Tipos de gramáticas e linguagens Pré-normalização de GLCs Formas Normais: Chomsky e Greibach
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
Propriedades de Fecho de Linguagens Regulares.
Propriedades de Fecho de Linguagens Regulares. Gerando Linguagens Regulares Recorde a seguinte teorema: THM: Linguagens regulares são aquelas que podem ser geradas a partir de linguagens finitas pela aplicação
Linguagens Regulares, Operações Regulares
Linguagens Regulares, Operações Regulares 1 Definição de Linguagem Regular Relembre a definição de linguagem regular: DEF: A linguagem aceita por um AF M é o conjunto de todos os strings que são aceitos
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 1ª chamada - Resolução 2h + 30min 31/Jan/2011 Pergunta A.1 A.2 A.3 B.1 B.2 B.3a B.3b C.1 C.2 D.1
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. [email protected] Legenda: = sigma (somatório) = delta ε = epsilon λ =
Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 4. Autômatos Finitos
Curso: Ciência da Computação Turma: 6ª Série Aula 4 Autômatos Finitos Autômatos Finitos Não Determinísticos Um autômato finito não-determinístico (AFND, ou NFA do inglês) tem o poder de estar em vários
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
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
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) é
Conceitos básicos de Teoria da Computação
Folha Prática Conceitos básicos de 1 Conceitos básicos de Métodos de Prova 1. Provar por indução matemática que para todo o número natural n: a) 1 + 2 + 2 2 + + 2 n = 2 n+1 1, para n 0 b) 1 2 + 2 2 + 3
Linguagens Formais e Problemas de Decisão
Linguagens Formais e Problemas de Decisão Mário S. Alvim ([email protected]) Fundamentos de Teoria da Computação (FTC) DCC-UFMG (2018/02) Mário S. Alvim ([email protected]) Linguagens Formais e Problemas
Gramá3ca Livre de Contexto (GLC)
Linguagens Formais e Autômatos Gramá3ca Livre de Contexto (GLC) Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hep://dcc.ufmg.br/~nvieira) Sumário Gramá4cas livres de
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 [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa
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
V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC
V Análise Sintática V.1 Fundamentos Teóricos V.1.1 G.L.C V.1.2 Teoria de Parsing V.2 Especificação Sintática de Ling. de Prog. V.3 - Implementação de PARSER s V.4 - Especificação Sintática da Linguagem
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
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?
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 [email protected] Universidade de São Paulo E.E.S. Ruiz (USP) LFA 1 / 41 Frase do dia Através de três métodos
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
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
Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e
Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal
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
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
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
Linguagens Livres de Contexto
Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011
Estados Equivalentes. Exemplo R: Sim, b e f. Note que se estamos em b ou f então:
Minimização de AFD Estados Equivalentes. Exemplo Considere os estados de aceitação c e g. Eles são ambos estados que, uma vez atingidos, nunca se sai deles, desde que se leia 0 ou 1. Q: Precisamos desses
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
Matemática Discreta para Ciência da Computação
Matemática Discreta para Ciência da Computação P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação
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
Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos
Plano da aula Compiladores Análise sintática (1) Revisão: Gramáticas Livres de Contexto 1 Introdução: porque a análise sintática? Noções sobre Gramáticas Livres de Contexto: Definição Propriedades Derivações
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens
Procedimentos e Algorítmos Programas e Linguagens de Programação Tese de Church-Turing Formas de Representação de Linguagens 1 Introdução Estudar computação do ponto de vista teórico é sinônimo de caracterizar
Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.
Transformações em G.L.C Uma vez que existem métodos de análise, cada qual exigindo gramáticas com características específicas é importante que uma gramática possa ser transformada, porém, sem perder a
Linguagens Formais e Autômatos P. Blauth Menezes
Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 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.
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
BCC242. Auômato Finito Determinístico
BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas
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
Teoria de Linguagens 2 o semestre de 2017 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 19/9/2017 Valor: 10 pontos
Departamento de Ciência da Computação ICEx/UFMG Teoria de Linguagens o semestre de 7 Professor: Newton José Vieira Primeira Lista de Exercícios Data de entrega: 9/9/7 Valor: pontos. Uma versão do problema
Lista de exercícios 1
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro
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
LFA Aula 05. AFND: com e sem movimentos 05/12/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.
LFA Aula 05 AFND: com e sem movimentos vazios 05/12/2016 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Na aula passada... Reconhecedores genéricos Autômatos finitos
Marcos Castilho. DInf/UFPR. 5 de abril de 2018
5 de abril de 2018 Autômatos com Pilha Não-Determinísticos Um Autômato com Pilha Não-Determinístico (APN) é uma sêxtupla (Q, Σ, Γ, δ, Q 0, F ), onde: Q, Σ, Γ, F são como nos APD s; δ : Q (Σ {λ}) (Γ {λ})
Exemplo preliminar. Considere a linguagem dos Palíndromos Lpal:
a n b n 1 Exemplo preliminar Considere a linguagem dos Palíndromos Lpal: radar, Roma é amor, 0110, 11011,... ou seja, quando w = w r Lpal é regular? usando o Lema do Bombeamento: Suponha Lpal regular,
