Report the location of comments correctly.
In case of syntax error, do not report an empty range.
Make the scanner and related types serializable, so that the state of the scanner can be captured and then restored later (assuming that the TextReader is also serializable).
Make Scanner implement IScanner.
Implement Equals, GetHashCode and CompareTo on Mark.
Cleanup license headers and add missing ones.
Prepare version 3.4.0.