Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Gramatica independiente de contexto
1. NOMBRE: Andrés Dávila M.
FECHA: 01/08/2020
MATERIA: Compiladores
TALLER
Realizar los siguientes ejercicios con respecto a gramáticas independientes de contexto:
Ejercicio1
Teniendo un lenguaje que genere expresiones de tipo 8 + 4 - 5, Determine una GIC, forme el
árbol de derivación y genere sus producciones.
Exp -> Exp digito | signo
digito -> 0|1|2|3|4|5|6|7|8|9
signo -> +| -
Producciones:
lista -> lista + digito
lista -> lista - digito
lista -> digito
digito -> 0|1|2|3|4|5|6|7|8|9
Ejercicio 2
• Realizar una gramática que permita generar el número 9
Exp -> 9
• Realizar una gramática que permita generar el número 0
Exp -> 0
• Realizar una gramática que permita generar el número 8
Exp -> 8
• Realizar una gramática que permita generar el número 5
8 54
2. Exp -> 5
• Realizar una gramática que permita generar el número 4
Exp -> 4
• Realizar una gramática que permita generar el número 2
Exp -> 2
Ejercicio 3
Realizar una gramática que permita generar un dígito n, obtener su árbol respetivo
Exp -> 0|1|2|3|4|5|6|7|8|9
Exp
|
2
Ejercicio 4
Realizar una gramática que repita muchas veces el número 8, probar con el número 8888,
obtener su árbol respetivo.
Exp -> Exp 8|8
Ejercicios 5
Realizar una gramática que genere muchos dígitos, obtener su árbol respetivo
Exp -> Exp dig | dig
dig -> 0|1|2|3|4|5|6|7|8|9
3. Ejercicio 6
Hacer una GIC que genere un número binario. obtener su árbol respetivo
Exp -> Exp bin | bin
bin -> 0 | 1
Ejercicio 7
Hacer una gramática que genere un conjunto de 1 seguido de un conjunto de 0, donde el
número 1 debe ser par y el número de 0 debe ser impar.
Exp -> unos ceros
ceros -> ceros 0 | 0
unos -> unos 11 | 11
El término independiente del contexto se refiere al hecho de que el no terminal Exp puede
siempre ser sustituido por x sin tener en cuenta el contexto en el que ocurrió. Un lenguaje formal
es independiente de contexto si hay una gramática libre de contexto que lo genera, este tipo de
gramática fue creado por Backus-Naur y se utiliza para describir la mayoría de los idiomas de
programación.