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.) tw44/cgit/cgit.cgi/'>index : freebsd-ports-graphics
FreeBSD graphics obsolete development ports (https://github.com/freebsd/freebsd-ports-graphics)
aboutsummaryrefslogtreecommitdiffstats
path: root/chinese/cnprint
Commit message (Expand)AuthorAgeFilesLines
* - Support STAGElwhsu2013-11-181-5/+4
* Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1
* - Switch to OPTIONSNGlwhsu2012-11-221-7/+6
* - Get Rid MD5 supportmiwi2011-03-191-17/+0
* - Update MASTER_SITESlwhsu2009-05-181-3/+2
* - Add an option to make default paper size A4lwhsu2009-05-181-1/+10