From acbdbb2ce1188272df6aff60a093b32afc4c7d5a Mon Sep 17 00:00:00 2001 From: obrien Date: Mon, 17 Jan 2000 11:31:33 +0000 Subject: With Bison being shown the door in 4.0-CURRENT, we need the Bison port back. --- devel/bison-devel/pkg-descr | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 devel/bison-devel/pkg-descr (limited to 'devel/bison-devel/pkg-descr') diff --git a/devel/bison-devel/pkg-descr b/devel/bison-devel/pkg-descr new file mode 100644 index 000000000000..c968b052baf7 --- /dev/null +++ b/devel/bison-devel/pkg-descr @@ -0,0 +1,22 @@ +Bison is a tool used to write parsers, such as the parser for GNU cc. +It is similar to Yacc, which is included in the base FreeBSD system. + +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.) -- cgit