Cuantas esposas tuvo beethoven

Solo disponible en BuenasTareas
  • Páginas : 2 (474 palabras )
  • Descarga(s) : 0
  • Publicado : 23 de mayo de 2011
Leer documento completo
Vista previa del texto
public class Lexer {

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...
tracking img