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

Reply via email to