NodeLR GetTerm()
    {
        NodeLR factor = GetFactor();

        //if(tokenList[index].tokenType != TokenType.MULT || tokenList[index].tokenType != TokenType.REAL_DIV)
        // Advance();
        if (tokenList[index].tokenType.Equals(TokenType.MULT))
        {
            NodeLR mult = new NodeLR(factor, TokenType.MULT, GetTerm());
            mult.OperateLeftRight();
            return(mult);
        }
        else if (tokenList[index].tokenType.Equals(TokenType.REAL_DIV))
        {
            NodeLR div = new NodeLR(factor, TokenType.REAL_DIV, GetTerm());
            div.OperateLeftRight();
            return(div);
        }
        else if (tokenList[index].tokenType.Equals(TokenType.LPAR))
        {
            NodeLR div = new NodeLR(factor, TokenType.MULT, GetExpretion());
            div.OperateLeftRight();
            return(div);
        }

        return(factor);
    }
    /// <summary>
    /// Obtener la expresión que se encuentra dentro de una línea de texto, dicha expresión nos permitirá asignarle un valor a una variable global
    /// </summary>
    /// <returns></returns>
    NodeLR GetExpretion()
    {
        NodeLR term = null;

        while (tokenList[index].tokenType != TokenType.SEMI && tokenList[index].tokenType != TokenType.RPAR)
        {
            term = GetTerm();
            //if(tokenList[index].tokenType != TokenType.PLUS || tokenList[index].tokenType != TokenType.MINUS)
            //    Advance();
            if (tokenList[index].tokenType.Equals(TokenType.PLUS))
            {
                NodeLR add = new NodeLR(term, TokenType.PLUS, GetExpretion());
                add.OperateLeftRight();
                return(add);
            }
            else if (tokenList[index].tokenType.Equals(TokenType.MINUS))
            {
                NodeLR resta = new NodeLR(term, TokenType.MINUS, GetExpretion());
                resta.OperateLeftRight();
                return(resta);
            }
            //Advance();
        }
        return(term);
    }