Está en la página 1de 1

UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA

FACULTAD DE INGENIERIA
COMPILADORES
CAT. ING. JUAN CARLOS MONTERROSO

PROYECTO DE NIVELACIN

Descripcin:

Escribir un proyecto en lenguaje C o C++ que analice una gramtica y produzca como salida el resultado de
calcular el PRIMERO y el SIGUIENTE de la gramtica.

Definicin

Escribir un programa que lea un archivo de texto el cual contendr una gramtica en notacin Backus Nour y
de la misma deber producir un archivo de salida con nombre analisis.out. Este archivo de salida contendr el resultado
de aplicar las funciones PRIMERO y SIGUIENTE a todas las producciones de la gramtica.

Ejemplo:
A continuacin se muestra una gramtica en notacin Backus Nour:

Archivo de entrada

<E> ::= <T> <E>


<E> ::= + <T> <E> | psilon
<T> ::= <F> <T>
<T> ::= * <F> <T> | psilon
<F> ::= ( <E> ) | id

Archivo de salida

PRIMERO(E) = {(,id}
PRIMERO(E) = {+ , psilon}
PRIMERO(T) = {(,id}
PRIMERO(T) = {* , psilon}
PRIMERO(F) = {(,id}
SIGUIENTE(E) = {),$}
SIGUIENTE(E) = {),$}
SIGUIENTE(T) = {+ , ) , $}
SIGUIENTE(T) = {+ , ) , $}
SIGUIENTE(F) = {+ , *, ), $}

Justificacin

La finalidad el proyecto ser la de nivelar las notas de los proyectos anteriores. El valor del mismo ser de 10
puntos netos y sumara a los 20 puntos de proyectos de zona.

Entrega

La entrega ser el da 6 de Junio, se deber subir un archivo comprimido al sitio de la universidad y el mismo
contendr el cdigo fuente del programa as como el ejecutable del mismo. La fecha de entrega es improrrogable.

También podría gustarte