use start pos for error reporting, use start column number instead of reading next token (and mutating the lexbuf)