From phr Tue Jul 8 10:36:19 1986 Date: Tue, 8 Jul 86 00:52:24 EDT From: phr (Paul Rubin) To: riferguson%watmath.waterloo.edu@CSNET-RELAY.ARPA, tower Subject: Re: Bison documentation? 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 Frank DeRemer and Thomas Pennello, "Efficient Computation of LALR(1) Look-Ahead Sets", ACM Transactions on Programming Languages and Systems (TOPLAS) 4, 4 (October 1982), 615-649. Their technique is the standard one now.) paul rubin free software foundation [DeRemer-Pennello reference corrected by Paul Eggert <eggert@cs.ucla.edu>, 2004-06-21.]