Commit | Line | Data |
---|---|---|
07f68b11 RS |
1 | From phr Tue Jul 8 10:36:19 1986 |
2 | Date: Tue, 8 Jul 86 00:52:24 EDT | |
3 | From: phr (Paul Rubin) | |
4 | To: riferguson%watmath.waterloo.edu@CSNET-RELAY.ARPA, tower | |
5 | Subject: Re: Bison documentation? | |
6 | ||
7 | The main difference between Bison and Yacc that I know of is that | |
8 | Bison supports the @N construction, which gives you access to | |
9 | the starting and ending line number and character number associated | |
10 | with any of the symbols in the current rule. | |
11 | ||
12 | Also, Bison supports the command `%expect N' which says not to mention | |
13 | the conflicts if there are N shift/reduce conflicts and no reduce/reduce | |
14 | conflicts. | |
15 | ||
16 | The differences in the algorithms stem mainly from the horrible | |
17 | kludges that Johnson had to perpetrate to make Yacc fit in a PDP-11. | |
18 | ||
19 | Also, Bison uses a faster but less space-efficient encoding for the | |
20 | parse tables (see Corbett's PhD thesis from Berkeley, "Static | |
21 | Semantics in Compiler Error Recovery", June 1985, Report No. UCB/CSD | |
22 | 85/251), and more modern technique for generating the lookahead sets. | |
23 | (See "Efficient Construction of LALR(1) Lookahead Sets" by F. DeRemer | |
24 | and A. Pennello, in ACM TOPLS Vol 4 No 4, October 1982. Their | |
25 | technique is the standard one now.) | |
26 | ||
27 | paul rubin | |
28 | free software foundation | |
29 | ||
30 |