Cargando...
Blogger Draft | Edicion Entradas | Configuración | Diseño | Edición HTML | quickEdit OFF | quickEdit ON

martes, 6 de octubre de 2009

Creacion de un analizador lexico en java

4
El análisis de un programa fuente durante la compilación es complejo. La construcción de un compilador puede hacerse más fácil si el análisis del programa fuente es separado en dos partes, con una parte identificando las construcciones de lenguaje de bajo nivel (tokens) y la segunda parte determinando la organización sintáctica del programa.
En esta sección se estudia la primera de estas partes, la cual es llevada a cabo por medio de un analizador léxico o scanner.
subir imagenes
subir imagenes

Como existe un error en el en lace de descarga les explikare brevemete como le ise para realizar el codigo fuente del analizador!!!!
descargar codigo fuente!!!



Análisis Léxico. Supongamos que mi sistema o programa es para automatizar la ventilación de una habitación; algo sencillo. Las acciones del ducto de ventilación son: abrir y cerrar. No se puede decir sólo abrir o cerrar ya que la ventilación (en éste caso) incluye un aire acondicionado (dejémoslo en ventilador) que debe encenderse o apagarse inependientemente de si nuestra ventilación está abierta o cerrada. Nuestras "palabras reservadas", que son únicamente las palabras que entiende nuestro compilador serán: abrir, cerrar, encender, apagar, ventilador y ventilación. El análisis léxico buscará entonces que esas palabras estén dentro de nuestro "código fuente". Si queremos crear una estructura para el código fuente, como en HTML o cualquier lenguaje, el programa debe determinar si la estructura se cumple. En caso contrario, no compilará.


el famoso metodo para extraer las cadenas del archivo que deseas analizar es el siguiente:

public void analizar(String archivo){ //Método de extracción de palabras recibe como //parametro el nombre del archivo!!!!!
//el metodo solo funciona para el analizis de un archivo
try{
BufferedReader bfr=new BufferedReader(new FileReader(archivo));
String linea=bfr.readLine();
while(linea!=null){
StringTokenizer cadena=new StringTokenizer(linea);
while(cadena.hasMoreTokens()){
tokens.add(cadena.nextToken());
}
linea=bfr.readLine();
}
}catch(Exception ex){
ex.printStackTrace();
}
}


4 comentarios:

Estuardo dijo...

Pues la explicacione estuvo sensilla y clara, gracias ;)

. - : : DARK SIDE : : - . dijo...

oye amigo no esta el link de descarga, saludos muy bueno

roninjin dijo...

Me parecio muy bien tu explicacion, y el codigo no muy engorrosa, Gracias.

Damianjrv dijo...

sera que podrias enviar me el codigo gracias de verdad lo necesito para trabajar... damianjrv@hotmail.com

COMENTA, QUE ES GRATIS...

 
Ir Arriba