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.