Вы находитесь на странице: 1из 8

UNIVERSIDAD NACIONAL DE SAN

ANTONIO ABAD DEL CUSCO


CARRERA PROFESIONAL DE INGENIERIA
INFORMATICA Y DE SISTEMAS
ANALIZADOR LEXICO
CURSO : Construccin de Compiladores.
DOCENTE : Ing. Lino Flores.
ALUMNOS : Carreo P. Irwing Dario Cdigo: 070684
Gamarra Salas Jisbaj Cdigo: 080738
SEMESTRE: 2008 - II
Cusco Per
2011
UNIVERSIDAD NACIONAL DE SAN
ANTONIO ABAD DEL CUSCO
CARRERA PROFESIONAL DE INGENIERIA
INFORMATICA Y DE SISTEMAS
ANALIZADOR LEXICO
CURSO : Construccin de Compiladores.
DOCENTE : Ing. Lino Flores.
ALUMNOS : Carreo P. Irwing Dario Cdigo: 070684
Gamarra Salas Jisbaj Cdigo: 080738
SEMESTRE: 2008 - II
Cusco Per
2011
UNIVERSIDAD NACIONAL DE SAN
ANTONIO ABAD DEL CUSCO
CARRERA PROFESIONAL DE INGENIERIA
INFORMATICA Y DE SISTEMAS
ANALIZADOR LEXICO
CURSO : Construccin de Compiladores.
DOCENTE : Ing. Lino Flores.
ALUMNOS : Carreo P. Irwing Dario Cdigo: 070684
Gamarra Salas Jisbaj Cdigo: 080738
SEMESTRE: 2008 - II
Cusco Per
2011
Construccin de Compiladores |
Ing. Informtica y de Sistemas
2
INTRODUCCIN
Entre las fases del proceso de compilacin, que son ejecutadas a travs de distintas
etapas, estn la de anlisis y sntesis; fases que son ejecutadas de forma secuencial.
Para poder cumplir con la fase de anlisis el compilador realiza una serie de acciones
diferentes, agrupadas en etapas secuenciales dependientes principalmente del
lenguaje fuente, estn la de anlisis lxico, sintctico y semntico, ejecutadas en ese
orden. La etapa de anlisis lxico es realizado por un analizador lxico (tambin
llamado scanner), quien agrupa los caracteres individuales en entidades lgicas, que
posteriormente sern empleadas por las etapas siguientes de la fase de anlisis.
Este documento constituye un instrumento orientador, que puede calificarse como
pautas para la realizacin de un analizador lxico a partir de la herramienta JFLEX, la
cual genera automticamente analizadores lxicos partiendo de una especificacin
basada en expresiones regulares. Pautas que resaltan lo siguiente:
1. Reconocer las subcadenas que corresponde a tokens.
2. Regresar el valor o lexema de un token, es decir el par token-lexema.
Construccin de Compiladores |
Ing. Informtica y de Sistemas
3
I. GENERALIDADES
A. OBJETIVOS
1. GENERAL
a) Realizacin de un analizador lxico a partir de la herramienta JFLEX.
2. ESPECIFICOS
a) Reconocer las subcadenas que corresponden a tokens.
b) Regresar el valor o lexema de un token.
Construccin de Compiladores |
Ing. Informtica y de Sistemas
4
II. MARCO TEORICO
A. HTML
Siglas de HyperText Markup Language (Lenguaje de Marcado de Hipertexto),
es el lenguaje de marcado predominante para la elaboracin de pginas web.
Es usado para describir la estructura y el contenido en forma de texto, as
como para complementar el texto con objetos tales como imgenes. HTML se
escribe en forma de etiquetas, rodeadas por corchetes angulares (<,>).
HTML tambin puede describir, hasta un cierto punto, la apariencia de un
documento, y puede incluir un script (por ejemplo Javascript), el cual puede
afectar el comportamiento de navegadores web y otros procesadores de
HTML.
1. ELEMENTOS
Los elementos son la estructura bsica de HTML. Los elementos tienen
dos propiedades bsicas: atributos y contenido. Cada atributo y contenido
tiene ciertas restricciones para que se considere vlido al documento
HTML. Un elemento generalmente tiene una etiqueta de inicio y una
etiqueta de cierre. Los atributos del elemento estn contenidos en la
etiqueta de inicio y el contenido est ubicado entre las dos etiquetas.
Algunos elementos, tales como <br>, no tienen contenido ni llevan una
etiqueta de cierre.
2. ATRIBUTOS
La mayora de los atributos de un elemento son pares nombre-valor,
separados por un signo de igual = y escritos en la etiqueta de comienzo
de un elemento, despus del nombre de ste. El valor puede estar
rodeado por comillas dobles o simples, aunque ciertos tipos de valores
pueden estar sin comillas en HTML (pero no en XHTML). De todas
maneras, dejar los valores sin comillas es considerado poco seguro. En
contraste con los pares nombre-elemento, hay algunos atributos que
afectan al elemento simplemente por su presencia (tal como el atributo
ismap para el elemento img).
B. ANALIZADOR LEXICO
1. CONCEPTO
El anlisis lxico constituye la primera fase del Proceso de Compilacin,
en esta fase se lee el programa fuente de izquierda a derecha y se
agrupa en componentes lxicos o tokens, que son secuencias de
caracteres que tienen un significado. Adems, todos los espacios en
blanco, lneas en blanco, comentarios y dems informacin innecesaria
se elimina del programa fuente. Tambin se comprueba que los
Construccin de Compiladores |
Ing. Informtica y de Sistemas
5
smbolos del lenguaje (palabras clave, operadores,...) se han escrito
correctamente.
Para el caso de nuestro Trabajo, utilizamos el JFLEX que es un
analizador lxico prediseado para la utilizacin con el lenguaje Java. Su
especificacin se realiz a continuacin.
2. JFLEX
Es una herramienta que genera Analizadores Lxicos mediante el
lenguaje de programacin JAVA, es capaz de generar analizadores
lxicos, es decir, construye, de forma rpida y sencilla programas que
analicen las cadenas que aparecen en un fichero de texto y realicen
diversas acciones en respuesta a ellas.
3. ESTRUCTURA JFLEX
Un fichero JFlex se divide en 3 partes:
Cdigo de usuario
%%
Directivas JFLex
%%
Reglas para las expresiones regulares
Cdigo de Usuario
En esta seccin se incluyen sentencias propias de Java de
importacin, as como tambin la definicin de clases y
estructura de datos que sean necesarios para la
construccin del analizador lxico a generar.
Directivas JFLEX
Se utiliza para particularizar algunas caractersticas del
explorador generado y, tambin, es donde se declaran las
macros y estados que se usarn en la definicin de las reglas
lxicas.
Ejemplo:
DIGITO = [0-9]
IDENT = [a-z][a-z0-9]*
Reglas Lxicas
Contiene las reglas lxicas que se utilizarn para generar el
explorador.
Construccin de Compiladores |
Ing. Informtica y de Sistemas
6
III. DESARROLLO DEL TRABAJO
Para cumplir con el objetivo general del proyecto a partir de los objetivos
especficos se desarroll las siguientes etapas, mostradas a continuacin.
A. RECONOCER LAS SUBCADENAS QUE CORRESPONDEN A TOKENS
Esta etapa comprende la creacin de un fichero con la extensin flex, que
contiene las expresiones regulares codificadas (reglas lxicas), para la
obtencin de las subcadenas correspondientes a cada token especificado, del
script en el lenguaje de programacin HTML que se ingresa para su respectivo
anlisis lexico.
Asi mismo en este fichero contiene directivas JFLEX, y algunas sentencias java
necesarias para la generacin de un archivo con la extensin java.
B. REGRESAR EL PAR TOKEN-LEXEMA
En esta etapa el JFLEX produce la generacin de un cdigo con la extensin
java, que por defecto es unca clase con nombre yylex.
Una vez obtenida dicha clase, se procede a mostrar el par token-lexema
producto del anlisis al que es sometido el script ingresado, que para las
pruebas a realizarse se requiere de un archivo de texto plano con sentencias
HTML.
El resultado se muestra en un formulario, donde se tiene los botones para
cargar el archivo, y para realizar el anlisis; adems de una rea de texto
donde se visualiza los pares token-lexema.
Asi mismo para el proceso de anlisis se hacen uso de funciones propias de la
clase generada por el JFLEX, como:
1. YYTEX: Devuelve el valor de la entidad lgica.
2. YYLINE: Devuelve el nmero de lnea de la entidad lgica en el texto
ingresado.
3. YYCOLUMN: Devuelve el nmero de columna de la entidad lgica en el
texto ingresado.
Construccin de Compiladores |
Ing. Informtica y de Sistemas
7
El siguiente grfico muestra todo el proceso de generacin del analizador lxico
y as como del anlisis lxico.
JFLEX
Fichero de
Especificacion
Analizador.jflex
Construccin de Compiladores |
Ing. Informtica y de Sistemas
8
IV. CONCLUSIONES
El JFLEX es una potente herramienta para la generacin de analizadores
lxicos a partir de expresiones regulares, debido a que es una herramienta
multiplataforma.
La aplicacin de los temas estudiados; como autmatas, expresiones
regulares; en cursos previos han sido de vital importancia para el cumplimiento
de este proyecto.
Se ha podido comprobar que la etapa de anlisis lxico, constituye una parte
importante del proceso de compilacin ya que su salida es la entrada para las
dems etapas de dicho proceso.
V. BIBLIOGRAFIA
http://es.wikipedia.org/wiki/HTML (Esta pgina fue modificada por ltima vez el
24 jun 2011, a las 03:20.)
https://sites.google.com/site/tutoriasdeingenieria/lenguajes-de-
programacion/Manejo-de-archivos-en-java-swing---Netbeans
http://download.oracle.com/javase/tutorial/uiswing/examples/components/FileC
hooserDemoProject/src/components/FileChooserDemo.java
http://download.oracle.com/javase/tutorial/uiswing/components/filechooser.html
http://forums.netbeans.org/topic39938.html
http://crysol.org/es/node/819
http://jflex.de/docu.html
http://jflex.de/

Вам также может понравиться