public object VisitProgramDMAST(ProgramDMAST v,object arg)
 {
     if (identificadores.retrieve(v.ident.ident.value)==null)
     {
         identificadores.open_scope();
         tipos.open_scope();
         arreglos.open_scope();
         identificadores.enter(v.ident.ident.value,"",null);
         if(v.metodos != null)
         {
             v.metodos.visit(this,(int)arg);
         }
         if(v.declaraciones != null)
         {
             v.declaraciones.visit(this,(int)arg);
         }
     }
     else{
         errores_contextuales+="Error Contextual: El identificador \""+v.ident.ident+"\" ya ha sido utilizado.\n";
     }
     return null;
 }
 public object VisitProgramDMAST(ProgramDMAST v,object arg)
 {
     int numaux = ((int)arg);
     printtab(numaux);
     resultado = resultado +"\n"+(v.GetType());
     v.declaraciones.visit(this,numaux+1);
     v.metodos.visit(this,numaux+1);
     return null;
 }