public Nodo repeticion() { Nodo temp = new Nodo(tokenActual); comprobar(token.Type.DO); Nodo sentencias = new Nodo(); sentencias.setLexema("Sentencias"); sentencias.setLinea(tokenActual.getLinea()); sentencias.setTipoToken(token.Type.SENTENCIAS); temp.hijos[0] = sentencias; sentencias.hijos[0] = bloque(); comprobar(token.Type.UNTIL); comprobar(token.Type.LPAREN); Nodo condicion = new Nodo(); condicion.setLexema("Condicion"); condicion.setLinea(tokenActual.getLinea()); condicion.setTipoToken(token.Type.CONDICION); temp.hijos[1] = condicion; condicion.hijos[0] = bexpresion(); comprobar(token.Type.RPAREN); comprobar(token.Type.SEMI); return(temp); }
public Nodo asignacion() { Nodo temp = new Nodo(); temp.setLexema("Asignacion"); temp.setLinea(tokenActual.getLinea()); temp.hijos[0] = new Nodo(tokenActual); temp.setTipoToken(token.Type.ASIGNACION); comprobar(token.Type.ID); comprobar(token.Type.ASIGNACION); temp.hijos[1] = bexpresion(); comprobar(token.Type.SEMI); return(temp); }
public Nodo seleccion() { Nodo temp = new Nodo(tokenActual); comprobar(token.Type.IF); comprobar(token.Type.LPAREN); Nodo condicion = new Nodo(); condicion.setLexema("Condicion"); condicion.setLinea(tokenActual.getLinea()); condicion.setTipoToken(token.Type.CONDICION); temp.hijos[0] = condicion; condicion.hijos[0] = bexpresion(); comprobar(token.Type.RPAREN); Nodo then = new Nodo(tokenActual); comprobar(token.Type.THEN); temp.hijos[1] = then; then.hijos[0] = bloque(); if (tokenActual.getTipoToken() == token.Type.ELSE) { Nodo n_else = new Nodo(tokenActual); comprobar(token.Type.ELSE); temp.hijos[2] = n_else; n_else.hijos[0] = bloque(); } comprobar(token.Type.FI); return(temp); }