Bob Rossi <[EMAIL PROTECTED]> writes:

> I hope doing this in small patches is easier, that's why I'm sending
> them in this way.

Yes, thanks.

> Did you have any other complaints regarding the 
> differences between the push and yacc parser?

What I just noticed is that there's still too much duplication
in the push parser.  For example, there are two lines that
say this:

    yytype_int16 yyssa[YYINITDEPTH];

and there should be only one.  Similarly for a good chunk
of the parser variables.

> +m4_define([b4_yyssa],b4_push_if([pv->yyssa],[yyssa]))
> +m4_define([b4_yyerror_range],b4_push_if([pv->yyerror_range],[yyerror_range]))

I'd rather not use M4 macros if the problem can be solved easily at
the C level.  Can't we just do this at the start of the yypushparse
function instead?

    yytype_int16 *yyssa = pv->yyssa;
    YYLTYPE *yyerror_range = pv->yyerror_range;

That way, the rest of the code can just say 'yyssa' and 'yyerror_range'
rather than ']b4_yyssa[' etc.


Reply via email to