On 2018-05-08 04:03, Vlad Vladov wrote:
Good day,
I am interested in contributing to the project. Is there anything I can
help with?

Hi Vlad,

Bison/Yacc has an annoying limitation. When you call yyparse, it parses the entire grammar down to the start symbol.

Sometimes you just want to parse a subtree of the grammar.

Like say you have a full programming language grammar, and you want to provide a function to parse regular expressions (which are in that grammar, represented as a "regex" symbol).

Currently, some ugly hack has to be used, like the insertion of a "secret token" which is recognized by the top-level production.

The parser generator could just automate this. Suppose we could give a list of additional starts:

%start regex /* additional comma separated non-terminals listed here */

then we have a yyparse_regex(...) entry point we just call to parse a regex. No programmer-visible secret tokens or anything of the sort. (All the yyparse_* functions have the same arg signature; they probably just do some special setup and recurse into yyparse.)

Cheers ...

Reply via email to