Bison
Introduction to Bison
Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employingLALR(1) parser tables. As an experimental feature, Bison can also generate IELR(1) or canonical LR(1) parser tables. Once you are proficient with Bison, you can use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages.
Bison is upward compatible with Yacc: all properly-written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble. You need to be fluent in C or C++ programming in order to use Bison. Java is also supported as an experimental feature.
Downloading Bison
Bison can be found on the main GNU ftp server:http://ftp.gnu.org/gnu/bison/(via HTTP) andftp://ftp.gnu.org/gnu/bison/(via FTP). It can also be found on the GNU mirrors; pleaseuse a mirror if possible.
Documentation
Documentation for Bisonis available online, as is documentation for most GNU software. You may also find more information about Bison by running_info bison_or_man bison_, or by looking at_/usr/share/doc/bison/,/usr/local/doc/bison/_, or similar directories on your system. A brief summary is available by running bison --help.
Mailing lists
Bison has the following mailing lists:
- bug-bisonis used to discuss most aspects of Bison, including development and enhancement requests, as well as bug reports.
- help-bison is for general user help and discussion.
- bison-patchesis for patches to the source code, to improve or fix bugs in Bison. We prefer patches against the latest Savannah sources.
Announcements about Bison and most other GNU software are made oninfo-gnu(archive).
Security reports that should not be made immediately public can be sent directly to the maintainer. If there is no response to an urgent issue, you can escalate to the generalsecuritymailing list for advice.
Getting involved
Development of Bison, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).
Test releases
Trying the latest test release (when available) is always appreciated. Test releases of Bison can be found athttp://alpha.gnu.org/gnu/bison/(via HTTP) andftp://alpha.gnu.org/gnu/bison/(via FTP).
Development
For development sources, issue trackers, and other information, please see theBison project pageat savannah.gnu.org.
Translating Bison
To translate Bison's messages into other languages, please see the Translation Project page for Bison. If you have a new translation of the message strings, or updates to the existing strings, please have the changes made in this repository. Only translations from this site will be incorporated into Bison. For more information, see the Translation Project.
Maintainer
Bison is currently being maintained by Akim Demaille and Paul Eggert. Please use the mailing lists for contact.
Licensing
Bison 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.