Last Update Time-stamp: "97/08/27 08:12:43 zdu"
Zyacc provides the following enhancements:
%look directive to
check (at parser construction time) whether a reduction requires lookahead.
You can view a live demonstration of the GUI debugger, or browse the zyacc manual (which is derived from the Bison manual).
The distribution comes with a Prolog frontend which illustrates the use of semantic predicates to handle Prolog's dynamic operators. You can view the zyacc parser file, the associated lex scanner and its interface, a file which tracks current operators and its interface, and some implementation notes.
You can also look at the use of zyacc to build a C-frontend for a source-to-source profiling tool zprof. The use of semantic predicates enables a clean solution to the problem of parsing typedef-name's in C.
If you are interested, you can view a Java applet which demonstrates different parsing algorithms: recursive-descent, LL(1) table-driven parsing and shift-reduce parsing. The GUI to the zyacc debugger is built using some of the same Java classes.
You can download the full distribution including all documentation from zyacc-1.03.tar.gz (1119423 bytes) If you have a slow network connection, a subset distribution is in zyacc-1.03-min-doc.tar.gz ( 631962 bytes) This is the full distribution minus the automatically generated documentation. To build the full documentation from the subset distribution, you will need TeX, texinfo, dvips and texi2html.
If you do not need any of the above features, you are probably better off using GNU's bison which is almost definitely more stable. Also if LALR parsing is not your cup of tea, you should check out a LL(k) parser generator PCCTS.
Feedback: Please email any feedback to zdu@acm.org.