The FreeBSD Ports Archive

Freebsd | Contact
Welcome to FreeBSD Software


FreeBSD devel : bison

A parser generator from FSF, (mostly) compatible with Yacc

 Bison is a tool used to write parsers, such as the parser for GNU cc.
It is similar to Yacc, which is included in the base FreeBSD system.

The main difference between Bison and Yacc that I know of is that
Bison supports the @N construction, which gives you access to
the starting and ending line number and character number associated
with any of the symbols in the current rule.

Also, Bison supports the command `%expect N' which says not to mention
the conflicts if there are N shift/reduce conflicts and no reduce/reduce
conflicts.

The differences in the algorithms stem mainly from the horrible
kludges that Johnson had to perpetrate to make Yacc fit in a PDP-11.

Also, Bison uses a faster but less space-efficient encoding for the
parse tables (see Corbett's PhD thesis from Berkeley, "Static
Semantics in Compiler Error Recovery", June 1985, Report No. UCB/CSD
85/251), and more modern technique for generating the lookahead sets.
(See "Efficient Construction of LALR(1) Lookahead Sets" by F. DeRemer
and A. Pennello, in ACM TOPLS Vol 4 No 4, October 1982.  Their
technique is the standard one now.)
 




bison history


v. 1.56
date: 2007/10/18 02:28:45;  author: ade;  state: Exp;  lines: +1 -0
Restore PORTEPOCH.  My feelings on this particular knob are rated
*at least* NC-17.

Submitted by:	many

v. 1.55 date: 2007/10/17 10:12:30; author: ade; state: Exp; lines: +22 -9 Migration from bison 1.x to 2.x PR: 117086 Tested by: -exp runs
v. 1.54 date: 2005/09/04 18:33:15; author: ade; state: Exp; lines: +1 -1 A few more cleanups after recent events with bison * lose the bison175 port, it's not needed for now and will only confuse matters * clean up devel/Makefile, modules, and MOVED appropriately * take maintainership of the bison* ports Approved by: portmgr
v. 1.53 date: 2005/09/04 10:45:23; author: pav; state: Exp; lines: +5 -3 - Back out update to 2.0 Requested by: ade
v. 1.52 date: 2005/09/02 08:02:04; author: pav; state: Exp; lines: +3 -4 - Update to 2.0 PR: ports/84709 Submitted by: Frerich Raabe
v. 1.51 date: 2005/04/12 03:25:05; author: obrien; state: Exp; lines: +1 -1 At Kris's request, back out the MACHINE_ARCH spelling correction until after 5.4-RELEASE.
v. 1.50 date: 2005/04/11 08:01:39; author: obrien; state: Exp; lines: +1 -1 Assist getting more ports working on AMD64 by obeying the Ports Collection documentation and use 'ARCH' rather than 'MACHINE_ARCH'.
v. 1.49 date: 2004/09/03 16:13:57; author: leeym; state: Exp; lines: +1 -1 - add version in CONFLICTS, otherwise it will conflict with itself. Pointy hat to: leeym
v. 1.48 date: 2004/09/03 15:19:20; author: leeym; state: Exp; lines: +1 -1 - use shell meta-characters for pattern matching
v. 1.47 date: 2004/03/28 16:26:57; author: krion; state: Exp; lines: +10 -12 - Support INFO - Support DATADIR PR: ports/64853 Submitted by: Ports Fury
v. 1.46 date: 2004/02/04 18:02:08; author: marcus; state: Exp; lines: +4 -2 Switch to USE_GETTEXT. PR: 62351 Submitted by: TAKAHASHI Kaoru
v. 1.45 date: 2004/02/04 04:35:50; author: marcus; state: Exp; lines: +2 -2 Add USE_GETTEXT and bump PORTREVISION. Submitted by: trevor Tested by: bento
v. 1.44 date: 2004/01/23 18:11:48; author: trevor; state: Exp; lines: +1 -1 Now gettext 0.12.1 is gettext-old.
v. 1.43 date: 2003/09/01 03:30:08; author: seanc; state: Exp; lines: +2 -1 Add CONFLICTS for bison/bison1875. PR: ports/56242 Submitted by: Thierry Thomas
v. 1.42 date: 2003/08/26 20:25:39; author: marcus; state: Exp; lines: +1 -0 Bump the PORTREVISION for the ports directly affected by the gettext upgrade. Prodded by: kris
v. 1.41 date: 2003/08/25 05:41:22; author: marcus; state: Exp; lines: +1 -1 Chase the libintl.so shared lib version.
v. 1.40 date: 2003/07/29 06:35:27; author: daichi; state: Exp; lines: +8 -0 update devel/bison: add WITHOUT_NLS support The patch allows bison to be compiled without gettext support, for use when space is tight or the gettext dependency is not desired. PR: 48824 Submitted by: Matthias Andree
v. 1.39 date: 2003/02/20 17:06:39; author: knu; state: Exp; lines: +1 -0 De-pkg-comment.
v. 1.38 date: 2002/11/16 00:48:39; author: marcus; state: Exp; lines: +2 -1 Add a RUN_DEPENDS on gm4 to prevent bison from failing with many ports. Approved by: kris Discussed on ports
v. 1.37 date: 2002/11/10 16:45:28; author: lioux; state: Exp; lines: +0 -2 o Rollback PORTCOMMENT modifications while this feature's implementation is better studied o Turn PORTCOMMENT variable in Makefile back into pkg-comment files Approved by: kris (portmgr hat), portmgr, re (silence)
v. 1.36 date: 2002/11/06 22:44:22; author: adamw; state: Exp; lines: +2 -0 Use PORTCOMMENT in the Makefile, and whack the pkg-comment. Approved by: pat
v. 1.35 date: 2002/10/24 20:04:48; author: will; state: Exp; lines: +1 -0 Add dependency on GNU m4 for the build. Found by portbuild.
v. 1.34 date: 2002/10/24 13:55:31; author: dwcjr; state: Exp; lines: +4 -9 Update to 1.75 PR: 44223 Submitted by: tkato@prontomail.com
v. 1.33 date: 2002/09/14 13:32:05; author: sobomax; state: Exp; lines: +4 -0 Due to popular demant into each port which might be inserted into dependency list by bsd.port.mk insert anti foot-shooting device, which prevents infinite fork loop when the user defines corresponding USE_XXX in global make.conf, command line or environment. Similar devices should probably be inserted into ports that might be inserted into dependency list by others bsd.foo.mk files (bsd.ruby.mk, bsd.python.mk and so on.)
v. 1.32 date: 2002/04/30 08:29:55; author: sobomax; state: Exp; lines: +14 -13 Don't install own copy of charset.alias - use one from libiconv instead. Bump PORTREVISION.
v. 1.31 date: 2002/04/06 19:30:16; author: demon; state: Exp; lines: +1 -2 Upgrade to 1.35.
v. 1.30 date: 2002/03/24 16:06:54; author: demon; state: Exp; lines: +1 -0 USE_BZIP2
v. 1.29 date: 2002/03/19 10:18:35; author: ache; state: Exp; lines: +1 -3 Remove iconv->giconv hack
v. 1.28 date: 2002/03/18 10:27:47; author: knu; state: Exp; lines: +1 -0 Bump PORTREVISION to reflect the (lib)iconv upgrade.
v. 1.27 date: 2002/03/18 09:46:38; author: sobomax; state: Exp; lines: +1 -1 Iconv cleanup, stage 1b: correct {BUILD,LIB,RUN}_DEPENDS of all ports that need libiconv.
v. 1.26 date: 2002/03/16 12:19:55; author: demon; state: Exp; lines: +1 -2 Upgrade to 1.34.
v. 1.25 date: 2002/03/14 16:05:31; author: naddy; state: Exp; lines: +2 -2 Limit s/iconv/giconv/ to the actually used files in order to avoid triggering an auto* build cascade.
v. 1.24 date: 2002/03/13 19:34:39; author: knu; state: Exp; lines: +1 -0 Bump PORTREVISION for the last fix.
v. 1.23 date: 2002/03/13 01:23:26; author: naddy; state: Exp; lines: +7 -7 This requires ngettext(). XXX Explicitly build with included libintl for now. PR: 35653
v. 1.22 date: 2002/02/17 03:52:38; author: obrien; state: Exp; lines: +2 -2 Update to version 1.33. This version was tested locally by a few trusted committers & friends, and is believed to *actually* be as usable and stable as version 1.28. (unlike *cough*, *cough* other 1.3x versions which have caused no end of problems...)
v. 1.21 date: 2001/12/11 01:58:33; author: obrien; state: Exp; lines: +2 -3 This PORTEPOCH for life crap is stupid. Back out the downgrade, I would have never agreed to it if I had know... This leaves a window of downgradededness 18 hours -- people can just live with that.
v. 1.20 date: 2001/12/10 10:25:54; author: sobomax; state: Exp; lines: +1 -0 Bump PORTEPOCH because PORTVERSION was recently lowered.
v. 1.19 date: 2001/12/10 04:41:18; author: obrien; state: Exp; lines: +2 -2 Back this down to version 1.28 until the Bison developers can acutally do some regression tests on their later releases. Versions 1.29 and 1.30 seg fault where 1.28 did not.
v. 1.18 date: 2001/12/02 07:37:57; author: sobomax; state: Exp; lines: +1 -0 Override CONFIGURE_TARGET - this package generated with autoconf-2.52 needs a different semantics than our bsd.port.mk provides.
v. 1.17 date: 2001/11/29 15:24:04; author: obrien; state: Exp; lines: +2 -2 Upgrade to Bison 1.30. Version 1.29 had several problems that I believe 1.30 fixes (looking at the ChangeLog).
v. 1.16 date: 2001/09/23 06:40:35; author: sf; state: Exp; lines: +6 -2 unify info files (no v. bump needed).
v. 1.15 date: 2001/09/23 00:21:22; author: obrien; state: Exp; lines: +2 -6 Update to 1.29 * Added `-g' and `--graph'. * Added `--locations' and `%locations'. * Added `-S' and `--skeleton'. * `%raw', `-r', `--raw' is disabled. * Special characters are escaped when output. This solves the problems * New directives. `%yacc', `%fixed_output_files', `%defines', `%no_parser', `%verbose', `%debug', `%source_extension' and `%header_extension'. * The input and the output files has automatically a similar extension. Submitted by: demon
v. 1.14 date: 2001/07/16 18:04:52; author: demon; state: Exp; lines: +4 -1 Add Russian messages. Approved by: obrien
v. 1.13 date: 2000/06/12 10:12:45; author: sobomax; state: Exp; lines: +2 -2 Explicitly add -lintl into LDFLAGS, because stupid configure script doesn't bother to do it.
v. 1.12 date: 2000/06/12 10:00:36; author: sobomax; state: Exp; lines: +6 -1 Use installed libintl instead of the port's own version.
v. 1.11 date: 2000/04/11 21:27:11; author: mharo; state: Exp; lines: +3 -3 PORTNAME/PORTVERSION update
v. 1.10 date: 2000/03/22 00:26:40; author: obrien; state: Exp; lines: +2 -1 Restore useless version required comments.
v. 1.9 date: 2000/03/20 02:36:06; author: obrien; state: Exp; lines: +1 -2 Remove the "version required" line.
v. 1.8 date: 2000/02/13 03:23:04; author: obrien; state: Exp; lines: +7 -9 Style nits in the ports I maintain.
v. 1.7 date: 2000/01/19 16:01:53; author: asami; state: Exp; lines: +2 -2 Comment out second MAINTAINER line.
v. 1.6 date: 2000/01/17 11:31:29; author: obrien; state: Exp; lines: +2 -1 With Bison being shown the door in 4.0-CURRENT, we need the Bison port back.
v. 1.5 date: 1999/10/06 08:11:24; author: obrien; state: dead; lines: +1 -1 The latest Bison is now in the base system (and has been for a while). This port is no longer needed.
v. 1.4 date: 1999/08/25 05:47:26; author: obrien; state: Exp; lines: +1 -1 Change Id->FreeBSD.
v. 1.3 date: 1999/08/11 04:36:48; author: cpiazza; state: Exp; lines: +1 -1 The last commit cited a bogus PR. It was really: PR: 12936
v. 1.2 date: 1999/08/11 04:34:50; author: cpiazza; state: Exp; lines: +3 -3 Update to version 1.28 PR: 13054 Submitted by: maintainer
v. 1.1 date: 1999/05/03 03:18:07; author: steve; state: Exp; branches: 1.1.1; Initial revision
v. 1.1.1.1 date: 1999/05/03 03:18:07; author: steve; state: Exp; lines: +0 -0 Initial import of bison version 1.27. GNU's YACCalike parser generator. PR: 10839 Submitted by: Jerry Hicks =============================================================================



Main menu

FreeBSD

Program categories

Freebsd accessibility
Freebsd archivers
Freebsd astro
Freebsd audio
Freebsd benchmarks
Freebsd biology
Freebsd cad
Freebsd chinese
Freebsd comms
Freebsd converters
Freebsd databases
Freebsd deskutils
Freebsd devel
Freebsd dns
Freebsd editors
Freebsd emulators
Freebsd finance
Freebsd french
Freebsd ftp
Freebsd games
Freebsd german
Freebsd graphics
Freebsd hebrew
Freebsd hungarian
Freebsd irc
Freebsd japanese
Freebsd java
Freebsd korean
Freebsd lang
Freebsd mail
Freebsd math
Freebsd mbone
Freebsd misc
Freebsd multimedia
Freebsd net
Freebsd net-im
Freebsd net-mgmt
Freebsd net-p2p
Freebsd news
Freebsd palm
Freebsd polish
Freebsd ports-mgmt
Freebsd portuguese
Freebsd print
Freebsd russian
Freebsd science
Freebsd security
Freebsd shells
Freebsd sysutils
Freebsd textproc
Freebsd ukrainian
Freebsd vietnamese
Freebsd www
Freebsd x11
Freebsd x11-clocks
Freebsd x11-drivers
Freebsd x11-fm
Freebsd x11-fonts
Freebsd x11-servers
Freebsd x11-themes
Freebsd x11-toolkits
Freebsd x11-wm