The C++ deterministic parser is selected using the skeleton directive, ‘%skeleton "lalr1.cc"’, or the synonymous command-line option --skeleton=lalr1.cc. See Decl Summary.
When run, bison will create several entities in the ‘yy’ namespace. Use the ‘%define namespace’ directive to change the namespace name, see namespace. The various classes are generated in the following files:
position
and location
,
used for location tracking. See C++ Location Values.
stack
used by the parser.
The header is mandatory; you must either pass -d/--defines to bison, or use the ‘%defines’ directive.
All these files are documented using Doxygen; run doxygen for a complete and accurate documentation.