Linguagens Sensíveis ao Contexto

Slides:



Advertisements
Apresentações semelhantes
Linguagens Livre-de-contexto
Advertisements

FAPE - Curso de Ciência da Computação
Software Básico Silvio Fernandes
5.5 – Análise Bottom-Up Tentativa de construir uma árvore sintática para a sentença analisada, começando das folhas, indo em direção à raiz (pós-ordem.
I - Noções dum compilador
Prof. Yandre Maldonado e Gomes da Costa
LFA - Ambiguidade - Equivalência de gramáticas - Hierarquia de Chomsky
Prof. Yandre Maldonado e Gomes da Costa
TEORIA DA COMPUTAÇÃO Parte II  Linguagens Livres de Contexto
Teoria da Computação FIC– Ciência da Computação
Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo
Forma Normal de Chomsky
Gramáticas Livres do Contexto Revisão
Complexidade de Linguagens Influência do Modelo de Computação
Lema do Bombeamento – Gramáticas Livres do Contexto
Profa. Heloise Manica Paris Teixeira
Análise Sintática - Continuação
Linguagens Livres de Contexto
Q={s,q1,…,q10,t,r} ={a,b,c} ={├,■,} Função de transição:
Linguagens Livre de Contexto
Lema da Bomba (Pumping Lemma) para linguagens livre de contexto
esquerda p/ direita,read only
autômatos finitos com transições e
Análise Dada uma cadeia de terminais w, queremos saber se wL(G) ou não. Se for o caso, poderemos querer achar uma derivação de w. Um algoritmo que pode.
Identificando Linguagens Não Regulares
Máquina de Turing e Computabilidade
Análise Sintática Ascendente
Relações em uma Gramática
Construção de Compiladores
MAPA DE KARNAUGH O Mapa de Karnaugh é uma ferramenta de auxílio à minimização de funções booleanas. O próprio nome mapa vem do fato dele ser um mapeamento.
Construção de Compiladores
Construção de Compiladores
Exercícios Linguagens Formais.
4 - Para cada uma das operações abaixo informe quais são operações
Análise do Lugar das Raízes
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Gráfico de Pareto O termo Gráfico de Pareto ficou conhecido depois que Juran começou a utilizá-lo. O nome se originou no trabalho de Vilfredo Pareto, durante.
Determinar o tipo de gramática
Compiladores, Aula Nº 9 João M. P. Cardoso
Lemas (Sudkamp)  .
Gramáticas Livres de Contexto
Site: Estatística Prof. Edson Nemer Site:
Informática Teórica Engenharia da Computação
Análises léxica e sintática
Sintaxe e Semântica na Lógica de Predicados
Expressões Regulares e Gramáticas
Autómatos de Pilha. UM NOVO MODELO PARA OS AUTÓMATOS FINITOS As linguagens regulares são aceites por autómatos finitos. E as linguagens não regulares?
Aula 10 – Cisalhamento Puro
Capítulo II Gramáticas e Linguagens
Analise sintática aula-07-analise-sintática.pdf.
Esquemas L-atribuídos
Análises léxica e sintática
Semelhança de triângulos.
CES-41 COMPILADORES Aulas Práticas Capítulo II A Ferramenta Yacc.
Aula 18 1 Análise Sintáctica Compiladores, Aula Nº 18 João M. P. Cardoso.
ÂNGULOS 1) OPERAÇÃO COM ÂNGULOS 38o 29’ 51’’ + 15o 45’ 24’’
Linguagens Livres de Contexto
Engenharia/Ciência da Computação
Sintaxe de uma Linguagem
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Analisador sintático: Tipos de análises sintáticas
TEORIA DOS NÚMEROS Aula 3 – Divisibilidade e Algoritmo da Divisão
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
Reverso de uma Linguagem Regular
1 Decidibilidade continuação…. 2 Teorema: Para qualquer linguagem recursivamente enumerável é indecidível determinar se é finita Prova: Vamos reduzir.
1 Algoritmos Genéticos em Otimização de Planejamento l Planejamento ocorre em todas as atividades e envolve: PLANEJAMENTO Recursos Tarefas Tempo Objetivos.
Informática Teórica Engenharia da Computação
Transcrição da apresentação:

Linguagens Sensíveis ao Contexto G = (V,T,P,S) onde as produções em P tem a forma  com  e  sendo ca-deias arbitrárias de símbolos da gra-mática,  e  tem que ser pelo menos tão grande (longo) quanto . O nome sensível ao contexto vem da forma normal para estas gramáticas onde cada produção tem a forma 1A2 12 com .

Por a gramática geradora de {ai |i é uma potência positiva de 2} na forma normal da definição de gramáticas livres-de-contexto. 1)SACaB 2)CaaaC 3)CBDB 4)CBE 5)aDDa 6)ADAC 7)aEEa 8)AE  As produções em 1,3,6 estão na forma normal; as 2,5,7 não; a 4 e 8 sequer satisfazem a definição;

5)aDDa a[Da][Da]a [aDB][DaB] [Aa][Da][ADa]a a[DaB][Da][aB] [Aa][DaB][ADa][aB] 1)SACaB S[ACaB] 2)CaaaC [Ca]aaa[Ca] [Ca][aB]aa[CaB] [ACa]a[Aa]a[Ca] [ACa][aB][Aa]a[CaB] [ACaB][Aa][aCB] [CaB]a[aCB] 6)ADAC [ADa][ACa] 7)aEEa a[Ea][Ea]a [aE][Ea] [Aa][Ea][AEa]a 3)CBDB [aCB][aDB] 4)CBE [aCB][aE] 8)AE  [AEa]a

Passando para a forma normal Dada uma GSC G=(V,T,P,S) a gramá-tica G1=(V1,T,P1,S) onde todas as produções são da forma 1A2 12 com  é obtida em dois passos. Primeiro elimina-se os terminais nas produ-ções  de P com ||,|| ≥ 2; depois substitui-se as produções problemáticas i.e. que não podem ser decompostas como acima.

Eliminando os terminais Para cada terminal σΣ criamos um novo não terminal Aσ; cada  de P, é substituída por ’’ onde ’ e ’ são obtidos de  e  tro-cando-se toda ocorrência de σΣ por Aσ; adicione para cada σΣ a produção Aσσ Chamemos de P’ este novo conjunto de produções.

Colocando na forma normal uma produção que não está na forma normal tem o formato: Xi1Xi2...Xmj  Yi1Yi2...Ynj com mj≤nj e mj≥2 e Xil e Yil todos não terminais, além claro de não poder ser decomposta. Seja k o número delas i.e 1≤j≤k e m=m1+..+mk e n=n1+...nk. Faça V1 ser V  {Aσ:σΣ}  {Zji : 1≤j≤k, 1≤i≤m-1}

faça P1 ser P’ unido a 3k(m-1) produções das quais as 3(mj-1) correspondentes a Xi1Xi2...Xmj  Yi1Yi2...Ynj são: Xi1Xi2  Xi1Zji1 Xi1Zji1  Yi1Zji1 Yi1Zji1  Yi1Xi2 Xi2Xi3  Xi2Zji2 Xi2Zji2  Yi2Zji2 Yi2Zji2  Yi2Xi3 ... Xmj-1Xmj  Xmj-1Zjmj-1 Xmj-1Zjmj-1  Ymj-1Zjmj-1 Ymj-1Zjmj-1  Ymj-1Ymj...Yn

Mostre que se A é uma LLC e R é um conjunto regular, entaõ AR é uma LLC Supor A dado de M=(QM,,,M,sM,,FM) aceitando por estados finais e R dado por D=(QD,å,dD,sD,FD). Construiremos um npda N que usará sua pilha para simular a de M; A construção de N se assemelha a construção do produto

N=(QN,,,N,sN,,FN) com QN=QMQD sN=(sM,sD) FN=FMFD para cada ((p,a,A),(q, ))M, inclua (((p,r),a,A), ((q,D(r,a)),)) em N Para cada ((p,,A),(q,))M, inclua (((p,r),,A),((q,r),)) em N

Embaralhamento (Shuffle) A || B = {x1y1...xnyn | n≥0, xi,yi*, x1x2...xnA e y1y2...ynB} e.g.: {ab} || {cd,f} = {abf,afb,fab,abcd,acbd,acdb,cabd,cadb,cdab}

Embaralhamento de duas LLC não é necessariamente uma LLC Certa vez mostramos que {anbmanbm : m,n≥0} não é uma LLC. Mas este conjunto é h(({ancn : n≥0} || {bndn : n≥0}) L(a*b*c*d*)) onde h é o homomorfismo h(a)=h(c)=a h(b)=h(d)=b Já que LLCs são fechadas sob interseção com cjtos regulares e homomorfismo o problema está no shuffle {ancn : n≥0} || {bndn : n≥0}