This patch was previously applied in r231221, and reverted in r231254 because it broke self-hosting. It was subsequently fixed and reapplied in r231274. Unfortunately, making the parser<T> classes final prevents inheritance which makes it impossible to implement custom parsers.
Reverting r231221 restores the ability to customize parsers.
Might as well make the dtor public and virtual in the basic_parser class & remove all these explicitly virtual dtor definitions in the derived classes, I guess?