CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

ZEBU: Zebu parser/unparser generator for Common Lisp

Zebu is part of a set of tools for the translation of formal languages. Zebu contains a LALR(1) parser generator like Yacc does. Aside from generating a parser, Zebu will also generate the inverse of a parser (unparser). In contrast to Yacc, the semantics is not given in terms of ``routines'' but declaratively in terms of typed feature structures. Syntax is specified using BNF-like productions and lexical categories are specified using regular expressions. Zebu generates a LALR(1) parsing table. To parse a string with a grammar, only this table and a driver need to be loaded. The present version of Zebu contains the ability to define several grammars and parsers simultaneously, a declarative framework for specifying the semantics, capabilities to define and use meta-grammars (grammars to express a grammar in), as well as efficiency related improvements. The current version compiles a grammar with 300 productions (including dumping of the tables to disk) in approx 2 minutes and 30 seconds on a HP 9000/370. The current version can also produce a generator using a 'reversible grammar' notation, in addition to a parser. Documentation is included with the distribution. This implementation is an extension written in Common Lisp of the Scheme version. (The Scheme version was originally implemented by William M. Wells III.) The 3.4.8 version contains changes that make it work with Allegro CL in Windows.
See Also: 

   as the file zebu_332.tgz

Version: 3.4.8 (8-MAR-96); 3.3.6 (30-AUG-94); 3.3.2 (28-JUL-94) Ports: Tested in Lucid CL and Allegro CL under HP-UX, and MCL 2.0b on the Macintosh Copying: Copyright (c) 1989 by William M. Wells III Copyright (c) 1990-93 by Hewlett-Packard Company. Use, copying, modification and distribution permitted for non-commercial purposes. (See the file named COPYRIGHT in the package for details.) Updated: Thu Mar 7 17:25:22 1996 CD-ROM: Prime Time Freeware for AI, Issue 1-1 Bug Reports: Author(s): Joachim H. Laubsch Keywords: Authors!Laubsch, Formal Languages, HP, Interoperability, LALR, LEX, Lisp!Parsing, NLG, Parser Generator, Parsing, Translation, Unparsing, YACC, Zebu Contains: ZEBU-init.lisp COMPILE-ZEBU.lisp doc/ References: Joachim Laubsch, "ZEBU: A Tool for Specifying Reversible {LALR}(1) Parsers", Technical Report HPL-92-147, Hewlett Packard Laboratories, Palo Alto, CA, November 1992.
Last Web update on Mon Feb 13 10:30:39 1995