When the directive %locations is used, the C++ parser supports
location tracking, see Tracking Locations.
By default, two auxiliary classes define a position, a single point
in a file, and a location, a range composed of a pair of
positions (possibly spanning several files). But if the
%define variable api.location.type is defined, then these
classes will not be generated, and the user defined type will be used.
In this section uint is an abbreviation for unsigned int: in
genuine code only the latter is used.