|
From: | Hans Aberg |
Subject: | Re: A polymorphic YYSTYPE for C++ (instead of the %union) |
Date: | Fri, 15 Jun 2007 20:08:20 +0200 |
On 15 Jun 2007, at 18:12, Paul Eggert wrote:
Thanks for the patch that you proposed in<http://lists.gnu.org/archive/html/bison-patches/2007-06/ msg00000.html>.I don't use C++, so you'll have to bear with me on some dumb questions. Perhaps some other contributor who knows C++ well can also chime in.* How much is this patch tied to Boost? Can it be used easily with otherC++ libraries? * What sort of documentation should appear in the Bison manual? * Why is there a limitation on what types can appear? (They can't have angle brackets, apparently.) Can this limitation be removed?
If one cannot use the type system that comes with %union, there is not change needed: I have used a standard C++ polymorphic class hierarchy for years. The only problem was some code placement, but has has been fixed with the extension of %define that Akim fixed.
Akim has been thinking of variants as typed replacement of %union. Then I think the problem is with the default actions, which no longer can be collected to a single entry in the parser "switch" statement. And if this part is being fixed, one can just well just introduce a M4 macro, admitting variants as well as a standard C++ polymorphic hierarchy, I think.
Hans Aberg
[Prev in Thread] | Current Thread | [Next in Thread] |