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

Reply via email to