You are on page 1of 2

Universidad Simón Bolívar

Departamento de Computación y Tecnología de la Información

Traductores e Interpretadores (CI-3715)

Práctica 5: Gramáticas Libres de Contexto y Autómatas de Pila


1. Formule gramáticas libres de contexto que generen los siguientes lenguajes:

a ) {an bn |n ≥ 0}
b ) {ai bj ck |j = 2i + k ∧ i, j, k ≥ 0}
c) Sea el alfabeto Σ = {a, b, (, )}. El lenguaje de las expresiones bien parentizadas sobre Σ.
d) El lenguaje de las expresiones regulares sobre el alfabeto Σ = {a, b}.
e) El lenguaje de las gramáticas libres de contexto sobre Σ = {a, b} y Γ = {A, B, C}

2. Para las gramáticas construidas en el ejercicio anterior:

a) Construya gramáticas no ambiguas que generen los mismos lenguajes.

b) Construya gramáticas no ambiguas y sin recursión izquierda que generen los mismos lenguajes.

3. (Sipser 2.6) Formule gramáticas libres de contexto que generen los siguientes lenguajes.

a) Las cadenas sobre el alfabeto {a, b} con mayor número de a que de b.


b) El complemento del lenguaje {an bn |n ≥ 0}.
c ) {w#x|wR es una subcadena de x, para w, x ∈ {0, 1}∗ }
d ) {x1 #x2 # · · · #xk |k ≥ 1, cada xi ∈ {0, 1}∗ , para algún i y j x i = xR
j }

4. (Sipser 2.16 y 2.17)

a) Muestre que la clase de los lenguajes libres de contexto es cerrada bajo las operaciones regulares,

unión, concatenación y estrella de Kleene.

b) Utilizando los resultados del problema anterior, demuestre que todo lenguaje regular es libre de

contexto, mostrando cómo convertir una expresión regular directamente en una gramática libre de

contexto equivalente.

5. Construya una gramática libre de contexto para el lenguaje con instrucciones tipo skip, ifthen y if
thenelse

a) ¾Es su gramática ambigua?.

b) En caso de haber respondido SI en (a). ¾Qué puede hacerse para resolver la ambiguedad?.

6. Considere la gramática libre de contexto con las siguientes producciones:

Conjunto →  { ListaElem  }

ListaElem →  | Lista
Lista → Elemento | Elemento , Lista
Elemento → Conjunto |  { |  } | ,
a) ¾La gramática es ambigua? De ser cierto, presente un ejemplo con una frase que sea ambigua.

b) ¾Es posible construir una gramática que reconozca el mismo lenguaje, pero que no sea ambigua?

De ser posible, construya dicha gramática. De lo contrario, justique la razón por la que no es

posible.

7. Construya autómatas de pila que reconozcan los lenguajes generados por las gramáticas construidas en

el ejercicio 1.

8. (Hopcroft, Motwani, Ullman 6.2.6) Supongamos que el autómata de pila P = ({q, p}, {0, 1}, {Z0 , X}, δ, Z0 , {p})
tiene la siguiente función de transición:

δ(q, 0, Z0 ) = {(q, XZ0 )}


δ(q, 0, X) = {(q, XX)}
δ(q, 1, X) = {(q, X)}
δ(q, , X) = {(p, )}
δ(p, , X) = {(p, )}
δ(p, 1, X) = {(p, XX)}
δ(p, 1, Z0 ) = {(p, )}

a) Convertir P en otro autómata de pila P1 que acepte por pila vacía el mismo lenguaje que P acepta

por estado nal; es decir, N (P1 ) = L(P ).


b) Convertir P en otro autómata de pila P2 tal que L(P2 ) = N (P ); es decir, P2 acepta por estado

nal lo que P acepta por pila vacía.

9. (Hopcroft, Motwani, Ullman 6.2.7) Demostrar que, si P es un autómata de pila, existe un autómata de

pila P2 con solo dos símbolos de pila, tal que L(P2 ) = L(P ).

10. (Hopcroft, Motwani, Ullman 6.4.2) Obtener autómatas de pila deterministas que acepten los siguientes

lenguajes:

a ) {0n 1m |n ≤ m ∧ n, m ≥ 0}
b ) {0n 1m |n ≥ m ∧ n, m ≥ 0}
c ) {0n 1m 0n |n, m ≥ 0}

11. Convierta las gramáticas construidas en el ejercicio 1 en Forma Normal de Chomsky.

12. (Hopcroft, Motwani, Ullman 7.1.6) Diseñe una gramática en Forma Normal de Chomsky para el con-

junto de cadenas de paréntesis equilibrados. No es necesario partir de una gramática que no esté en

Forma Normal de Chomsky.

13. ¾Cuál es la mínima y máxima cantidad de pasos de derivación necesarios para generar una frase de

tamaño n, si ésta es generada por una gramática en Forma Normal de Chomsky ?.

14. (Sipser 2.35) Sea G una gramática libre de contexto en Forma Normal de Chomsky que contiene b
b
variables. Muestre que si G genera alguna frase con 2 derivaciones o más, L(G) es innito.