|
From: | Bruce Lilly |
Subject: | Re: Bison/flex compatibility revisited |
Date: | Wed, 26 Feb 2003 18:14:02 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130 |
John wrote:
One exception that I neglected to mention is that if the flex option for reentrant code is used, YY_G, the related structure, and the definitions of yyout etc. that use YY_G may be required.Any code that explicitly references YY_G is broken. YY_G is an internal macro, and subject to change.
But with a reentrant lexical analyzer, yyout is defined as #define yyout YY_G(yyout_r) which obviously isn't going to work if there's no definition of YY_G and/or nothing in which yyout_r is a member. Any code using yyout therefore needs YY_G; and if it's subject to change, the definition should come from the flex-generated header, and not have to be reinvented by the flex user.
[Prev in Thread] | Current Thread | [Next in Thread] |