aboutsummaryrefslogtreecommitdiff
path: root/tools/bison++/REFERENCES
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bison++/REFERENCES')
-rw-r--r--tools/bison++/REFERENCES30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/bison++/REFERENCES b/tools/bison++/REFERENCES
new file mode 100644
index 000000000..b02eb18c5
--- /dev/null
+++ b/tools/bison++/REFERENCES
@@ -0,0 +1,30 @@
+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 "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.)
+
+ paul rubin
+ free software foundation
+
+