1
« en: Lunes 31 de Mayo de 2010, 02:35 »
hola podrian ayudarme con un analizador lexico en java que lea un archivo de texto y reconzca los siguientes tokens identificadores numericos >,<,<=,etc ,cadena de caracteres,comentarios y numeros reales,*,+,-/ y los muestre clasificados por lexemas.
tengo el siguiente codigo pero falta completarlo ya que presenta errores.AGRADECERIA MUCHO SU AYUDA...
public class Analizador {
public static void main(String args)throws IOException{
FileReader fr = new FileReader("archivo.txt");
BufferedReader br = new BufferedReader(fr);
int esDigito=0;
int x;
char c;
String lexema="";
do{
do{
x=br.read();
c=(char)x;
}while(c==' '|| c=='t' || c=='n');
if(esLetra(c)){
do{
lexema=lexema+c;
x=br.read();
c=(char)x;
}
while(esLetra(c) || esDigito(c));
System.out.println("IDENTIFICADOR :"+lexema);
lexema="";
}
else
if(esDigito(c))
{
do{
lexema=lexema+c;
x=br.read();
c=(char)x;
}while(esDigito(c));
System.out.println("NUMERO"+lexema);
lexema="";
}
else
if(c=='>')
{
x=br.read();
c=(char)x;
if(c=='='){
System.out.println("MAYOR O IGUAL: >=");
x=br.read();
c=(char)x;
}
else
System.out.println("MAYOR : >");
}
while(x!=-1);
br.close();
}
}