A lazy decoder for syntax