code: def declare_param(self, id_, lineno, type_=None):
          
          if not self.check_is_undeclared(id_, lineno, classname='parameter',
                                          scope=self.current_scope, show_error=True):
              return None
  
          entry = self.declare(id_, lineno, symbols.PARAMDECL(id_, lineno, type_))
          if entry is None:
              return
          entry.declared = True
          if entry.type_.implicit:
              warning_implicit_type(lineno, id_, type_)
          return entry
docs: Declares a parameter
          Check if entry.declared is False. Otherwise raises an error.