Just a few points that I'd like to answer to this article:
- One of the primary concerns of Bison is the speed of the generated parsers. In the section about performance, they say that ALL is 135x faster than GLR. Digging into the original paper, we find that:
- 135x is from their best case against the worst GLR they could find
- they compare different tools, not different algorithms in the same tool
- the grammar they use is optimized for their tool
- the best GLR tool they're testing against isn't even running on the same OS
- moreover, they mention that the biggest chunk of their performance comes from the fact that they cache temporary results, so theoretically including a cache in a GLR parser could make it even faster.
- since there is no grammar analysis, we get back to the classic "static vs dynamic" language debate, where Bison tells you at build time if you have conflicts, and ANTLR relies on your good test coverage.
- They only have a passing mention of the fact that their grammar is strictly less powerful than GLR since they don't handle non-direct left recursion.
Why not to use (f)lex, yacc or bison
91–91 of 91 posts