Beruflich Dokumente
Kultur Dokumente
MATEMTICA DISCRETA II
Gramticas LL(1) sin reglas vacas
PROFESOR
INTEGRANTES
2009
Programa
Cdigo
NuevaCadena()
tabla() rastreo()
buscar()
ordenar()
verGramatica()
Determinar()
buscar()
concatenar()
BuscarCadena()
buscar() verGramatica()
eliCima()
Funcin Main()
Es la funcin principal, la cual contiene un men con cinco opciones diferentes. Desde esta funcin se llama a las dems funciones auxiliares que permiten realzar el anlisis sintctico. 1. Ingresar Gramtica LL(1) Esta opcin llama a la funcin NuevaGramatica() 2. Mostrar Gramtica LL(1) Esta opcin llama a la funcin verGramatica(). 3. Mostrar Funcin analizadora Esta opcin llama a la funcin tabla(). 4. Realizar Anlisis sintctico Esta opcin llama a la funcin NuevaCadena(). 5. Salir Esta opcin finaliza la aplicacin.
Cdigo
Funcin NuevaGramatica()
Esta funcin se utiliza para ingresar una nueva gramtica, eliminando cualquier otra gramtica ingresada con anterioridad. La funcin solicitar ingresar el nmero de producciones. As como tambin las producciones, las cuales quedarn almacenadas en los vectores der e izq, que almacenan las partes de la derecha e izquierda de las producciones respectivamente.
Cdigo
Funcin Buscar()
Esta funcin tipo booleana (devuelven true o false) determina si tanto los terminales y los no terminales ingresados ya existen. En el caso que no existan, se les agrega a un vector auxiliar.
Cdigo
Funcin Ordenar()
Esta funcin ordena los vectores que contienen los terminales y no terminales
Cdigo
Funcin Determinar()
Esta funcin se encarga de separar los terminales y no terminales en dos vectores Ter y NoTer.
Cdigo
Funcin BuscarCadena()
Esta funcin de tipo booleana y determina si el Terminal o no Terminal ingresado ya existe o no en el vector correspondiente. En caso no exista devuelve el valor de false (falso) y entonces la funcin determinar lo agrega al vector correspondiente.
Cdigo
Funcin VerGramatica()
Esta funcin muestra el nmero de producciones ingresadas, as como tambin las producciones ingresadas.
Cdigo
Funcin Tabla()
Esta funcin muestra las producciones llamando a la funcin verGramatica(). Luego utilizando la funcin buscar() coloca en una tabla los resultados de las derivaciones entre cada expresin ingresada.
Cdigo
Funcin NuevaCadena()
Esta funcin muestra las producciones y la tabla de la funcin analizadora llamando a las funciones verGramatica() y tabla() respectivamente. Luego se solicita el ingreso de una cadena y se llama a la funcin rastreo().
Cdigo
Funcin Rastreo()
Esta funcin realiza la traza del anlisis sintctico de la cadena ingresada. Para ello llama a la funcin buscar(), mediante la cual se determina aquella produccin que hace que el primer elemento de la pila sea igual al de la cadena de entrada.
Cdigo
Funcin Concatenar()
Cdigo
Funcin EliCima()
Esta funcin se utiliza para eliminar la cima. Luego se repite el proceso hasta que en la cadena de entrada y en la pila quede el smbolo #.
Cdigo
NuevaGramatica() Buscar()
Tabla() NuevaCadena()
Ordenar()
Determinar() BuscarCadena()
Rastreo() Concatenar()
EliCima()
VerGramatica()