@Override
 public void visit(Assign assignStm) {
   if (assignStm.getId() != null) assignStm.getId().accept(this);
   System.out.print(" = ");
   if (assignStm.getValue() != null) assignStm.getValue().accept(this);
   System.out.print(";");
 }
 // Identifier i;
 // Exp e;
 public Object visit(Assign n) { // Implementado
   n.i.accept(this);
   String t1 = typeOf(n.i.s, n.getLine_number());
   Object ep = n.e.accept(this);
   if (ep instanceof String && t1 != null) {
     String t2 = (String) ep;
     if (t1.equalsIgnoreCase(t2)) return t1;
     else {
       error.add("Atribuicao invalida! Tipos incompativeis! Linha: " + n.getLine_number());
     }
   }
   return null;
 }