Manual Expresiones Regulares
Manual Expresiones Regulares
Manual Expresiones Regulares
REGULARES/ADF
Elaborado por:
Ricardo Sansores A01105644
Enrique Jurez A00224620
Tomas Corts A00354103
ndice Contenido
1. Operacin de la aplicacin--------------------------------------------------------------------3
2. Razn de elaboracin del proyecto--------------------------------------------------------3
3. Descripcin de la aplicacin ----------------------------------------------------------------4
4. Componentes del sistema, colaboracin entre ellos--------------------------------4
5. Instalacin personal----------------------------------------------------------------------------7
6. URLs-----------------------------------------------------------------------------------------------14
7. Generacin de autmata.
(Transformar expresin regular a autmata finito)--------------------------------------15
8. Generacin de expresin regular
(Transformar autmata finito a expresin regular)--------------------------------------20
-2-
1. Operacin de la aplicacin
El sistema se encuentra desarrollado en Java con JSP (Java Server Pages), Sistema JAVA 5.0
SDK.
La herramientas que nos permite obtener el grfico al para la generacin del autmata es una
herramienta llamada graphviz. Es un software libre de visualizacin grfica, la representacin
grfica es un camino para representar la de forma estructurada la informacin de diagramas y
redes. Los grfos generados en este sistema son en formato dot son grafos dirigidos en
jerarqua, estos corren como lineas de programa de comando o con una interface grfica
compatible.
-3-
3.
Nuestro Proyecto se encuentra desarrollado en tecnologa Java, JSP (Java Server Pages),
Graphivz como entorno que nos permite obtener los grafos para la generacin de las imgenes
transformadas de formato dot a formato PNG. Esto a lo concierne a la transformacin de
expresin regular-autmata Finito.
En lo se refiere a la transformacin de un autmata finito convertido a expresin regular por
medio del Conversor de expresiones regulares infix a posfix y el Objeto Autmata Finito No
determinista lo que nos permite tener como resultado la expresin regular.
Las imgenes son almacenadas en la carpeta res al igual que el formato dot generado por
graphviz.
La aplicacin es una aplicacin WEB escrita HTML, JSP y JQUERY para ingresar los datos
requeridos al momento de la generacin del automata.
El servidor utilizado es Glassfish V2 se utilizo dicho Server puesto que la versin 3 aun cuenta
con res de oportunidad y se utilizo JDK 5 ya que el JDK 7 al igual que el Server tiene ventanas
de oportunidad para que mantenga una ejecucin sin fallas.
3.
Dot Helper
Una vez que se tiene el autmata almacenado en memoria principal en forma de grafo
se enva al objeto DotHelper que es una utilera que creamos que toma un objeto
-4-
ConverterMB
Es un controlador que realiza principalmente 3 tareas. Su primera tarea es recibir los
autmatas y expresiones regulares generadas por el usuario en el browser y
comunicrselos al resto de los componentes de la aplicacin. Su segunda tarea es
tomar los autmatas y expresiones resultantes enviarlas al browser el usuario.
Finalmente es el intermediario entre el componente DotHelper y el browser ya que toma
los archivos "DOT" generados por el componente "DotHelper" y los enva a Graphviz
para generar imgenes PNG que son presentadas en el browser del cliente.
5.
Vista
Es una pgina WEB escrita en HTML, JSP y JQUERY que le brinda al usuario
componentes para capturar expresiones regulares, autmatas finitos y ver los
resultados de sus peticiones.
Las imgenes de los autmatas son almacenadas en la carpeta res al igual que los archivos
dot como lo seala el componente dot helper se almacena en memoria principal el grafo y lo
transforma en formato dot como de la siguiente manera:
digraph finite_state_machine {
rankdir=LR;
size="42,42"
EMPTY [style=invis]
EMPTY [shape=point]
doublecircle]; Q6;
node [shape = circle];
EMPTY -> Q0 [ label = "" ];
Q0 -> Q2 [ label = "b" ];
Q0 -> Q3 [ label = "a" ];
Q0 -> Q1 [ label = "?" ];
Q1 -> Q0 [ label = "?" ];
Q1 -> Q4 [ label = "?" ];
Q2 -> Q1 [ label = "?" ];
Q3 -> Q1 [ label = "?" ];
Q4 -> Q4 [ label = "a" ];
Q4 -> Q5 [ label = "?" ];
Q5 -> Q7 [ label = "b" ];
Q5 -> Q8 [ label = "a" ];
Q7 -> Q6 [ label = "?" ];
Q8 -> Q6 [ label = "?" ];
}
node [shape =
-5-
Enseguida el formato dot es tomado por el componente converter MB desde el dot helper enva
al graphiz y generando la imagen en formato PNG y esta es enviada al browser del cliente
.
La imagen PNG es llevada al browser del cliente.
-6-
5. instalacin Personal
Instalacin de Glassfish
Antes de instalar el servidor GlassFish, hay que tener en el ordenador correctamente
instalado el JDK.
1.- Ve a http://java.sun.com/javase/downloads/index_jdk5.jsp
2.- Selecciona JDK 5.0 Update 16 download.
3.- Decide cual Platform (Windows) y marca el checkbox de los trminos de uso.
4.- Selecciona jdk-1_5_0_16-windows-i586-p-iftw.exe para instalar el software.
5.- Instala el JDK.
Por defecto se instala en (aunque se puede instalar donde se desee):
C:\\Archivos de programa\\java\\jdk1.5.0_16
El prximo paso, crear la variable JAVA_HOME.
-7-
La forma es la siguiente:
1.- Abrir el Panel de control
2.- Seleccione Ver Vista clsica
3.- Seleccione icono Sistema
4.- En el panel de Sistema de Propiedades, seleccione Configuracin Avanzada del sistema
5.- Despus en la pestaa Opciones Avanzadas seleccionar Variables de Entorno.
-8-
los
binarios
del
JDK. Ejemplo:
C:\\Archivos
de
-9-
- 10 -
4.- Siguiente, aparece un panel de licencia. Desplaza el Scholl hasta el fin del panel y Acepta
los trminos.
5.- El instalador se habre e instala el software en un directorio llamado "glassfish". lo instala en
C:/glassfish
- Teclee cd glassfish
6.- En el directorio glassfish ingrese lib/ant/bin/ant -f setup.xml. Esto sirve para correr la
instalacin.
Iniciar el servidor a partir del dominio. Un dominio proporciona la autentificacin y la
administracin para el servidor. A partir del dominio se inicia la instancia del servidor en el
dominio. Cuando se instala el servidor GlassFish se crea un dominio predeterminado llamado
domain1.
1.- Ingrese C:\\glassfish\\bin> asadmin start-domain domain1
- 11 -
Nota: Cuando el servidor se ha iniciado, aparece este mensaje: domain1 dominio est listo para
recibir solicitudes de clientes.
- 12 -
Instalacin Graphviz
Para instalar graphviz, basta con poner como root en un terminal y aceptar.
Instalacin Graphviz
1.
- 13 -
6. URLs
URL Principal
http://www.sicom.mx:8100/RegularExpressions_ADF
URL BACKUP
http://216.154.208.156:8100/RegularExpressions_ADF/faces/welcomeJSF.jsp
SVN Googlecode
http://code.google.com/p/regular-expressios-to-adf/
- 14 -
- 15 -
Proporcione los estados que usar su autmata finito. Debe separar cada estado el autmata
con comas y solo acepta estados de un solo caracter ya que no aceptar estados de dos o ms
caracteres como ejemplo q2 , xy entre otros.
As luce los espacios una vez ingresados los datos necesarios para la generacin de nuestra
tabla.
Una vez teniendo los datos como en la imagen anterior de manera correcta, presionamosclick
sobre el botn crear tabla,
Se generar en la parte de abajo donde tenamos como resultado el conjunto vaco, puesto que
no haba ningn dato previo ese es el resultado que desplegaba, se desplegar una tabla como
se muestra en la imagen para comenzar a ingresar en los campos las transiciones de un
estado a otro.
- 16 -
Inserte en cada celda el estado al que se realizar la transicin al recibir el caracter marcado en
la columna correspondiente.
Puede cambiar el estado utilizando los botones de arriba y abajo representados como el objeto
de flechas azules donde donde est la leyenda cambiar estado inicial notaremos que
cambiamos de estado inicial ya que el objeto de estrella se trasladar hacia el lugar siguiente.
- 17 -
Puede indicar si un estado es de aceptacin presionando sobre la etiqueta del estado en esta
caso presionamos el estado 3 como estado de aceptacin, como prueba de que hemos hecho
esta operacin de manera correcta se desplegar una palomita
estado de aceptacin marcado,
- 18 -
Con esto concluimos la primera parte de nuestro programa transformacin de expresin regular
a autmata finito.
Para cambiar de pantalla o continuar con nuestro siguiente paso es de transformar autmata
finito a expresin regular presionamos el botn siguiente
- 19 -
Es muy similar a la pantalla inicial pero en esta solo proporcionaremos una expresin regular
en el campo donde nos lo requiere.
- 20 -
- 21 -