My quick reaction is that this looks like a good thing to have, but the most important part is missing: the documentation patches. These should cover:

* Why have multiple start symbols? (See, for example, the motivating discussion for this feature on page 6 of the RACK manual <https://www.rand.org/content/dam/rand/pubs/notes/2009/N3100.pdf>.)

* Suppose Bison didn't have multiple start symbols; how could you achieve their effect? (This is already in the Bison manual, I think.)

* What is the advantage of multiple start symbols over that simulation?

* Maybe contrast to how other Yacc-like parser generators do it? (Or at least, steal good ideas from them. :-) These come to mind:

** RACK (see page 27 of its manual)
** Zyacc <https://www.cs.binghamton.edu/~zdu/zyacc/doc/zyacc_4.html#SEC71>

Disclaimer - I'm biased re RACK as it was written by a friend-of-a-friend.

Reply via email to