Cuantas esposas tuvo beethoven
private CharReader mLector = null;
private int mNumeroDeLinea = 1;
private int mNumeroDeCaracter = 1;
private String mLexema = ""; //texto del tokenprivate boolean hayError =
false; //para saber desde afuera, si hay algun error
public static int TOKEN_PALABRA = 1001;
public static int TOKEN_COMA = 1002;
public staticint TOKEN_ESPACIO = 1003;
public static int TOKEN_INT = 1004;
public static int TOKEN_SUMA = 1005;
public static int TOKEN_RESTA = 1006;
public static int TOKEN_MUL = 1007;public static int TOKEN_DIV = 1008;
public static int TOKEN_FLOAT = 1009;
public String getUltimoLexema() {
return mLexema;
}
public Lexer() {
}public int getNextToken() {
if (mLector == null) {
return -1;
}
char caracterActual;
int estadoActual = 0;
hayError = false;mLexema = "";
while (mLector.listo()) {
caracterActual = peekChar();
if (estadoActual == 0) {
//transicion con S
if(Character.isWhitespace(caracterActual)) {
estadoActual = 1;
readChar(); //consumir el caracter
} else if (Character.isLetter(caracterActual)) { //estadoActual = 2;
readChar(); //consumir el caracter
} else if (Character.isDigit(caracterActual)) { // D
estadoActual= 3; // este es el estado de numero, el 3
readChar(); //consumir el caracter
} else if (caracterActual == '+') {
estadoActual = 4;readChar(); //consumir el caracter
} else if (caracterActual == '-') {
estadoActual = 5;
readChar(); //consumir el caracter...
Regístrate para leer el documento completo.