The C++ deterministic parser is selected using the skeleton directive, ‘%skeleton "lalr1.cc"’. See Bison Declaration Summary.
bison will create several entities in the ‘yy’
Use the ‘%define api.namespace’ directive to change the namespace name,
see %define Summary. The various classes are generated
in the following files:
(Assuming the extension of the grammar file was ‘.yy’.) The declaration of the C++ parser class and auxiliary types. By default, this file is not generated (see Bison Declaration Summary).
The implementation of the C++ parser class. The basename and extension of these two files (file.hh and file.cc) follow the same rules as with regular C parsers (see Invoking Bison).
Generated when both
%locations are enabled, this
file contains the definition of the classes
location, used for location tracking. It is not generated if
‘%define api.location.file none’ is specified, or if user defined
locations are used. See C++ Location Values.
Useless legacy files. To get rid of then, use ‘%require "3.2"’ or newer.
All these files are documented using Doxygen; run
doxygen for a
complete and accurate documentation.