code: def define(self, id_, lineno, value='', fname=None, args=None):
          
          if fname is None:
              if CURRENT_FILE:
                  fname = CURRENT_FILE[-1]
              else:  # If no files opened yet, use owns program fname
                  fname = sys.argv[0]
  
          if self.defined(id_):
              i = self.table[id_]
              warning(lineno, '"%s" redefined (previous definition at %s:%i)' %
                      (i.name, i.fname, i.lineno))
          self.set(id_, lineno, value, fname, args)
docs: Defines the value of a macro.
          Issues a warning if the macro is already defined.