code: def parse_chain(*args):
  	
  	items = []
  	for parser in args:
  		for element in parser(*items):  # pylint:disable=star-args
  			if element is None:
  				yield None
  			else:
  				items.append(element)
  				break
  	yield tuple(items)
docs: Creates a new parser that executes the passed parsers (args) with the
  	previous results and yields a tuple of the results.
  
  	>>> list(parse_chain(lambda: (None, 1), lambda one: (None, 2)))
  	[None, None, (1, 2)]
  
  	@param args: parsers
  	@returns: parser