I don't think it parses CSV correctly. It doesn't consider embedded newlines and I think it will also fail on embedded quote characters and will certainly fail on unicode strings. Oh, and I don't think it is faster than a regular expression as you are pushing characters to string one by one which is basically slow. You can easily improve it by storing positions of beginning and end of a token and then extracting the whole item in one go.
Bookmarks