CMU Artificial Intelligence Repository
ZEBU: Zebu parser/unparser generator for Common Lisp
lang/lisp/code/parsing/zebu/
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:
areas/nlp/parsing/
Origin:
ftp.cs.cmu.edu:/user/ai/lang/lisp/code/parsing/zebu/
as the file zebu_332.tgz
cambridge.apple.com:/pub/mcl2/contrib/zebu-2.9.tar.Z
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: laubsch@hplabs.hpl.hp.com
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/Zebu_intro.ps
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
AI.Repository@cs.cmu.edu