PDF de programación - SP-PS1 : generación de código java para un análisis léxico

Imágen de pdf SP-PS1 : generación de código java para un análisis léxico

SP-PS1 : generación de código java para un análisis léxicográfica de visualizaciones

Publicado el 30 de Mayo del 2020
96 visualizaciones desde el 30 de Mayo del 2020
4,0 MB
29 paginas
Creado hace 10a (13/07/2009)
Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 1 de 29

SP-PS1 : generación de código java para un análisis léxico



SP-PS1 : generación de código java para un análisis léxico



FRANCISCO RÍOS ACOSTA
Instituto Tecnológico de la Laguna

Blvd. Revolución y calzada Cuauhtémoc s/n

Colonia centro

Torreón, Coah; México

Contacto : friosam@prodigy.net.mx



Resúmen. Se presenta la nueva característica añadida al software SP-PS1 que consiste de la generación de
código java para efectuar un análisis léxico. El ambiente IDE utilizado para generar la aplicación java que
efectúe el análisis léxico de un texto de entrada, es el NetBeans 6.7. El software SP-PS1 genera 2 clases :
Lexico y Automata. La clase Automata está anidad en la clase Lexico. Antes de poder generar el código de
las clases antes mencionadas, es necesario editar las expresiones regulares para cada token que se requiera
reconocer mediante el análisis léxico. Luego, debemos aplicar las reglas de Thompson para obtener el AFND
que reconozca a cada token. Enseguida aplicamos el algoritmo de construcción de subgrupos para efectuar la
conversión del AFND de Thompson a un AFD. Este AFD producido en la etapa de construcción de
subgrupos, sirve de entrada para el algoritmo de particiones que se encarga de generar el AFD óptimo o
reducido, al cual le aplicamos una traducción para almacenar su alfabeto, sus estados de inicio, finales –
aceptación- y de transición, además de la función move() –tabla de transición- de dicho AFD óptimo. El
conjunto de AFD’s óptimos que reconocen a los tokens para el cual es diseñado el analizador léxico, es
ensamblado teniendo en cuenta el orden de cada AFD, es decir, con que AFD inicia el objeto analizador
léxico el reconocimiento del texto de entrada, si falla dicho AFD con qué otro AFD sigue tratando de
reconocer el analizador léxico al texto en su entrada, y así sucesivamente hasta reconocer o presentar en su
caso un error de análisis léxico. Después de ensamblar en orden cada AFD, la configuración del Retraer() se
hace para cada AFD cuyo estado de aceptación requiera de leer un carácter que no forma parte del lexema del
token reconocido. La etapa siguiente es simular el analizador léxico dentro de SP-PS1 para depurar errores en
las expresiones regulares que producen a los AFD’s o bien, para saber si todo está bien hecho. Una vez hecha
la simulación, podemos generar el código en java (otros códigos soportados son el C++, ObjectPascal, C#).



Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 2 de 29
I N D I C E.

SP-PS1 : generación de código java para un análisis léxico


1. Introducción
2. Descarga del IDE NetBeans 6.7
3. Descarga del generador de código SP-PS1.
4. Tokens a reconocer por el analizador léxico.
5. Generación del código java para el analizador léxico usando el SP-PS1.
6. Clase Lexico y clase Automata.
7. Construcción de la aplicación java que efectúa el análisis léxico.



3
3
7
7
8
15
19



Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 3 de 29
1

Introducción.

SP-PS1 : generación de código java para un análisis léxico

Dentro de este trabajo se construye una aplicación java usando el ambiente Netbeans 6.7, que efectúe un análisis léxico
sobre una entrada ingresada en un componente de texto. Un objeto denominado oAnaLex perteneciente a una clase
Lexico, será el encargado de realizar la tarea de analizar lexicamente al texto de entrada. La clase Lexico es generada
usando el software SP-PS1, el cual genera también a la clase Automata que está anidada dentro de la clase Lexico.
La fig.1.1 contiene la interface gráfica de la aplicación java que se desea implementar. Se observa un componente
JTextArea que recibe el ingreso del texto a analizar. Mediante el componente JButton es disparada la tarea del análisis
léxico del texto ingresado en el componente JTextArea. El resultado del análisis léxico es un conjunto de parejas token-
lexema que es visualizado en el componente JTable.



Fig. No. 1.1 Aplicación java para efectuar un análisis léxico.


Los pasos a seguir para lograr construir la aplicación java son :

1. Descargar el IDE NetBeans 6.7 –si no se tiene en la computadora de trabajo-.
2. Descargar el generador de código para el análisis léxico, SP-PS1.
3. Tokens a reconocer por el analizador léxico.
4. Generación del código java para el analizador léxico usando SP-PS1.
5. Clase Lexico y clase Automata.
6. Construcción de la aplicación java que efectúa el análisis léxico.

El código generado en java por el software SP-PS1 puede ser mejorado, adaptado, según los requerimientos del usuario del
programa. La intención de agregar esta nueva característica al SP-PS1, es introducir –tal vez motivar- a mis alumnos del
Instituto Tecnológico de la Laguna en el uso del lenguaje de programación java, teniendo como escenario la materia de
Programación de Sistemas. Actualmente el lenguaje de programación que se utiliza para el desarrollo de aplicaciones es el
C#.
De antemano agradezco a todos mis alumnos del ITL tanto actuales como egresados, su comprensión durante el transcurso
de las horas de clase que toman –tomaron- con un servidor, además de su gran ayuda que recibo en cada retroalimentación
que tienen la confianza de comunicarme.

2 Descarga del IDE NetBeans 6.7.

El IDE NetBeans es uno de varios IDE’s disponibles para el desarrollo de programas cuyo lenguaje de programación es el
java. Este ambiente es open-source además de que es gratis, y se obtiene del sitio : www.netbeans.org, fig. 2.1.

Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 4 de 29

SP-PS1 : generación de código java para un análisis léxico



Luego se debe hacer click en el botón Download NetBeans IDE, de manera que se muestra otra página indicando los
paquetes que se pueden descargar, fig. 2.2.


Fig. No. 2.1 Sitio www.netbeans.org.



Fig. No. 2.2 Paquetes disponibles en www.netbeans.org.



SP-PS1 : generación de código java para un análisis léxico

Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 5 de 29
Una vez que se selecciona el idioma, la plataforma, y se ha ingresado el correo electrónico, se debe navegar hacia abajo de
la página mostrada en la fig. 2.2 hasta tener a la vista el enlace con leyenda JDK junto con el NetBeans IDE en un solo
paquete. La fig. 2.3 muestra esta liga que permite descargar el JDK de java junto al IDE NetBeans.



Fig. No. 2.3 Liga para descarga del JDK y el NetBeans IDE.


Cuando se hace click sobre este enlace se tiene la siguiente página como respuesta, fig. 2.4, donde ya es posible descargar el
archivo que permitirá instalar el JDK junto al Netbeans IDE.



Fig. No. 2.4 Descarga del Java SE kit de desarrollo.



SP-PS1 : generación de código java para un análisis léxico

Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 6 de 29
Enseguida se hace click sobre el botón Download para recibir la respuesta mostrada en la fig. 2.5. En esta ventana se
selecciona la plataforma, y se establece si se está de acuerdo con la licencia del software a descargar.



Fig. No. 2.5 Selección de la plataforma y acuerdo con la licencia.


La acción que procede es realizar el click sobre el botón Continue >>, recibiendo la respuesta de la ventana para la
selección de archivos requeridos donde se debe seleccionar el checkbox según se muestra en la fig. 2.6. Ya que se
selecciona el checkbox se efectúa el click sobre la liga jdk-6u14-nb-6_7-windows-ml.exe.



Fig. No. 2.6 Selección de archivos requeridos.



Ing. Francisco Ríos Acosta Instituto Tecnológico de la Laguna, julio del 2009. pag. 7 de 29
3 Descarga del generador de código SP-PS1.

SP-PS1 : generación de código java para un análisis léxico

Sigue los pasos que a continuación se enumeran :

1. Entra al sitio www.friosa.com.mx.
2. Haz click en la liga Página del Ing. Francisco Ríos Acosta
3. Continua con la liga Mi trabajo académico en el ITL
4. Una vez que se carga la información de las materias, haz click en la liga descargas.
5. Haz click en la descarga 1 SP-PS1.zip y haz click en el botón DESCARGAR

Cualquier duda es posible contestarla en la dirección de correo : friosam@prodigy.net.mx. Además, al momento de
comunicarse con un servidor, se les enviará un documento donde se especifican las restricciones del SP-PS1.

4 Tokens a reconocer por el analizador léxico.

Tomando como referencia al famoso libro “del dragón” cuyos autores son los Sres. Aho, Sethi y Ulman, el diseño de un
analizador léxico inicia definiendo los tokens a reconocer para entonces seguir con los pasos :

• Escribir la definición regular que denote al lenguaje generado por cada token a reconocer.
• Aplicar las reglas de Thompson a cada definición regular, con el fin de generar al AFND que reconozca las cadenas del

lenguaje denotado por la expresión regular –para cada token a reconocer-.

• El AFND producido por las reglas de Thompson sirve como entrada para el algoritmo de construcción de subgrupos, el

cual genera el AFD equivalente al AFND –de Tho
  • Links de descarga
http://lwp-l.com/pdf17683

Comentarios de: SP-PS1 : generación de código java para un análisis léxico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad