Removing pseudo parser

The original authors are no longer working on clang-pseudo and we propose to delete it (clang-tools-extra/pseudo/).

We made some progress[1], but not fast enough, and business priorities shifted too. We’ve not been actively working on it for about 6 months, it doesn’t have any external momentum/contributions, and is not complete enough to be useful.

Deleting it saves build complexity, buildbot resources, and confusion. It makes it harder to resume work, which is why we delayed this decision. But unless someone objects, I plan to delete it in a week.

(The only current in-tree dependencies are some marginal features in clangd, which we can simply drop)


[1] it was able to produce an (ambiguous) parse tree for real-world C++ with good performance, and we had a plausible plan for disambiguating based on whole-file and whole-program information. This approach still seems reasonable if we want a high-accuracy C++ heuristic parser, but there’s a lot of work left to be done.

5 Likes

SGTM, thank you for being proactive about removing this!

1 Like

Not fast enough as in the progress was slower than expected, or as in the performance of the solution was worse than expected?

Progress… I believe parsing performance was on the order of 5MB/s which was OK for our purposes.

Thanks for the clarification! I think it would be nice to include some pointers about what things are missing in the commit message that removes the code (and some references to the existing design docs) just in case someone wants to pick it up later on. I was rooting for this project, sad to see it removed but given the circumstances it sounds good to me.

1 Like

Sorry to hear it, I was rooting for this project as well.

I think it would be nice to include some pointers about what things are missing in the commit message that removes the code (and some references to the existing design docs) just in case someone wants to pick it up later on.

+1, e.g. a link to the original design doc to make it more discoverable