parameters: (self, *k, **kw)
docstring: Task generator objects predefine various attributes (source, target) for possible
  		processing by process_rule (make-like rules) or process_source (extensions, misc methods)
  
  		Tasks are stored on the attribute 'tasks'. They are created by calling methods
  		listed in ``self.meths`` or referenced in the attribute ``features``
  		A topological sort is performed to execute the methods in correct order.
  
  		The extra key/value elements passed in ``kw`` are set as attributes
docstring_summary: Task generator objects predefine various attributes (source, target) for possible
  		processing by process_rule (make-like rules) or process_source (extensions, misc methods)
docstring_tokens: Task generator objects predefine various attributes ( source target ) for possible processing by process_rule ( make - like rules ) or process_source ( extensions misc methods )
function: def __init__(self, *k, **kw):
  		"""
  		Task generator objects predefine various attributes (source, target) for possible
  		processing by process_rule (make-like rules) or process_source (extensions, misc methods)
  
  		Tasks are stored on the attribute 'tasks'. They are created by calling methods
  		listed in ``self.meths`` or referenced in the attribute ``features``
  		A topological sort is performed to execute the methods in correct order.
  
  		The extra key/value elements passed in ``kw`` are set as attributes
  		"""
  		self.source = []
  		self.target = ''
  
  		self.meths = []
  		"""
  		List of method names to execute (internal)
  		"""
  
  		self.features = []
  		"""
  		List of feature names for bringing new methods in
  		"""
  
  		self.tasks = []
  		"""
  		Tasks created are added to this list
  		"""
  
  		if not 'bld' in kw:
  			# task generators without a build context :-/
  			self.env = ConfigSet.ConfigSet()
  			self.idx = 0
  			self.path = None
  		else:
  			self.bld = kw['bld']
  			self.env = self.bld.env.derive()
  			self.path = kw.get('path', self.bld.path) # by default, emulate chdir when reading scripts
  
  			# Provide a unique index per folder
  			# This is part of a measure to prevent output file name collisions
  			path = self.path.abspath()
  			try:
  				self.idx = self.bld.idx[path] = self.bld.idx.get(path, 0) + 1
  			except AttributeError:
  				self.bld.idx = {}
  				self.idx = self.bld.idx[path] = 1
  
  			# Record the global task generator count
  			try:
  				self.tg_idx_count = self.bld.tg_idx_count = self.bld.tg_idx_count + 1
  			except AttributeError:
  				self.tg_idx_count = self.bld.tg_idx_count = 1
  
  		for key, val in kw.items():
  			setattr(self, key, val)
function_tokens: def __init__ ( self , * k , * * kw ) : self . source = [ ] self . target = '' self . meths = [ ] """
  		List of method names to execute (internal)
  		""" self . features = [ ] """
  		List of feature names for bringing new methods in
  		""" self . tasks = [ ] """
  		Tasks created are added to this list
  		""" if not 'bld' in kw : # task generators without a build context :-/ self . env = ConfigSet . ConfigSet ( ) self . idx = 0 self . path = None else : self . bld = kw [ 'bld' ] self . env = self . bld . env . derive ( ) self . path = kw . get ( 'path' , self . bld . path ) # by default, emulate chdir when reading scripts # Provide a unique index per folder # This is part of a measure to prevent output file name collisions path = self . path . abspath ( ) try : self . idx = self . bld . idx [ path ] = self . bld . idx . get ( path , 0 ) + 1 except AttributeError : self . bld . idx = { } self . idx = self . bld . idx [ path ] = 1 # Record the global task generator count try : self . tg_idx_count = self . bld . tg_idx_count = self . bld . tg_idx_count + 1 except AttributeError : self . tg_idx_count = self . bld . tg_idx_count = 1 for key , val in kw . items ( ) : setattr ( self , key , val )