On Wed, Sep 20, 2006 at 09:58:30PM -0700, Paul Eggert wrote: > >> One way to address this issue would be to have two entry points: > >> > >> status = yypushparse (ctx, ch, yylloc); > >> > >> for tokens that have no semantic value, and > >> > >> status = yypushparseval (ctx, ch, yylval, yylloc); > >> > >> for tokens that do. > >> > >> Another possibility, which will avoid a copy in some cases if semantic > >> values are large, is to pass a pointer: > >> > >> status = yypushparse (ctx, ch, &yylval, yylloc); > >> > >> where you pass a NULL pointer if the token has no semantic value. If > >> the copying issue is of concern, it may also make sense to pass yylloc's > >> address too: > >> > >> status = yypushparse (ctx, ch, &yylval, &yylloc); > >> > >> I don't know whether the copying concern is enough to affect > >> performance, though. > > > > I'm not decided on how to modify the yypushparse function parameters. > > Have you made up your mind? > > If it doesn't matter to you, let's use the second method (passing > the addresses). We can always change it later if it turns > out to have a problem.
OK, I liked the second approach better myself. I'll look into it. Bob Rossi
