#NEWLINE# def _parse( self ) : #NEWLINE# #INDENT# "\n        A generator that implements the actual parsing algorithm.\n        ``step`` iterates through this generator, and restarts it\n        whenever the parser's strategy, grammar, or chart is modified.\n        " #NEWLINE# chart = self . _chart #NEWLINE# grammar = self . _grammar #NEWLINE# edges_added = 1 #NEWLINE# while ( edges_added > 0 ) : #NEWLINE# #INDENT# edges_added = 0 #NEWLINE# for rule in self . _strategy : #NEWLINE# #INDENT# self . _current_chartrule = rule #NEWLINE# for e in rule . apply_everywhere ( chart , rule ) : #NEWLINE# #INDENT# edges_added += 1 #NEWLINE# ( yield e )