Formas normais. Forma normal de Greibach (FNG) todas as produções são da forma
|
|
- Cármen Prada Olivares
- 5 Há anos
- Visualizações:
Transcrição
1 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) e que esteja em forma normal.as formas normais mais úteis são: Forma normal de Chomsky (FNC) todas as produções são da forma A BC ou A a, para A, B, C V e a Σ Vantagem: as árvores de derivação são binárias Forma normal de Greibach (FNG) todas as produções são da forma A ab 1 B 2... B k, para algum k 0 e A, B 1,... B k V e a Σ. Vantagem: em cada passo de derivação um terminal é consumido. x = n e x L(G) então S n x. Isto é se Nota: Nenhuma gramática em FNC ou FNG gera a palavra vazia ɛ! Departamento de Ciência de Computadores da FCUP MC Aula 13 1
2 Exemplos Gramáticas para a linguagem dos parêntesis bem casados, sem ɛ, respectivamente, em FNC e FNG, são: G fnc = ({S, A, B, C}, {(, )}, { S AB SS AC }, S) C SB A ( B ) G fng = ({R, X}, {(, )}, { R (X (RX (XR (RXR }, R) X ) Derivações pela esquerda para ()(()) : S SS ABS (BS ()S ()AC ()(C ()(SB ()(ABB ()((BB ()(()B ()(()) R (XR ()R ()(RX ()((XX ()(()X ()(()) Departamento de Ciência de Computadores da FCUP MC Aula 13 2
3 Simplificação de g.i.c. Vamos ver que qualquer gramática que não gere ɛ é equivalente a outra que: não tenha variáveis inúteis, i.e que não gerem alguma sequência de terminais a partir do símbolo inicial não tenha produções-ɛ A ɛ não tenha produções unitárias A B Sem este tipo de regras é garantido que, em cada passo da derivação, a forma sentencial resultante: ou cresce estritamente ou contém mais um símbolo terminal Departamento de Ciência de Computadores da FCUP MC Aula 13 3
4 Eliminação de variáveis inúteis Dado G = (V, Σ, P, S), X V é útil se gera alguma sequência de terminais a partir do símbolo inicial, i.e, se existe uma derivação S αxβ w e w Σ.Para que X V seja útil: 1. w Σ X w, i.e,, X é um gerador de G 2. X V, S αxβ, i.e, X é atingível de S. Lema Dada G = (V, Σ, P, S) tal que L(G), existe um algoritmo que determina G = (V, Σ, P, S) equivalente a G e que cada variável de V V gera algum w Σ. Dem. (Ideia da demonstração) V é o menor conjunto tal que: Base. V = Σ Indução. Se existe A α para algum α (Σ V ), então A V. e P = {X α; X α P, X V, α (Σ V ) }. Departamento de Ciência de Computadores da FCUP MC Aula 13 4
5 Exercício Demonstra que em V estão todos e só os geradores de G Lema Dada G = (V, Σ, P, S), existe um algoritmo que determina G = (V, Σ, P, S) equivalente a G em que cada variável X V V é atingível de S. Dem. V e Σ são os menores conjuntos tal que: Base. V = {S} e Σ = Indução. Se X V então todas as variáveis que ocorram em produções-x são colocados em V e todos os terminais em Σ e P = P {X α X V } Proposição Seja G = (V, Σ, P, S) uma g.i.c. e L(G). Seja G 1 = (V 1, Σ 1, P 1, S) obtida eliminando primeiro as variáveis não geradoras e depois, da gramática obtida, todos os símbolos não atíngiveis de S. Então G 1 não tem símbolos inúteis e L(G) = L(G 1 ) Exercício Demonstra a proposição anterior. Departamento de Ciência de Computadores da FCUP MC Aula 13 5
6 Eliminar produções-ɛ e produções unitárias Lema Para cada G = (V, Σ, P, S), existe uma gramática G sem produçõesɛ nem produções unitárias e tal que L(G ) = L(G) \ {ɛ}. Dem. Seja P o menor conjunto que contém P e é fechado para as seguintes regras: (a) se A αbβ e B ɛ estão em P, então A αβ P (b) se A B e B γ estão em P, então A γ P Nota que este processo é finito assim como o P! Seja Ĝ = (V, Σ, P, S).Como P P, temos L(G) L(Ĝ). Mas,temos mesmo, L(G) = L(Ĝ), porque cada produção acrescentada correspondia a dois passos de derivação em G. Vamos ver que para x Σ \ {ɛ}, qualquer derivação de tamanho mínimo S x não usa nenhuma produções-ɛ nem produções unitárias. Ĝ Departamento de Ciência de Computadores da FCUP MC Aula 13 6
7 Logo poderão ser apagadas de P. G é a gramática que se obtém de Ĝ eliminando essas produções. Seja x ɛ e seja a derivação de menor tamanho S Ĝ x. Suponhamos, por contradição, que uma produção-ɛ é usada: S Ĝ γbδ 1 Ĝ γδ Ĝ x. Mas γδ tem de ser não nulo (senão x = ɛ) e portanto tem de haver uma forma sentencial anterior que já continha B: S m Ĝ ηaθ 1 Ĝ ηαbβθ ṋ G γbδ 1 Ĝ γδ k Ĝ x mas, então, por (a), A αβ P e portanto podia ter sido aplicada, conduzindo a uma derivação de x de tamanho menor: S m Ĝ ηaθ 1 Ĝ ηαβθ ṋ G γδ k Ĝ x Absurdo!. De modo similar, podemos mostrar que produções unitárias não aparecem em derivações de tamanho mínimo. Departamento de Ciência de Computadores da FCUP MC Aula 13 7
8 Seja x ɛ e seja a derivação de menor tamanho S Ĝ x. Suponhamos, por contradição, que uma produção unitária A B é usada: S Ĝ αaβ 1 Ĝ αbβ Ĝ x mas então, mais tarde B será substituído: S m Ĝ αaβ 1 Ĝ αbβ ṋ G ηbθ 1 Ĝ ηγθ k Ĝ x Mas, então, por (b), A γ P e portanto podia ter sido aplicada, conduzindo a uma derivação de x de tamanho menor: S m Ĝ αaβ 1 Ĝ αγβ ṋ G ηγθ k Ĝ x Absurdo! Departamento de Ciência de Computadores da FCUP MC Aula 13 8
9 Forma normal de Chomsky Converter uma g.i.c. G = (V, Σ, P, S), com ɛ / L(G) numa equivalente em FNC.Depois de eliminarmos as produções-ɛ, as produduções unitárias, e as variávies inúteis ou se tem produções da forma A a ou de tamanho 2. Para obter a FNC: 1. Para cada a Σ introduz-se um não-terminal A a e a produção A a a.e substitui-se cada ocorrência de a nos lados direitos de outras regras por A a. 2. Então, todas as produções são da forma A a ou A B 1 B 2... B k, k 2 e b i V. 3. Para cada produção A B 1 B 2... B k, k 3, introduz-se um novo não terminal C e substituí-se essa produção por duas novas: A B 1 C e C B 2... B k Continua-se este passo até não haver mais regras com lados direitos de tamanho maior que 2. Departamento de Ciência de Computadores da FCUP MC Aula 13 9
10 Exercício método anterior. Demonstra que G é equivalente à gramática FNC obtida pelo Departamento de Ciência de Computadores da FCUP MC Aula 13 10
11 Exemplo Dada a gramática para a linguagem L de parêntesis bem casados G = ({S}, {(, )}, {S (S) SS ɛ}, S) vamos determinar uma FNC para L(G) \ {ɛ}: Eliminando as produções-ɛ vem: S (S) SS () Não tem produções unitárias para eliminar Não tem não terminais inúteis Introduzimos dois não terminais A e B, e substituímos as produções: S ASB SS AB, A ( B ) Finalmente, adiciona-se um novo não terminal e substituí-se S ASB por S AC e C SB A gramática obtida é a dada na página 2. Departamento de Ciência de Computadores da FCUP MC Aula 13 11
12 Para determinar uma gramática na forma normal de Greibach equivalente a uma dada gramática na forma normal de Chomsky, vamos precisar dos seguintes lemas: Lema Seja G = (V, Σ, P, S) uma GIC, seja A α 1 Bα 2 P e sejam B β 1 β r as produções-b. A gramática que se obtem substituindo A α 1 Bα 2 em G, por A α 1 β 1 α 2 α 1 β r α 2 é equivalente a G Lema [(eliminação da recursão à esquerda)] Sejam G = (V, Σ, P, S) uma GIC e A Aα 1 Aα r as A-produções cujo símbolo mais à esquerda na parte direita é A. Sejam A β 1 β s as restantes A-produções em P. Seja B um novo não terminal. A gramática G 1 = (V {B}, Σ, P 1, S) obtida de G por substituição das produções-a por A β i B α j A β i B B α j B com 1 i s e 1 j r, é equivalente à gramática G. Departamento de Ciência de Computadores da FCUP MC Aula 13 12
13 Forma normal de Greibach Seja G = (V, Σ, P, S) uma gramática em forma normal de Chomsky. Suponhamos que V = {A 1, A 2,..., A m }. 1. Transformar as produções em P de modo que se A i A j γ então j > i. Para A k com k = 1... m, se A k A j γ P e j < k, substituímo-la pelo conjunto de regras que resultam da aplicação do Lema 13.4 a A j. Aplicando o mesmo processo, a cada uma das regras assim obtidas, obtém-se um conjunto de produções da forma A k A j γ, em que j k (no máximo k 1 vezes) substituímos as produções da forma A k A j γ com k = j, como descrito no Lema 13.5, introduzindo uma nova variável B k. 2. Obtemos então produções da forma: A i A j γ, com j > i A i aγ, com a Σ B i γ, com γ (V {B 1,..., B i 1 }) Departamento de Ciência de Computadores da FCUP MC Aula 13 13
14 3. Na parte direita de cada produção para A m, o símbolo mais à esquerda tem que ser um terminal (já que não há nenhum não terminal com um índice superior a m). Na parte direita de cada regra para A m 1, o símbolo mais à esquerda tem que ser ou A m ou um terminal.quando uma dada regra para A m 1 tiver A m como símbolo mais à esquerda, podemos usar as produções de A m para substituir as regras de A m 1 de forma a ter sempre um terminal como símbolo mais à esquerda. Se continuarmos a aplicar o mesmo processo aos restantes não terminais, A m 2,... A 2, A 1, garantimos que o lado direito das produções dos A i s começa por um terminal. 4. o lado direito das produções dos B i s não pode começar por um B j (G em FNC), sendo ou um terminal ou um dos A j s.basta aplicar, se necessário, uma transformação igual à que acabámos de descrever para alterar as produções dos B i s de forma a começarem por um terminal. Exercício Obter uma FNG para a gramática dos parêntesis bem casados a partir da FNC, ordenando V = {S, C, A, B}. Departamento de Ciência de Computadores da FCUP MC Aula 13 14
15 Leituras [HMU00] (Cap. 7.1) [Tom99] (Pág ) Departamento de Ciência de Computadores da FCUP MC Aula 13 15
16 Referências [HMU00] John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. Introduction to Automata Theory, Languages and Computation. Addison Wesley, 2nd edition, [Tom99] Ana Paula Tomás. Apontamentos de modelos de computação. Technical report, Departamento de Ciência de Computadores, FCUP, Departamento de Ciência de Computadores da FCUP MC Aula 13 16
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 maisGramá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) 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 maisAutó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 maisAutó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 maisAutómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.
Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação
Leia maisProblemas 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 maisProblemas 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 maisCapí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 maisRevisõ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 maisLinguagem (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 maisMT como calculadoras de funções parciais
MT como calculadoras de funções parciais Uma máquina de Turing pode ser vista como uma calculadora de funções parciais dos inteiros nos inteiros: f : N k p N Suponhamos que os inteiros estão codificados
Leia maisLinguagens 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 maisNoçõ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 maisComputaçã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 maisExercicios. 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 maisGramá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 maisAutómatos determísticos de k-pilhas
Autómatos determísticos de k-pilhas dados de entrada a a a3 an controlo finito (S, Σ, Γ, δ, Z, s 0, F ) δ (S Σ Γ k ) (S, (Γ ) k ) Departamento de Ciência de Computadores da FCUP MC Aula 3 Dados um estado
Leia maisMá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 maisGramática Livre de Contexto
Prof. Yandre Maldonado - 1 Gramática Livre de Contexto Árvore de derivação Ambigüidade Simplificação de Gramática Forma Normal de Chomsky (FNC) (FNG) Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br
Leia maisModelos 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 maisLinguaguens recursivamente enumeráveis
Linguaguens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário,
Leia maisLinguaguens recursivamente enumeráveis e recursivas
Linguaguens recursivamente enumeráveis e recursivas Uma linguagem diz-se recursivamente enumerável (r.e) ou semi-decidível se é aceite por uma máquina de Turing. SD: classe de linguagens recursivamente
Leia maisLinguagens recursivamente enumeráveis
Linguagens recursivamente enumeráveis Uma palavra x Σ é aceite por uma máquina de Turing M ( x L(M)) se M iniciando com a palavra x na fita e no estado inicial, pára num estado final. Caso contrário, M
Leia maisTeoria 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 maisFormas Normais sobre GLC's
Linguagens Formais e Autômatos Formas Normais sobre GLC's Andrei Rimsa Álvares Material extraído do livro e slides do Prof. Newton Vieira (hcp://dcc.ufmg.br/~nvieira) Sumário Formas Normais Chomsky Greibach
Leia maisConstrução de Compiladores Aula 17 - Análise Sintática Descendente
Construção de Compiladores Aula 17 - Análise Sintática Descendente Bruno Müller Junior Departamento de Informática UFPR 3 de Novembro de 2014 1 Análise Sintática Descendente Eliminação de retrocessos Converter
Leia maisA. (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 maisIV 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 maisAlfabeto, 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 maisA. (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
Leia maisGramá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 maisGramá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 maisGramá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 maisSCC 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 maisAutómatos finitos não determinísticos (AFND)
Autómatos finitos não determinísticos (AFND) [HMU00](Cap 2.3) Computações não determinísticas: o estado seguinte não é univocamente determinado pelo estado actual.num autómato finito (não-determínistico):
Leia maisACH2043 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 maisSe 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
Leia maisformais 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 maisSegunda 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 maisTransformaçõ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
Leia maisLinguagens 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 maisCAPÍ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 maisGramá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 maisAlfabeto 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 maisCapí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 maisMarcos 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 maisACH2043 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 maisSCC 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 maisLinguagens 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 maisTEORIA 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 maisLINGUAGENS 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 maisSCC 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 maisTeoria da Computação
Teoria da Computação Introdução às Linguagens Formais e as suas Gramáticas Simão Melo de Sousa Computer Science Department University of Beira Interior, Portugal Plano 1 Introduction a Teoria das Linguagens
Leia maisLinguagens 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 maisTeoria 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 maisAutomata 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 maisCOMPILADORES. 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 maisTeoria da Computação Aula - Linguagens e Gramáticas Formais
Teoria da Computação Aula - Linguagens e Gramáticas Formais Simão Melo de Sousa SMDS TC 1 Introduction a Teoria das Linguagens Formais prelúdio SMDS TC 2 Aviso Prévio A redacção dos apontamentos da disciplina
Leia maisGramá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 maisLinguagens 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 maisFaculdade 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 maisModelos 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 mais7.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 maisDraft-v0.2. Gramáticas Independentes do Contexto O funcionamento de uma CFG Derivação de uma palavra
10 Gramáticas Independentes do Contexto Como vimos nos capítulos anteriores, apesar da classe das Linguagens Regulares serem particularmente bem comportadas tanto em termos de complexidade dos seus algoritmos
Leia maisDisciplina: 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 maisSCC Introdução à Teoria da Computação
SCC-0505 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 - São Carlos http://www.icmc.usp.br/~joaoluis/ joaoluis@icmc.usp.br
Leia maisLinguagens 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 maisGramá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
Leia maisCompiladores 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 maisConstruçã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 maisAula 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 maisC : R I IN 0. tal que. C(α) = 0 sempre que α I {, ɛ} C(α + β) = C(α) + C(β) + 1. C(αβ) = C(α) + C(β) + 1. C(α ) = C(α) + 1.
PROPOSIÇÃO: Para cada expressão regular α R I existe um autómato finito determinista D tal que L(α) = L D. Prova (esboço): Prova-se, por indução na complexidade das expressões regulares α R I que, para
Leia mais2. DISCIPLINA REQUISITO (RECOMENDAÇÃO) 3. INDICAÇÃO DE CONJUNTO (BCC) Obrigatória TEORIA: 60 LABORATÓRIO: 30
Universidade Federal do ABC Rua Santa Adélia, 166 - Bairro Bangu - Santo André - SP - Brasil CEP 09.210-170 - Telefone/Fax: +55 11 4996-3166 1. CÓDIGO E NOME DA DISCIPLINA MC3106 - LINGUAGENS FORMAIS E
Leia maisTeoria 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 maisAutomata e Linguagens Formais
Automata e Linguagens Formais 6 Prof. Carlos H. C. Ribeiro carlos@ita.br Análise Sintática (Parsing) GLCs ambíguas Grafos de GLCs Estratégias para parsing Exemplos de parsers Análise Sintática (Parsing)
Leia maisRevisão: gramáticas (parte 2)
Revisão: gramáticas (parte 2) Relações em uma gramática Prof. Thiago A. S. Pardo 1 Relações em uma gramática Dada uma gramática, podem-se identificar certas relações entre seus elementos Necessárias para
Leia maisGramá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 maisCapí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 maisDisciplina: 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 maisINE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto
INE5317 Linguagens Formais e Compiladores AULA 8: Linguagens Livres de Contexto baseado em material produzido pelo prof Paulo B auth Menezes e pelo prof Olinto Jos é Varela Furtado Ricardo Azambuja Silveira
Leia maisAula de 28/10/2013. sticas; Implementação. em Ruby
Linguagens Formais e Autômatos (LFA) Aula de 28/10/2013 Propriedades Formais Relevantes das LLC s; Lema do Bombeamento; Linguagens LL e LR; Gramáticas LC Determinísticas sticas; Implementação em Ruby 1
Leia mais13.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 maisGramá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 maisDada uma gramática G = (V, T, P, S), tal que ε ² L(G), construir G, sem produções-ε, de modo a que L(G) = L(G ).
2EVHUYDo}HV Enquanto que todas as Linguagens Regulares são reconhecíveis por utómatos 'HWHUPLQLVWDV (Finitos), nem todas as Linguagens Independentes do Contexto são reconhecíveis por utómatos 'HWHUPLQLVWDV
Leia maisMarcos 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 (Σ {λ}) (Γ {λ})
Leia maisLFA 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 maisExemplos de autómatos finitos
Exemplos de utómtos finitos s s 2 reconhece lingugem: {x {, } x termin em e não têm s consecutivos} s s 2 reconhece lingugem {x x {, } e tem como suplvr} Deprtmento de Ciênci de Computdores d FCUP MC Aul
Leia maisUNIVERSIDADE 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 maisProf. 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 maisNelma Moreira. Aula 17
Lógica e Programação Nelma Moreira Aula 17 Conteúdo 1 Programação em Lógica 1 1.1 Resolução para a lógica proposicional................ 1 1.2 Cláusulas............................... 3 1.3 Conversão para
Leia maisDraft-v Gramáticas Independentes do Contexto O funcionamento de uma CFG Derivação de uma palavra
Gramáticas Independentes do Contexto Como vimos nos capítulos anteriores, apesar da classe das Linguagens Regulares serem particularmente bem comportadas tanto em termos de complexidade dos seus algoritmos
Leia maisLINGUAGENS FORMAIS E AUTÔMATOS. Prova 3-05/08/ Prof. Marcus Ramos
LINGUAGENS FORMAIS E AUTÔMATOS Prova 3-05/08/2016 - Prof. Marcus Ramos 1. (2,0 pontos) Um Desafio Gastronômico reúne dois participantes A e B que competem da seguinte forma: i. O participante A come uma
Leia maisUniversidade 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 maisSCC-5832: II. Ling. Livres de Contexto e Autômatos de Pilha
SCC-5832 - Capítulo 2 e João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos joaoluis@icmc.usp.br 2009 Sumário 1 Lema do Bombeamento para Linguagens
Leia maisCOMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática
Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Análise sintática Parte 02 Prof. geovanegriesang@unisc.br Data Conteúdo 23/09/2013 3. Análise Sintática: 3.1 analisadores
Leia maisSCC Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha
Linguagem Livre de Contexto Autômato de Pilha Programas SCC-5832 - Capítulo 2 Linguagens Livres de Contexto e Autômatos de Pilha João Luís Garcia Rosa 1 1 Instituto de Ciências Matemáticas e de Computação
Leia maisVamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos:
5 Propriedades de LR Vamos estudar neste capítulo algumas características da classe das linguagens regulares sobre um alfabeto. Entre elas salientámos: São fechadas para determinas operações sobre linguagens:
Leia maisLinguagens, 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