Está en la página 1de 11

UNIVERSIDAD SAN CARLOS DE GUATEMALA

FACULTAD DE INGENIERÍA
Organización Lenguajes y Compiladores 1
Escuela de Ciencias y Sistemas
Segundo Semestre 2018
Ing. Mario Bautista, Manuel Castillo, César Batz
Tutores Académicos
Luis Paz, José Soc, Jorge Castañeda

PRÁCTICA 1: XML REPORT ESTUDENT


Contenido
PRÁCTICA 1: XML Report estudent .............................................................................................................................. 1
OBJETIVOS ................................................................................................................................................................... 2
Objetivo General......................................................................................................................................................... 2
Objetivo Específico ..................................................................................................................................................... 2
DESCRIPCIÓN DE LA PRÁCTICA ................................................................................................................................ 2
INTERFAZ DE XRE ....................................................................................................................................................... 3
Descripción de la interfaz ........................................................................................................................................... 3
Esquema de la Solución ............................................................................................................................................. 4
DESCRIPCIÓN DEL ARCHIVO XML ............................................................................................................................. 5
1. Encabezado ........................................................................................................................................ 5
2. Cuerpo ................................................................................................................................................ 5
3. Ponderación ........................................................................................................................................ 7
4. Tipo de reporte .................................................................................................................................... 7
5. Estilo ................................................................................................................................................... 8
REPORTES ................................................................................................................................................................. 10
CONSIDERACIONES .................................................................................................................................................. 11
1. Herramientas a utilizar: ..................................................................................................................... 11
2. Restricciones .................................................................................................................................... 11
3. Entregables ....................................................................................................................................... 11
4. Fecha de Entrega.............................................................................................................................. 11

1
OBJETIVOS

Objetivo General
 Que el estudiante aprenda y comprenda el uso y manejo de la herramientas orientadas a
generar analizadores léxicos y sintácticos.

Objetivo Específico:
 Que el estudiante genere e reportes a partir de un archivo de entrada XML.
 Que el estudiante comprenda el funcionamiento básico de las dos primeras fases de
análisis de un compilador.
 Que el estudiante resuelva problemas a través de herramientas generadoras de scanners
y parsers.
 Que el estudiante puede obtener información y transformarla por medio de la fase de
análisis léxico y sintáctico de un compilador.
 Que el estudiante consolide el conocimiento de la fase de análisis léxico y sintáctico y los
diversos componentes que estas implican.

DESCRIPCIÓN DE LA PRÁCTICA
La escuela de Ciencias y Sistemas de la facultad de ingeniería, solicita a los estudiantes del
curso de lenguajes y compiladores 1, elaborar una herramienta capaz de procesar texto
contenido en un archivo en formato XML para generar reportes de los estudiantes de un
determinado curso de la carrera de dicha escuela.

Durante los distintos semestres se llevan a cabo el control de las notas de los estudiantes
asignados en los cursos de la carrera, por lo que para facilitar el mantenimiento del sistema DTT,
esta información es almacenada en modo de respaldo en archivos XML, por lo que cuando el
sistema falla, se requiere que se puedan utilizar los archivos de respaldo XML y a partir de estos
generar los reportes correspondientes del control de las nota y aprobación o reprobación del
curso.

XRE(Xml Report Estudent) es una herramienta orientada a la generación de reportes de


estudiantes. Esta herramienta permite y facilita la transformación de los datos contenidos en un
archivo en el archivo xml, por lo que tiene como entrada dicho archivo y a través del proceso de
análisis se encarga de obtener los datos contenidos en el archivo, procesarlos y realizar los
reportes correspondientes (Archivos PDF) para que la administración del sistema pueda
publicarlos en el sitio web.

2
INTERFAZ DE XRE
Descripción de la interfaz:
La interfaz gráfica solicitada a los estudiantes se presenta a continuación:

Imagen No. 1: Interfaz gráfica sugerida

Los botones (o menú) de la aplicación deberán contar con las siguientes funcionalidades:

1. Archivo: Creará una nueva pestaña en blanco en el editor.


1.1 Abrir: Abrirá un cuadro de diálogo para seleccionar un archivo con extensión XML
y mostrará su contenido en una nueva pestaña.
1.2 Cerrar pestaña: Esta opción eliminará la pestaña de la interfaz gráfica.

2. Analizar: Analizara el contenido de la pestaña actual.

3. Archivos Cargados: En esta área se visualizaran los distintos archivos que han sido
cargados a la aplicación, de forma que cada archivo está contenido en una pestaña
diferente.

4. Reportes Creados: En esta área se visualizaran los reportes creados a partir de los
archivos que se hayan analizado. Los cuales podrán ser abiertos haciendo doble click
sobre los mismos.

3
5. Consola de errores: En este panel se podrán encontrar los errores encontrados en
la fase de análisis léxico y sintáctico, por lo que se debe visualizar el número de fila y
columna donde se encontró el error, el tipo de error, el lexema que lo causo y su
descripción.

Esquema de la Solución:

Imagen No. 2: Esquema de Funcionamiento.

1. Se tendrá un archivo de entrada con Formato XML el cual será cargado a la aplicación
XRE.
2. El analizador de XRE procederá a compilar el archivo y a realizar el procesamiento de
datos.
3. Si existen errores deben ser mostrados en la consola de errores con las características
correspondientes.
4. Si no existe ningún error se procede a generar el reporte indicado en formato PDF y
también se actualiza el área de reportes creados.

4
DESCRIPCIÓN DEL ARCHIVO XML
1. Encabezado:
En el encabezado del archivo XML estarán contenido los datos de información general del curso,
los cuales serán ubicados en el reporte final luego del análisis de los archivos, este tendrá la
siguiente sintaxis.
<Encabezado

POSICION : DATO = “VALOR”


POSICION : DATO = VALOR
POSICION : DATO_N = “VALOR_N”

/>
!!Ejemplo de un encabezado
<Encabezado
Superior-Izq:Escuela = "Ciencias y Sistemas" Superior-
Der: Curso = "Lenguajes y Compiladores 1" Centro-Izq:
Docente = "Ing Mario Bautista"
Centro-Der: Sección = "A"
Inferior-Izq: Semestre= "Primer Semestre"
Inferior-Der: Año = 2018
/>

2. Cuerpo:
En el cuerpo del archivo estará contenida la información de los estudiantes con las respectivas
notas de las actividades realizadas a lo largo del curso y sobre las cuales se harán los cálculos
para elaborar los reportes y obtener la ponderación final de los estudiantes, esta estará
estructurada de la siguiente forma:

NOTA: El número de actividades puede variar según el curso correspondiente, por lo que en un
curso pueden haber asignadas 2 tareas, en otro 3, en la sintaxis indicada en el archivo, será la
distinción poniendo un guion bajo y el número correlativo, de igual forma se identificaran el resto
de actividades.

 Tarea_n : Identificara una tarea del curso.


 HT_n : Identificara un hoja de trabajo del curso.
 EC_n: identificará un examen corto del curso.
 PRA_n: intensificará una práctica del curso.
 PRO_n : identificará un proyecto del curso.

5
 EF: Identificará el examen final del curso.

<Cuerpo>

<Estudiante

Dato = “Valor”, Dato = Valor, Dato_n = “Valor_n”


/>

</ Cuerpo >


!!Ejemplo de cuerpo
<Cuerpo>
<Estudiante
Carnet = 200001010, Nombres = “Juan Daniel”
Apellidos = “Aguilar Torres”
Tarea_1 = 50, Tarea_2 = 75, Tarea_N = 20, HT_1 = 75,
HT_2 = 100, HT_N = 95, EC_1 = 100, EC_2 = 95, PRA_1 = 50,
PRA_2 = 75, PRO_1 = 50, PRO_2 = 75, FINAL = 75
/>

<Estudiante
Carnet = 199525250, Nombres = “Miguel Ángel”
Apellidos = “López Hernández ”
Tarea_1 = 50, Tarea_2 = 75, Tarea_N = 20, HT_1 = 75,
HT_2 = 100, HT_N = 95, EC_1 = 100, EC_2 = 95, PRA_1 = 50,
PRA_2 = 75, PRO_1 = 50, PRO_2 = 75, FINAL = 75
/>

<Estudiante
Carnet = 200525257, Nombres = “Daniela Fernanda”
Apellidos = “Gonzales Castillo”
Tarea_1 = 50, Tarea_2 = 75, Tarea_N = 20, HT_1 = 75,
HT_2 = 100, HT_N = 95, EC_1 = 100, EC_2 = 95, PRA_1 = 50,
PRA_2 = 75, PRO_1 = 50, PRO_2 = 75, EF = 75
/>

</Cuerpo>

6
3. Ponderación:
En esta sección de archivo se definirá la distribución de la ponderación total del curso la cual
será de 100 puntos, esta estará dividida en las distintas actividades asignadas en el curso.

La sintaxis de la ponderación será la siguiente:

<Ponderacion>

< IDENTIFICADOR Valor = PORCENTAJE />


< IDENTIFICADOR Valor = PORCENTAJE />

</ Ponderacion >


!!Ejemplo de ponderación
<Ponderacion>
<Tareas Valor = 5 />
<Hojas_de_trabajo Valor = 5 />
<Examenes_cortos Valor = 5 />
<Practicas = 10 />
<Proyectos = 70 />
<Examen_Final = 5 />
</Ponderacion>

NOTA: El cálculo del total parcial de las actividades se realizara de la siguiente forma.

Total Tareas = (Valor total de las tareas / Numero de tareas asignadas*100)*(Nota de Tarea_1
+ Nota de Tarea_2 + Nota de Tarea_n)

De igual forma se realizará el cálculo para el resto de actividades y para la nota final, sería la
suma de los totales resultantes.

4. Tipo de reporte:
En esta sección se definirán cuáles son los reportes a realizar con el archivo de entra, estos se
referenciaran de forma abreviada, correspondiendo al tipo de reporte respectivo que se
especifica en la sección de reportes.

 RA = Reporte de aprobados.
 RR = Reporte de reprobados.
 RP = Reporte de publicación.
 RE = Reporte de Excelencia.

7
<Reportes >

Tipo = Valor
Tipo = Valor

</ Reportes >


!!Ejemplo de Reportes
<Reportes>
RA = true
RR =
False RE =
false RP =
True
</Reportes>

5. Estilo:
En esta sección se definirá el estilo de los reportes, el cual se aplicara a todos los reportes
resultantes, según lo indicado en la sección de reportes.

La sección de encabezado tendrá 3 estilos los cuales se describen a continuación.

 Color-T: Este es el color de los títulos, por ejemplo carnet es el título y el número de
carnet es el valor de este, por lo que el color únicamente se le aplicaría a la palabra carnet.
 Color-V: Este es color del el valor que corresponde a su título en este caso el número de
carnet es al que se le aplicaría el color indicado por este atributo.
 Logo: Este atributo puede o no venir, en caso de que venga este atributo se debe añadir
la imagen indicada por la ruta al encabezado del reporte, esta ira en la posición fija que
es la parte derecha del encabezado.

La sección de cuerpo tendrá 4 atributos los cuales se describen a continuación:

 Color-C: Este atributo: Cambiara el color del carnet de los estudiantes que aparezcan en
el reporte.
 Color-NA: Este atributo pude tener un valor de true o false, si es true, colocara de color
verde todas las notas aprobadas (punteo mayor a 61) que aparezcan en el reporte
correspondiente.
 Color-NR: Este atributo pude tener un valor de true o false, si es true, colocara de color
rojo todas las notas reprobadas (punteo menor a 61) que aparezcan en el reporte
correspondiente.

8
 Bordes: Este atributo puede tener un valor true o false, si es true el reporte
correspondiente tendrá bordes en la parte del cuerpo ( separación de los datos de
alumnos) de lo contario el reporte no tendrá bordes.

<Estilo >

<Encabezado
Atributo = Valor, Atributo = Valor …

/>

<Cuerpo
Atributo = Valor , Atributo = Valor …

/>

</ Estilo >


!!Ejemplo de Estilo
<Estilo>
<Encabezado
Color-T = “Negro”, Color-V =”Anaranjado”, Logo = “ruta logo”
/>
<Cuerpo
Color-N = “Azul”, Color-NA = True , Color-NR = False, Bordes = true
/>
</Estilo>

NOTA: No existe un orden de aparición de los atributos antes mencionados, por lo tanto
podrían estar en cualquier orden en el archivo XML.

9
REPORTES
 Reporte de Aprobados: En este reporte se colocaran los datos de todos los estudiantes
que aprobaron el curso, en este reporte únicamente se deben mostrar las columnas con
los totales de las distintas actividades y la nota final de los estudiantes aprobados.

Carnet Nombres Apellidos Tareas HT EC Practicas Proyectos EF Nota Final

 Reporte de Reprobados: En este reporte se colocaran los datos de todos los estudiantes
que reprobaron el curso, en este reporte únicamente se deben mostrar las columnas con
los totales de las distintas actividades y la nota final de los estudiantes aprobados.

Carnet Nombres Apellidos Tareas HT EC Practicas Proyectos EF Nota Final

 Reporte de publicación: En este reporte se colocaran a todos los estudiantes,


aprobados y reprobados, haciendo la distinción que en este reporte no se colocaran los
nombres y apellidos, únicamente el número de carnet, y todas las notas de las
actividades así como los totales de estas. Quedando de la siguiente forma

Carnet Tarea 1 Tarea 2 Total Tareas HT 1 HT 2 Total HT … EF Nota Final

 Reporte de Excelencia: En este reporte los estudiantes deben colocar a los 10 mejores
alumnos del curso, con las notas más altas de aprobación ordenándolos de manera
descendente con respecto a la nota final obtenida.

Carnet Nombres Apellidos Tareas HT EC Practicas Proyectos EF Nota Final

10
CONSIDERACIONES
1. Herramientas a utilizar:
Para el desarrollo de esta práctica se utilizarán las siguientes herramientas.

 El lenguaje a utilizar es java.


 El IDE a utilizar queda a discreción del estudiante.
 Para la generación de los reportes PDF la librería a utilizar queda a discreción del
estudiante.
 Para todo lo que concierne a análisis léxico y/o sintáctico se debe utilizar el kit de
herramientas Jflex y Cup.

2. Restricciones:
Para el correcto desarrollo de esta práctica deben respetarse los siguientes lineamientos

 El análisis del archivo XML no es Case-Sensitive


 Solamente se podrá utilizar el kit de herramientas Jflex y cup para el análisis del XML
 Copias parciales o totales de proyectos tendrán una nota de 0 puntos y los estudiantes
serán reportados a escuela de ciencias y sistemas.
 NO habrá prórroga de ningún tipo.
 La calificación se realizará a partir de los entregables enviados por el estudiante.

3. Entregables:
Los entregables para esta práctica son:

 Aplicación funcional
 Código fuente
 Gramáticas utilizadas en un archivo PDF que sea entendible.

4. Fecha de Entrega:
Entrega el 16 de Agosto de 2018 antes de las 11:59 PM

11

También podría gustarte