>>> "Bob" == Bob Rossi <[EMAIL PROTECTED]> writes:
> OK, I don't know why this is confusing to me. I guess the answer is simple: I am not clear :) > Let me try to explain myself clearly. > You would like yyparse to always be in pull mode, regardless of the > option. This is probably possible, but with my current patch, won't > work. The problem is, I modify the yyparse () function (with m4) when > the %push-parser option is enabled. For example, in the pull yyparse > function, this is done at some point: > goto yysetstate > in the push yyparse function, this is done instead: > +[ ]b4_push_if([ > + /* Initialize the locals to the current context. */ > + yychar = pv->yychar; > + yylval = pv->yylval; > + yynerrs = pv->yynerrs; > ... > + goto yysetstate; > Do you see what I mean? Now that I've bored you with technical > details, do you have an idea that would overcome these problems in > order to achieve your objective? I *think* that you are referring to the body of yyparse, but I'm talking about the name of the function only. I am by no means referring to the code of the yyparse function, but merely the *name*. When the push features are enabled, rename what used to be yyparse into something else (using m4), and provide a wrapper named yyparse that calls repeatedly the push interface. Am I clear? Maybe I'm missing something obvious, but really, I don't understand where the problem is. Maybe I need to read push.c to understand.
