]> git.saurik.com Git - bison.git/blame - REFERENCES
Merge tag 'v2.5.1_rc2'
[bison.git] / REFERENCES
CommitLineData
07f68b11
RS
1From phr Tue Jul 8 10:36:19 1986
2Date: Tue, 8 Jul 86 00:52:24 EDT
3From: phr (Paul Rubin)
4To: riferguson%watmath.waterloo.edu@CSNET-RELAY.ARPA, tower
5Subject: Re: Bison documentation?
6
7The main difference between Bison and Yacc that I know of is that
8Bison supports the @N construction, which gives you access to
9the starting and ending line number and character number associated
10with any of the symbols in the current rule.
11
12Also, Bison supports the command `%expect N' which says not to mention
13the conflicts if there are N shift/reduce conflicts and no reduce/reduce
14conflicts.
15
16The differences in the algorithms stem mainly from the horrible
17kludges that Johnson had to perpetrate to make Yacc fit in a PDP-11.
18
19Also, Bison uses a faster but less space-efficient encoding for the
20parse tables (see Corbett's PhD thesis from Berkeley, "Static
21Semantics in Compiler Error Recovery", June 1985, Report No. UCB/CSD
9e6e7ed2 2285/251), and more modern technique for generating the lookahead sets.
8dd162d3
PE
23(See Frank DeRemer and Thomas Pennello, "Efficient Computation of
24LALR(1) Look-Ahead Sets", ACM Transactions on Programming Languages
25and Systems (TOPLAS) 4, 4 (October 1982), 615-649. Their
07f68b11
RS
26technique is the standard one now.)
27
e9690142
JD
28 paul rubin
29 free software foundation
07f68b11
RS
30
31
8dd162d3
PE
32[DeRemer-Pennello reference corrected by Paul Eggert <eggert@cs.ucla.edu>,
33 2004-06-21.]