Vernünftige Hybridlösung für Iterator (method-wrapper)
Verfasst: Sonntag 11. Januar 2015, 22:12
Ich hatte heute den halben Tag zugebraucht um eine Lösung für ein Problem zu finden. Kurz, es hatte jemand auf Basis dieses Artikels(Codequalität?) seinen Parser gebastelt.
Ich brauchte den Python 3 Support. Drehpunkt war, dass Python 3 sich an einer Stelle deutlich von Python 2 unterscheidet, Stichwort Binden und Iterator.
Präziser das Problem tritt hier auf:
Letzten Endes hab ich die Lösung über Ausnahmebehandlung von Attributerror und .__next__ bzw. .next gewählt. Finde diesen aber wegen den illegalen Zugriff ein wenig unschön. Wie würde man das richtig machen?
Ich brauchte den Python 3 Support. Drehpunkt war, dass Python 3 sich an einer Stelle deutlich von Python 2 unterscheidet, Stichwort Binden und Iterator.
Präziser das Problem tritt hier auf:
Code: Alles auswählen
def parse(program):
global token, next
next = tokenize(program).next
token = next()
return expression()