1. ESCUELA DE INGENIERÍA
SEMESTREMAYO–AGOSTO2020
COMPILADORES
ACTIVIDAD EN CLASES N°. 26
Nombre: Josseline Andrade Fecha: 30-07-2020
Realizar los siguientes ejercicios con respecto a gramáticas independientes de contexto:
Ejercicio 1
Definir una gramática independientedel contextoquepermita leer unaplaca de un vehículo
del Ecuador.
Ejercicio 2
Definir una GIC que permita generar una un teclado para un computador latinoamericano.
2. Ejercicio 3
Hacer una gramática independiente del contexto (G.I.C), que genere nombres de países,
mínimo un País y una capital, máximo dos países y dos Capitales. Cada país y capital por
mayúscula.
Ejercicio 4
Definir una gramática independiente del contexto que genere los números primos, hasta
antes del límite 100.
lista -> lista / digito
lista -> lista / 1
lista -> digito
digito -> 0|1|2|3|4|5|6|7|8|9……..|99
Ejercicio 5
Hacer una gramática independiente del contexto (G.I.C), que genere frases cuyas palabras
empiecen en una vocal mayúscula y terminen en una consonante minúscula. En medio de la
vocal mayúscula y la consonante puede haber letras minúsculas.
3. Ejercicio 6
Hacer una gramática independiente del contexto (G.I.C), que genere la sentencia condicional
if con las siguientes restricciones:
Siempre se va a comparar una variable con un número entero o una variable con otra variable.
Los operadores relacionales son: <¦>¦=¦=¦==¦!=
Las variables deben empezar en una letra y después de esa letra puede haber cualquier
cantidad de números o letras.
Los números solamente van a ser enteros de cualquier cantidad de dígitos.
Un número no debe empezar en cero, pero puede ser cero.
Se pueden utilizar los operadores lógicos && (and) y II (or).
Solamente se van a utilizar los paréntesis después del if y al final del if.
4. Una vez terminado los ejercicios, realizar un comentario personal sobre las gramáticas
independientes de contexto, su importancia para el diseño de compiladores modernos.
Las gramáticas libres de contexto permiten describir la mayoría de los lenguajes de programación,
de hecho, la sintaxis de la mayoría de lenguajes de programación está definida mediante
gramáticas libres de contexto. Es muy importante este tema ya que dentro del campo de los
Traductores, Procesadores, Compiladores e Intérpretes se aplicarán los lenguajes, gramáticas y
autómatas de tipo 3 para la construcción de analizadores léxicos, y los de tipo 2 para la
construcción de analizadores sintácticos.