Ejemplo n.º 1
0
        public actParsAST parseActPars()
        {
            listExprAST temp   = null;
            listExprAST temp2  = null;
            listExprAST result = null;
            exprAST     expr   = null;

            if (currentToken.sym == sym.RES || currentToken.sym == sym.ID || currentToken.sym == sym.NUM || currentToken.sym == sym.CHARCONS || currentToken.sym == sym.TRUE || currentToken.sym == sym.FALSE || currentToken.sym == sym.NEW || currentToken.sym == sym.P_ABI)
            {
                expr = parseExpr();
                temp = new unExprAST(expr);
                Boolean ind = false;
                while (currentToken.sym == sym.COMA)
                {
                    if (ind == false)
                    {
                        acceptIt();
                        expr   = parseExpr();
                        temp2  = new unExprAST(expr);
                        result = new varExprAST(temp2, temp);
                        ind    = true;
                    }
                    else
                    {
                        acceptIt();
                        expr   = parseExpr();
                        temp2  = new unExprAST(expr);
                        result = new varExprAST(result, temp2);
                    }
                }
                if (temp2 == null && result == null)
                {
                    return(new  actParsAST(temp));
                }

                return(new actParsAST(result));
            }
            else
            {
                error(currentToken, " '-' o 'ID'");
                return(null);
            }
        }
Ejemplo n.º 2
0
        public actParsAST parseActPars()
        {
            listExprAST temp=null;
            listExprAST temp2 = null;
            listExprAST result = null;
            exprAST expr=null;
            if (currentToken.sym == sym.RES || currentToken.sym == sym.ID || currentToken.sym == sym.NUM || currentToken.sym == sym.CHARCONS || currentToken.sym == sym.TRUE || currentToken.sym == sym.FALSE || currentToken.sym == sym.NEW || currentToken.sym == sym.P_ABI)
            {

                expr = parseExpr();
                temp= new unExprAST(expr);
                Boolean ind=false;
                while (currentToken.sym == sym.COMA)
                {
                    if(ind==false){
                    acceptIt();
                    expr=parseExpr();
                    temp2 = new unExprAST(expr);
                    result = new varExprAST(temp2, temp);
                    ind=true;
                    }
                    else{
                    acceptIt();
                    expr=parseExpr();
                    temp2 = new unExprAST(expr);
                    result = new varExprAST(result, temp2);
                   }
                }
                if (temp2 == null && result == null) {

                    return new  actParsAST(temp);
                }

                return new actParsAST(result);
            }
            else
            {
                error(currentToken, " '-' o 'ID'");
                return null;
            }
        }
Ejemplo n.º 3
0
 //Object VisitVarDeclAST(varDeclAST 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; }
 Object VisitVarExprAST(varExprAST 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;
 }