code: def iparse(self,meter=None,num_processes=1,arbiter='Line',line_lim=None):
  		from Meter import Meter,genDefault,parse_ent,parse_ent_mp
  		import multiprocessing as mp
  		meter=self.get_meter(meter)
  		self.__parses[meter.id]=[]
  		self.__bestparses[meter.id]=[]
  		self.__boundParses[meter.id]=[]
  		self.__parsed_ents[meter.id]=[]
  		lines = self.lines()
  		lines=lines[:line_lim]
  		numlines = len(lines)
  		init=self
  		ents=self.ents(arbiter)
  		smax=self.config.get('line_maxsylls',100)
  		smin=self.config.get('line_minsylls',0)
  		ents = [e for e in ents if e.num_syll >= smin and e.num_syll<=smax]
  		self.scansion_prepare(meter=meter,conscious=True)
  		numents=len(ents)
  		toprint=self.config['print_to_screen']
  		objects = [(ent,meter,init,False) for ent in ents]
  		if num_processes>1:
  			print '!! MULTIPROCESSING PARSING IS NOT WORKING YET !!'
  			pool = mp.Pool(num_processes)
  			jobs = [pool.apply_async(parse_ent_mp,(x,)) for x in objects]
  			for j in jobs:
  				print j.get()
  				yield j.get()
  		else:
  			now=time.time()
  			clock_snum=0
  			for ei,objectx in enumerate(objects):
  				clock_snum+=ent.num_syll
  				if ei and not ei%100:
  					nownow=time.time()
  					if self.config['print_to_screen']:
  						print '>> parsing line
  					now=nownow
  					clock_snum=0
  				yield parse_ent_mp(objectx)
  		if self.config['print_to_screen']:
  			print '>> parsing complete in:',time.time()-now,'seconds'