Hi Hans, You are right, "YYSTYPE" is defined in .yacc.h as "%union" directive.
Best regards, AnL. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hans Aberg Sent: jeudi 28 décembre 2006 13:16 To: Anouar LACHHEB Cc: Help Bison Subject: Re: (no subject) On 27 Dec 2006, at 20:41, Anouar LACHHEB wrote: > I want to use POSIX threads into my application which includes a > scanner and a parser. I read that in that case I have to use re- > entrant parser through %pure-parser directive. > > I notice that I need to introduce some changes to my parser such as my > yylex proto -> int yylex (YYSTYPE *lvalp, YYLTYPE *llocp). > "yylval" is no longer useful, instead "lvalp" is used. > > In my parser I used a %union directive, my question is: How can I use > this union instead of "YYSTYPE *lvalp". I haven't used that combination, but %union just implements YYSTYPE using a C/C++ 'union'. So from that point of view, I can see there are no problems. The pointer type YYSTYPE* is perhaps there, because C does not admit the C++ reference type YYSTYPE& in function arguments. Hans Aberg _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison