Carregar apresentação
A apresentação está carregando. Por favor, espere
1
I - Noções dum compilador
DEI Gramáticas Árvores de derivação Hierarquia de Chomsky Autómatos de pilha Bibliografia aconselhada: Apontamentos Jorge Morais LFA 1999/
2
Gramática DEI Uma gramática é um vector G = (V, , P, S) onde:
V conjunto finito - variáveis (símbolos não terminais) conjunto finito - alfabeto P (V )+ x (V )* - conjunto de produções S V - símbolo inicial Jorge Morais LFA 1999/
3
Produções duma gramática
DEI Uma produção representa-se habitualmente na forma Escrevemos que u v, se u=xy e v=xy, com x,y (V )* e P Escrevemos que u * v (v deriva de u), se u = v ou se u w1 w2 ... wn-1 v, onde w1, w2, ..., wn-1 (V )+ Jorge Morais LFA 1999/
4
Linguagem duma gramática
DEI Definimos a linguagem gerada pela gramática L(G) = {u *: S * u} BNF (Backus Naur Form): Variáveis são iniciados com letra maíuscula Símbolos do alfabeto com letra minúscula para representar produções 1 | 2 | ... | n (produções alternativas) Jorge Morais LFA 1999/
5
Gramáticas sensíveis ao contexto
DEI Dizemos que uma gramática é sensível ao contexto se todas as produções são da forma: S, ou; , onde: || ||; S cont() Jorge Morais LFA 1999/
6
Gramáticas independentes de contexto
DEI Dizemos que uma gramática é independente de contexto se todas as produções são da forma: A, onde: A V; (V )* Jorge Morais LFA 1999/
7
Árvore de derivação DEI
Seja G = (V, , P, S) uma gramática independente de contexto e seja S * u uma derivação em G. Numa árvore de derivação tem-se: o nó principal é o símbolo inicial S; as variáveis são nós interiores; os símbolos do alfabeto são folhas. Jorge Morais LFA 1999/
8
Gramáticas regulares DEI
Dizemos que uma gramática é regular se for linear à esquerda ou à direita: Gramática linear à direita A A A B onde: A, B V; Gramática linear à esquerda A B Jorge Morais LFA 1999/
9
Hierarquia de Chomsky DEI Tipo Linguagem Gramática
Recursivamente Enumeráveis Sem restrições 1 Sensíveis ao contexto 2 Independentes de contexto 3 Regulares Jorge Morais LFA 1999/
10
Exemplo 1 DEI L(G) = {u *: u = anbncn, n 1}, G= (V, , P, S), V = {S, A, B}, = {a,b,c} Produções: S aSBA | abA AB BA bB bb bA bc cA cc aB ab Jorge Morais LFA 1999/
11
Exemplo 1 (cont.) DEI Derivação de a2b2c2 = aabbcc:
S aSBA aabABA aabBAA aabbAA aabbcA aabbcc Jorge Morais LFA 1999/
12
Exemplo 2 DEI L(G) = {u *: u = an(a+b+c)bn, n 1}, G= (V, , P, S), V = {S, T}, = {a, b, c} Produções: S aSb | T T a | b | c Jorge Morais LFA 1999/
13
Exemplo 2 (cont.) DEI Derivação de a3cb3 = aaacbbb:
S aSb aaSbb aaaSbbb aaaTbbb aaacbbb Jorge Morais LFA 1999/
14
Autómato de Pilha DEI Um autómato de pilha é um vector A = (S, , , , i, z, F), onde: S conjunto finito de estados conjunto finito - alfabeto de entrada conjunto finito - alfabeto da pilha : S x {} x S x * i S estado inicial z símbolo inicialmente no topo da pilha F S conjunto de estados finais Jorge Morais LFA 1999/
15
Linguagem do Autómato de Pilha
DEI Num autómato de pilha a linguagem pode ser reconhecida de forma equivalente por estados finais ou por pilha vazia LF(A) = {u *: u é o rótulo de um caminho bem sucedido} LV(A) = {u *: u é o rótulo de um caminho que termina com a pilha vazia} Jorge Morais LFA 1999/
16
Exemplo DEI L(A) = {u *: u = x 3 xi, x é uma sequência de 1’s e 2’s e xi é a mesma sequência invertida } A = (S, , , , i, z, F) S={i,m,f}, = {1, 2, 3}, = {a, b, z} F ={f} Jorge Morais LFA 1999/
17
Exemplo (cont.) DEI ={ (i,1,z,i,az), (i,1,a,i,aa), (i,1,b,i,ab),
(i,2,z,i,bz), (i,2,a,i,ba), (i,2,b,i,bb), (i,3,z,m,z), (i,3,a,m,a), (i,3,b,m,b), (m,1,a,m, ), (m,2,b,m,), (m,,z,f,)} Jorge Morais LFA 1999/
18
Equivalência entre linguagens
DEI As linguagens reconhecidas por autómatos finitos, expressões regulares e gramáticas regulares são todas do tipo 3, isto é, regulares. As linguagens reconhecidas por gramáticas independentes de contexto e autómatos de pilha são do tipo 2, isto é, independentes de contexto. Jorge Morais LFA 1999/
19
Prova construtiva DEI Para determinar que uma linguagem é do tipo 3 ou do tipo 2, basta usar uma das formas anteriores. Para provar que não é do tipo 3 ou 2, é preciso provar que não é possível encontrar nenhuma dessas formas. Jorge Morais LFA 1999/
20
Lema de repetição para LR’s
DEI Se L é uma linguagem regular, existe um inteiro n tal que todo o x L com |x| n pode ser escrito na forma x = uvw com: |uv| n |v| 1 m 0 a palavra uvmw pertence a L A constante n não excede o número de estados do menor autómato finito que reconhece L. Jorge Morais LFA 1999/
21
Lema de repetição para LIC’s
DEI Se L é uma linguagem independente de contexto, existe um inteiro n apenas dependente de L tal que, se z L e |z| n, z pode ser escrito da forma z = uvwxy onde: |vx| 1 |vwx| n i 0 a palavra uviwxiy pertence a L Jorge Morais LFA 1999/
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.