-*- text -*-

This is a test release of this package.  Using it more or less
implicitly signs you up to help us find whatever problems you report.

The documentation still needs more work.  Suggestions welcome.
Patches even more welcome.

Please send comments and problem reports about this test release to
<bug-bison@gnu.org>.  This program will get better only if you report
the problems you encounter.

-----

Copyright (C) 2002, 2004, 2009-2015, 2018-2021 Free Software Foundation,
Inc.

This file is part of GNU Bison.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
