Ejemplo n.º 1
0
        public exprAST parseExpr()
        {
            listAddopTermAST temp   = null;
            listAddopTermAST result = null;
            termAST          term   = null;
            addopAST         addop  = null;
            termAST          term2  = null;
            //Expr = [ "-" ] Term { Addop Term }
            Boolean ind  = false;
            Boolean ind2 = false;

            if (currentToken.sym == sym.RES)
            {
                acceptIt();
                ind = true;
            }
            term = parseTerm();
            while (currentToken.sym == sym.SUM || currentToken.sym == sym.RES)
            {
                if (ind2 == false)
                {
                    addop  = parseAddop();
                    term2  = parseTerm();
                    result = new unAddopTermAST(addop, term2);
                    ind2   = true;
                }
                else
                {
                    addop  = parseAddop();
                    term2  = parseTerm();
                    temp   = new unAddopTermAST(addop, term2);
                    result = new varAddopTermAST(result, temp);
                }
            }
            if (ind == false && result == null)
            {
                return(new expreSoloTermAST(term));
            }
            else if (ind == true && result == null)
            {
                return(new exprNegativaTermAST(term));
            }
            else if (ind == false && result != null)
            {
                return(new exprAddopTermAST(term, result));
            }
            else if (ind == true && result != null)
            {
                return(new exprNegativaAddopTermAST(result, term));
            }
            return(null);
        }
Ejemplo n.º 2
0
 Object VisitUnAddopTermAST(unAddopTermAST var, object arg)
 {
     int numaux = ((Integer)arg).intValue(); printtab(numaux); System.out.println(c.getClass().getName());  if(c.- !=null)  c.-.visit(this,new Integer(numaux+1)); else{printtab(numaux+1);  Console.WriteLine(“NULL”);} return null;
 }
Ejemplo n.º 3
0
        public exprAST parseExpr()
        {
            listAddopTermAST temp=null;
            listAddopTermAST result=null;
            termAST term = null;
            addopAST addop = null;
            termAST term2 = null;
            //Expr = [ "-" ] Term { Addop Term }
            Boolean ind = false;
            Boolean ind2 = false;
            if (currentToken.sym == sym.RES)
            {
                acceptIt();
                ind = true;
            }
               term = parseTerm();
            while (currentToken.sym == sym.SUM || currentToken.sym == sym.RES)
            {
                if (ind2 == false)
                {

                    addop = parseAddop();
                    term2 = parseTerm();
                    result = new unAddopTermAST(addop, term2);
                    ind2 = true;

                }
                else
                {
                    addop = parseAddop();
                    term2 = parseTerm();
                    temp = new unAddopTermAST(addop, term2);
                    result = new varAddopTermAST(result, temp);
                }

            }
            if (ind == false && result == null) {

                return new expreSoloTermAST(term);
            }
            else if (ind == true && result == null)
            {

                return new exprNegativaTermAST(term);
            }
            else if (ind == false && result !=null)
             {

                return new exprAddopTermAST(term,result);
             }
            else if (ind == true && result != null)
            {

                return new exprNegativaAddopTermAST(result,term);
            }
            return null;
        }