string parser iterator