]> git.saurik.com Git - bison.git/blame - REFERENCES
c++: symbols can be empty, so use it
[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
45eebca4 12Also, Bison supports the command '%expect N' which says not to mention
07f68b11
RS
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.]