Bison supports two different means to handle semantic values in C++. One is alike the C interface, and relies on unions. As C++ practitioners know, unions are inconvenient in C++, therefore another approach is provided, based on variants.
|• C++ Unions||Semantic values cannot be objects|
|• C++ Variants||Using objects as semantic values|