You are on page 1of 15

Universidad de San Carlos de Guatemala

Facultad de Ingeniera
Escuela de Ciencias y Sistemas
Lenguajes Formales de programacin
Ingeniero: Otto Rodrguez
Seccin A+
Tutor: Erick J. Pineda Amzquita

Body Systems
Practica #1

Objetivos
General
Introducir al estudiante a la implementacin de un analizador lxico.
Aplicar los conceptos de compiladores para resolver problemas de
distinta naturaleza.
Especficos
Reconocer la estructura de una cadena de texto por medio de
expresiones regulares.
Utilizar el contenido de una cadena de texto a efecto de realizar
acciones que generen resultados especficos.
Detectar errores lxicos.
Implementar un analizador lxico con funciones bsicas.

ndice

Objetivos .............................................................................................................................. 1
General ................................................................................................................................ 1
Especficos ............................................................................................................................ 1

Necesidad del Cliente .................................................................................................... 3


Descripcin General....................................................................................................... 3
Interfaz de usuario ........................................................................................................ 4
Mens .................................................................................................................................. 4
Archivo....................................................................................................................................................... 4
Anlisis ....................................................................................................................................................... 5
Edicin ....................................................................................................................................................... 5
Ver ............................................................................................................................................................. 5
Ayuda......................................................................................................................................................... 5

Pestaas ............................................................................................................................... 6
A. Digestivo ............................................................................................................................................... 6
S. seo ....................................................................................................................................................... 6
General ...................................................................................................................................................... 6

Funcionamiento ............................................................................................................ 7
Expresiones regulares.................................................................................................... 8
Fechas .................................................................................................................................. 8
Ao ...................................................................................................................................... 9
Referencias........................................................................................................................... 9
Fuentes ................................................................................................................................ 9

Fase de Anlisis Lxico................................................................................................. 10


Errores Lxicos.................................................................................................................... 10
Tabla de smbolos ............................................................................................................... 10

Botn Informacin....................................................................................................... 12

Necesidad del Cliente


El hospital guatemalteco Patojo Contento, es un hospital que atiende
particularmente a nios que se han lesionado por distintas razones. El hospital,
con el afn de captar la atencin de ms clientes ha decidido crear un mini
juego para nios en el cual se puede aprender el funcionamiento y elementos
ms importantes de algunos sistemas o aparatos del cuerpo humano; en su
versin demostrativa ha pensado en interactuar con el Aparato Digestivo y con
el Sistema seo.
El hospital ha aceptado su solicitud de trabajar como desarrollador junior y
para ello le brinda a continuacin la descripcin de los requerimientos con los
cuales debe cumplir la aplicacin.

Descripcin General
Se desea tener un software en el que se pueda interactuar con distintos
sistemas del cuerpo humano. La interaccin se realiza por medio de un rea de
texto en donde se pueden crear anuncios los cuales deben tener contenido
relacionado al sistema que se haya seleccionado y en base a ese contenido
mostrar imgenes si se encuentran palabras clave correspondientes a ese
sistema.

Interfaz de usuario

Mens
Archivo

Abrir
Muestra una ventana donde se puede seleccionar un archivo con
extensin .body, el contenido del archivo debe mostrarse en el rea
de texto.

Guardar
Guarda el contenido del rea de texto en un archivo con extensin
.body.

Limpiar rea
Borra el contenido del rea de texto

Salir
Pregunta al usuario si desea salir, en caso afirmativo se cierra la
aplicacin.

Anlisis

Analizar lexicogrficamente
Inicia el anlisis lexicogrfico del rea de texto que est visible y
genera los resultados esperados (visualizacin de imgenes,
generacin de tabla de errores y tabla de smbolos)

Edicin
Copiar

Pegar

Cortar

Ver

Errores Lxicos
Muestra la tabla de errores lxicos.

Tabla de smbolos
Muestra la tabla de smbolos en funcin del texto analizado
(correspondiente al sistema que est visible)

Ayuda

Manual del usuario


Despliega el manual del usuario en formato PDF.

Manual Tcnico
Despliega el manual Tcnico en formato PDF.

Acerca de
Muestra los datos del estudiante

Pestaas
A. Digestivo

Palabras clave:

BOCA

FARINGE

ESFAGO

ESTMAGO

INTESTINO DELGADO

INTESTINO GRUESO

S. seo
Palabras clave:

PELVIS

CRANEO

MAXILAR

COSTILLA

ESTERNON

FEMUR

COCCIX

General

En esta pestaa se reconocen palabras clave de ambos sistemas.

Funcionamiento
El usuario debe seleccionar una pestaa en la cual desee hacer una publicacin
o anuncio. Los anuncios no tienen una estructura definida por lo que pueden
tener cualquier sintaxis.
El contenido del anuncio es analizado y en funcin de las palabras clave que
aparezcan y del sistema escogido deben ser visualizadas en el rea de
imgenes, de igual forma aceptadas como palabras reservadas y en caso de no
pertenecer al sistema elegido se tomaran como identificadores.
Ejemplo:

De igual forma aplica para el Sistema seo.

Observaciones:
Las palabras clave para los sistemas seleccionados son excluyentes para cada
sistema, es decir:
Si la pestaa A. Digestivo est seleccionada, significa que las palabras clave
del Sistema seo son identificadores; de forma inversa para el Sistema seo.
En caso de estar en la pestaa General, esta reconoce cualquier palabra clave
de ambos sistemas, lo cual ser reflejado en la tabla de smbolos al momento
de escanear el rea de texto.
Dentro del rea de texto, dado que son anuncios informativos, se pueden
contener expresiones regulares (palabras en color rojo).

Expresiones regulares
Fechas
Con el formato:

dd/mm/aaaa

ddmmaaaa

dd-MES-aa
Ejemplos:
o 01/12/2000
o 01121987
o 19-Marzo-87

Ao
Con el formato:

Dddd

Ejemplos:
o 2001
o 1986
Referencias
Con el formato:

[ cualquier texto ]

Ejemplo:
o [ Vase el artculo 12, pgina 18]

Fuentes
Con el formato:

Pginas en internet: www.nombre.K


Donde K puede ser solo:
o .edu
o .com
o .org
o .gt

Libros:
{ Autor ; libro ; edicin ; ao }
Dnde: Edicin y ao son opcionales (pueden no venir)
Ejemplos:
o { Morgan Peterson; Sistemas del cuerpo humano; }
o { Morgan Peterson; Sistemas del cuerpo humano; 2001}

Fase de Anlisis Lxico


Errores Lxicos
La aplicacin debe ir contando las lneas que va ejecutando por lo que si
en algn momento se registra un error lxico el analizador puede
identificar la lnea en la que ocurri.
La aplicacin debe generar un archivo .HTML para el listado de errores
lxicos.
Ejemplo:

No.
Error
1
2
3

Smbolo

No. Lnea

=
@

3
5
1

No.
Columna
6
7
1

Tabla de smbolos
La aplicacin debe generar un archivo .HTML para todas las cadenas
aceptadas por el lenguaje, asimismo, debe mostrar la informacin de la
palabra.

NOTA:
La tabla de smbolos va a variar en funcin del sistema al cual se
est analizando. Las palabras reservadas para un sistema son
identificadores para el otro sistema, salvo el caso que se est en
la pestaa General, en ese caso aplican todas las palabras clave
de ambos sistemas las cuales deben tener asignado un Token
distinto para cada palabra clave.

10

Ejemplo:
En caso se est analizando en la pestaa del Sistema Digestivo:
* En base al archivo de prueba, Ver Anexo
No.
Palabra
1
2
3
.
.
15
16
17
18
19

Token

Tipo

Lexema

5
5
5
.
.
35
5
5
40
50

Id
Id
Id
.
.
Palabra Clave
Id
Id
Palabra Clave
Referencia

.
n
N+1

.
N
N+1

El
Aparato
Digestivo
.
.
Boca
Y
La
Faringe
[vase
articulo 1]
.
2013
19-Marzo-87

Ao
Fecha

No.
No.
Palabra
Lnea Columna Reser.
1
1
No
1
4
No
1
12
No
.
.
.
.
.
.
2
11
Si
2
16
No
2
18
No
2
21
Si
2
29
No
.
N
N+1

.
N
N+1

.
No
No

Notar que:
o Las expresiones regulares y las palabras clave tienen Token
distinto.
o Todos los identificadores tienen el mismo Token (obedecen al
mismo patrn)
o Las palabras clave son reservadas porque se est analizando el
Aparato Digestivo, si se estuviera en el Sistema seo,
entonces no seran reservadas.

11

Botn Informacin
Al presionar este botn muestra una ventana con la informacin del
funcionamiento del sistema que se est visualizando

12

Restricciones:
Lenguaje de programacin: Java
Desarrollo: Individual
Copias: Punteo de 0 puntos y Reporte a la escuela de Ciencias y Sistemas.
Herramientas: No es permitido utilizar herramientas ya hechas (analizadores),
si se tiene duda de una herramienta debe realizarse la consulta al tutor
acadmico.
Ide: Libre
Imgenes a utilizar: Libre, pero debe cumplir con lo establecido.
Otros:
El nmero de lnea y columna comienza desde 1.
El diseo de la interfaz queda a criterio del desarrollador pero debe
cumplir con todo lo establecido.
No es permitido usar StringTokenizer ni funciones similares a Split,
debe se anlisis de caracteres smbolo por smbolo.
Las palabras deben ser reconocidas si estn en mayscula o minscula
(Hola es igual hoLA).
Tildes no se tomarn en cuenta.
El rea de imgenes debe contener por lo menos 6 espacios para
poder visualizarse, queda a criterio del desarrollador si incluye ms.
El archivo de entrada debe tener extensin .body y debe utilizar
filtro.
Se tomar ms en cuenta la funcionalidad de la aplicacin.

13

Requisitos mnimos para tener derecho de calificacin:


Men Archivo totalmente funcional
Creacin de HTML de errores lxicos
El desarrollador debe conocer bien su cdigo por lo que no debe haber
inconveniente al momento de solicitrsele modificar su cdigo.

Entrega: Debe entregarse el cdigo fuente junto con los archivos de prueba e
imgenes, todo grabado en un CD debidamente identificado.

Fecha de entrega:

Jueves 29 de Agosto

14

Anexos:
Ejemplo de un archivo:

Body Systems

15

You might also like