Next: , Previous: C++ Bison Interface, Up: C++ Parsers


10.1.2 C++ Semantic Values

The %union directive works as for C, see The Collection of Value Types. In particular it produces a genuine union1, which have a few specific features in C++.

Because objects have to be stored via pointers, memory is not reclaimed automatically: using the %destructor directive is the only means to avoid leaks. See Freeing Discarded Symbols.


Footnotes

[1] In the future techniques to allow complex types within pseudo-unions (similar to Boost variants) might be implemented to alleviate these issues.