Why not `while prev.tok != token::EOF`?