GNU bison

from Wikipedia, the free encyclopedia
GNU bison

Official gnu.svg
Basic data

Maintainer Akim Demaille, Joel E. Denny, Paul Eggert
developer GNU project
Publishing year June 1985
Current  version 3.7.1
operating system Unix-like
programming language C / C ++
category Parser generator
License GPL ( Free Software )
www.gnu.org/software/bison

Bison is a free universal parser generator from the GNU project . Bison translates a grammar description of a context-free grammar into a C , C ++ or Java program that can parse a series of tokens whose structure follows this grammar (so-called LALR parser ). It can also generate more general Tomita parsers for ambiguous grammars.

In POSIX mode, Bison is compatible with the older Yacc , although it implements some improvements ( upwards compatible ). From a syntax description of a programming language in a format similar to the Backus-Naur form , it generates a parser based on a push-button machine , which is used as an element for syntactic analysis together with a lexical scanner such as flex (free alternative to Lex ) as a further program module for creating a Compilers or interpreters can be used.

Bison is released as free software under the GNU General Public License (GPL). It was mainly developed by Robert Corbett. Richard Stallman made it compatible with Yacc.

history

Bison was developed as early as the second half of the 1980s. Version 1.00 was released on May 26, 1988.

By integrating the (GPL-licensed) function yyparse () from the Bison code, the generated parser programs were also under the GPL. As of version 1.24, there is an exception here, through which the output can also be used as proprietary software.

Web links

Individual evidence

  1. ^ In: Static Semantics and Compiler Error Recovery .
  2. flex.sf.net
  3. List of the first contributions in the code repository
  4. Project overview for oldbison on Google Code
  5. ^ Conditions for Using Bison