Example #1
0
 Object VisitVarAddopTermAST(varAddopTermAST 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;
 }
Example #2
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;
        }