public class Lexer
public Lexer()
public int getNextToken()
char caracterActual;
int estadoActual = 0;
hayError = false;
mLexema = '';
while (mLector.listo()) else if (Character.isLetter(caracterActual)) else if (Character.isDigit(caracterActual)) else if (caracterActual == '+') else if (caracterActual == '-') else if (caracterActual == '*') else if (caracterActual == '/') else
} //fin del estado 0
else if (estadoActual == 1) else
} else if (estadoActual == 2) else
} else if (estadoActual == 3) else if (caracterActual == '.') else
} else if (estadoActual == 4) else if (estadoActual == 5) else if (estadoActual == 6) else if (estadoActual == 7) else if (estadoActual == 8) else
} else if (estadoActual == 9)
return TOKEN_FLOAT;
}
}
//caso que llegue hasta aqui , es que no encontro token
return -1;
}
private char peekChar()
if (!mLector.listo())
return mLector.peekNextChar();
}
private char readChar()
if (!mLector.listo())
char temp = mLector.ReadNextChar();
//si el caracter actual es ENTER '' == cadenas , '' == caracter
if (temp == '
') else
//concatenar este caracter, a la cadena mLexema
mLexema += temp;
return temp;
}
public void inicializar(String pFilePath)
}