@Override
    public void validarSemantica() {
       if(InfSemantica.getInstancia().tablaFunciones.containsKey(nombre)&&InfSemantica.getInstancia().tablaGlobal.containsKey(nombre)
          &&TablaIds.getInstancia().getVariableNumber(nombre)==-1          )
       {
            try {
                throw new Exception("Error Semantico--- Ya existe una variable con ese nombre");
            } catch (Exception ex) {
                Logger.getLogger(FuncionDeclaracion.class.getName()).log(Level.SEVERE, null, ex);
            }
       }
       else
       {
           InfSemantica.getInstancia().tablaGlobal.put(nombre, tipo);
           InfSemantica.getInstancia().tablaFunciones.put(nombre, new FuncionDeclaracion(nombre, tipo, expr, compound));
           TablaIds.getInstancia().addVariable(nombre,tipo.toString());
       }
    }