3 ms·
One parser I think deserves a mention is the one from Apache Calcite[0]. Calcite does more than parsing, there are a number of users who pick up Calcite just fo
by michaelmior 4y ago
One parser I think deserves a mention is the one from Apache Calcite[0]. Calcite does more than parsing, there are a number of users who pick up Calcite just for the parser. While the default parser attempts to adhere strictly to the SQL standard, of interest is also the Babel parser, which aims to be as permissive as possible in accepting different dialects of SQL.
Disclaimer: I am on the PMC of Apache Calcite, but not particularly active at the moment.
[0] https://calcite.apache.org/ https://calcite.apache.org/
- chrisjc 4y agoAlthough I truly appreciate and admire Calcite, I've had so much trouble trying to get it to do what I want. Although in all fairness it could be me and being able to find enough time to deep-think on it. Specifically, customizing the DDL grammar was really hard to understand and play with. It's been a while and maybe it's better, but I remember there was some kind of freemarker compiler templating language that had to be modified and documentation and posts on different forums was lacking to say the least. I was trying to do some very unorthodox things at the time, but Calcite is probably a good fit for 98% of the things one might need to do with an SQL compiler/parser.
- michaelmior 4y agoI agree that customization can be a complicated. Adding more tutorials and documentation is something that the community is definitely interested in.