You are on page 1of 18

Gramticas libres de contexto

rboles de derivacin

Gramticas libres de contexto


Amads Antonio Martnez Morales
Departamento de Computacin
Facultad Experimental de Ciencias y Tecnologa
Universidad de Carabobo

Clases 07 y 08

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Agenda

Gramticas libres de contexto


Definiciones
Ejemplos
Ejercicios

rboles de derivacin
Definiciones
Ejemplos

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Definiciones

Definicin: una gramtica libre de contexto es una cudrupla


G = (V , T , P, S), donde:
V es un conjunto finito y no vaco de variables o smbolos no
terminales
T es un conjunto finito y no vaco de smbolos terminales,
con V T =
P es un conjunto finito de producciones o reglas de la forma
A , donde A V y (V T )
S V es la variable inicial

Si A es una produccin de P, se dice que A se reescribe


como

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Definiciones

Definicin: sea G = (V , T , P, S) una gramtica libre de


contexto. Si A es una produccin de P y
, (V T ) , entonces A G , y se dice que A
deriva directamente en en la gramtica G
Definicin: sea G = (V , T , P, S) una gramtica libre de
contexto y , strings en (V T ) . Se dice que deriva en
en la gramtica G, y se denota por G , si existe una
secuencia de strings 0 , 1 , . . . , m en (V T ) , con m 0,
tal que satisface las siguientes condiciones:
0 =
hi : 0 i < m : i G i+1 i
m =

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Definiciones

Si m > 0 entonces se dice que deriva en en la gramtica


G en uno o ms pasos, y se denota por +
G
Si m = k entonces se dice que deriva en en la gramtica
G en exactamente k pasos, y se denota por kG
Para cada string (V T ) se tiene que G
Definicin: sea G = (V , T , P, S) una gramtica libre de
contexto. Se dice que un string (V T ) es una forma
sentencial de G si S G

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Definiciones

Definicin: sea G = (V , T , P, S) una gramtica libre de


contexto. Se dice que L es el lenguaje generado por G, y se
denota por L = L(G), si L = {w : w T S G w }
Esto significa que un string w L(G) si:
w contiene solamente smbolos terminales
w puede ser derivado a partir de S

Bsicamente, L(G) se define como el conjunto de todas las


formas sentenciales en G que contengan exclusivamente
smbolos terminales
Un lenguaje L se denomina lenguaje libre de contexto si
existe una gramtica libre de contexto G tal que L = L(G)

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Ejemplos

Considere la gramtica libre de contexto G1 = (V1 , T1 , P1 , S),


donde
V1 = {S}
T1 = {a, b}
P1 = {S aSb, S ab}

Considere la aplicacin de la primera produccin n 1 veces,


seguida por una aplicacin de la segunda produccin.
S G1 aSb G1 aaSbb
G1 a3 Sb 3
..
.
G1 an1 Sb n1
G1 an b n
L(G1 ) = {an b n : n 1}
Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Ejemplos

Considere la gramtica libre de contexto G2 = (V2 , T2 , P2 , A),


donde
V2 = {A, B}
T2 = {0, 1, #}
P2 = {A 0A1, A B, B #}

Considere la derivacin del string 000#111.


A G2 0A1
G2 00A11
G2 000A111
G2 000B111
G2 000#111
L(G2 ) = {0n #1n : n 0}

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Ejercicios

Considere la gramtica libre de contexto G3 = (V3 , T3 , P3 , S),


donde
V3 = {S}
T3 = {a, b}
P3 = {S aSb, S SS, S }

Considere la derivacin del string aababb.


S G3 aSb G3 aSSb
G3 aaSbSb
G3 aabSb
G3 aabaSbb
G3 aababb
Cul es el lenguaje generado por G3 ?

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Ejercicios

Considere la gramtica libre de contexto G4 = (V4 , T4 , P4 , S),


donde
V4 = {S, A, B}
T4 = {a, b}
P4 = {S aB, S bA,
A a, A aS, A bAA,
B b, B bS, B aBB}

Cul es el lenguaje generado por G4 ?

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos
Ejercicios

Gramticas libres de contexto


Ejercicios

Definir la gramtica generadora del lenguaje


{0n 1n : n 0} {1n 0n : n 0}
Definir la gramtica generadora del lenguaje que contiene los
strings palndromes sobre el alfabeto {a, b}

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Definiciones

Definicin: sea G = (V , T , P, S) una gramtica libre de


contexto. Un rbol D es un rbol de derivacin para G si:
1
2
3
4

Todo vrtice de D tiene una etiqueta A V T {}


La etiqueta del vrtice raz de D es S
Todo vrtice interior de D tiene una etiqueta A V
Si n es un vrtice interior de D con etiqueta A y los vrtices
n1 , n2 , . . . , nk son los hijos de n (de izquierda a derecha), con
etiquetas X1 , X2 , . . . , Xk , respectivamente, entonces
A X1 X2 . . . Xk P
Si n es un vrtice de D con etiqueta , entonces n es un vrtice
hoja y no tiene hermanos

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Definiciones

La frontera de un rbol de derivacin D es el string obtenido


de la concatenacin de las etiquetas de las hojas de D,
preservando el orden de izquierda a derecha
Teorema: sea G = (V , T , P, S) una gramtica libre de
contexto. S G si y slo si existe un rbol de derivacin
para G con frontera

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Definiciones

Definicin: sea G = (V , T , P, S) una gramtica libre de


contexto. Si A es una produccin de P, (V T ) y
T , entonces A md,G , y se dice que A deriva
directamente por la derecha en en la gramtica G
Definicin: sea G = (V , T , P, S) una gramtica libre de
contexto y w T . Se dice que S deriva por la derecha en
w en la gramtica G, y se denota por S md,G w , si existe
una secuencia de strings 0 , 1 , . . . , m en (V T ) , con
m 0, tal que:
0 = S
hi : 0 i < m : i md,G i+1 i
m = w

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Definiciones

Definicin: sea G = (V , T , P, S) una gramtica libre de


contexto. Si A es una produccin de P, T y
(V T ) , entonces A mi,G , y se dice que A
deriva directamente por la izquierda en en la
gramtica G
Definicin: sea G = (V , T , P, S) una gramtica libre de
contexto y w T . Se dice que S deriva por la izquierda
en w en la gramtica G, y se denota por S mi,G w , si existe
una secuencia de strings 0 , 1 , . . . , m en (V T ) , con
m 0, tal que:
0 = S
hi : 0 i < m : i mi,G i+1 i
m = w
Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Definiciones

En una derivacin por la derecha, en cada paso siempre se


sustituye la variable que se encuentre ms a la derecha de la
forma sentencial
En una derivacin por la izquierda, en cada paso siempre se
sustituye la variable que se encuentre ms a la izquierda de la
forma sentencial
Una gramtica libre de contexto G es ambigua si hay por lo
menos un string w L(G) para el cual existen por lo menos
dos rboles de derivacin distintos con frontera w
De manera equivalente, una gramtica libre de contexto G es
ambigua si hay por lo menos un string w L(G) para el cual
existen por lo menos dos derivaciones por la izquierda (o por
la derecha) distintas
Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Ejemplos

Considere la gramtica libre de contexto


G5 = (V5 , T5 , P5 , hEXPRi), donde
V5 = {hEXPRi}
T5 = {a}
P5 = {hEXPRi hEXPRi + hEXPRi,
hEXPRi hEXPRi hEXPRi,
hEXPRi (hEXPRi),
hEXPRi a}

Amads Antonio Martnez Morales

Gramticas libres de contexto

Gramticas libres de contexto


rboles de derivacin

Definiciones
Ejemplos

rboles de derivacin
Ejemplos

Figura: rboles de derivacin para el string a + a a en la gramtica G5

Amads Antonio Martnez Morales

Gramticas libres de contexto

You might also like