My understanding of this matter was/is that this is transitional code and that the only reason for the old parser to be still present, is to be able to quickly switch to the new one. Once the new one delivers the same results and provides a superset of the old one, the old one is going to be removed, right?

for such a purpose, I suppose that #ifs are better suited, because I like of them as "comment this part of the code conditionally"

> If the intention is to allow fir fine-grained control over which subsystems use which parser - I guess that could be smart; it should certainly be determined at runtime and the options should have names like useNewParserForGrid.

that would clearly be overkill for a temporary feature, imho. As said above the only reason for keeping the old parser stuff around is to be able to compare quickly. (i.e., you should think of this as being a developer tool for debugging rather than a thing the end-user should be able to battle with.) that said, if you really, really, _really_ insist on adding a runtime parameter, I'll do so...