示例#1
0
        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);
        }
示例#2
0
 public void obtenerTokens2E()
 {
     for (int i = 0; i < listaTokensErrores.Count; i++)
     {
         token actual = listaTokensErrores.ElementAt(i);
         tokenResultadoE += "[Lexema: " + actual.getLexema() + ",Token: " + actual.getTipoToken() + ",Linea: " + actual.getLinea() + " (Lexico)]" + Environment.NewLine;
     }
 }
示例#3
0
 public String erroresSintacticos()
 {
     for (int i = 0; i < errores.Count; i++)
     {
         token actual = errores.ElementAt(i);
         tokenResultado += "[Lexema: " + actual.getLexema() + ",Token: " + actual.getTipoToken() + ",Linea: " + actual.getLinea() + " (Sintactico)]" + Environment.NewLine;
     }
     return(tokenResultado);
 }