HACKER Q&A
📣 lpage

Best resources for learning about commercial “IDE grade” parsers


The fact that neither the traditional CS curriculum nor the research literature covers "real world, production-grade" parsers - especially ones suitable for use in commercial IDEs - has come up repeatedly on HN. That begs the question: are there resources that do? This is not a question about how lexing and parsing works, the merits of parser generators and specific grammars, the implementation of canonical parsers, or codebase examples, e.g., JetBrains community edition. It is a question about design patterns for practical concerns like evolution and maintainability, generating great error messages, operating incrementally, and remaining snappy when used on real (not pathological) PL sources. Thanks!


  👤 ThePhysicist Accepted Answer ✓
I think "Parsing Techniques" by Grune & Jacobs is the bible when it comes to parsing, it covers all subjects you mentioned and gives a detailed overview of most practical parsing approaches.

👤 bjourne
Engineering: A Compiler covers the issues you mention, but it is part of at least some CS curricula so I'm not sure it's what you're looking for.

👤 edsonmedina
Have you looked into any open-source language servers?

👤 Pozzuh
I wonder what your expectations are. Why would commercial IDEs not use the same methods of lexing and parsing as research products?