コード例 #1
0
 public object VisitMethodDeclFAST(MethodDeclFAST v,object arg)
 {
     v.adornotipo=(string)v.tipo.visit(this,(int) arg);
     if ((identificadores.retrieve(v.ident.value)==null)&&(arreglos.retrieve(v.ident.value)==null)){
         identificadores.enter(v.ident.value,"",v);
     }
     else{
         errores_contextuales+="Error Contextual: El identificador \""+v.ident+"\" ya ha sido utilizado.\n";
     }
     identificadores.open_scope();
     v.parametros.visit(this,v.ident.value);
     v.bloque.visit(this,v.adornotipo);
     identificadores.close_scope();
     return null;
 }
コード例 #2
0
        public object VisitMethodDeclFAST(MethodDeclFAST v,object arg)
        {
            int numaux = ((int)arg);
            printtab(numaux);
            resultado = resultado +"\n"+(v.GetType());

            if(v.parametros != null){
                v.parametros.visit(this,numaux+1);
            }
            else{
                printtab(numaux+1);
                resultado = resultado +"\n"+("NULL");
            }
            if(v.tipo != null){
                v.tipo.visit(this,numaux+1);
            }
            else{
                printtab(numaux+1);
                resultado = resultado +"\n"+("NULL");
            }
            return null;
        }