[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BNF or Wirth parser in LISP?

    Date: Tue, 26 Jan 1993 09:48 EST
    From: James Sims <sims@scra.org>

     Does anyone know of some public domain code to convert BNF or Wirth notation
     into a tokenizer or parser for Common LISP?


Here's what the comp.lang.lisp FAQ has about parser generators.

Parser Generators:

   Mark Johnson <mj@cs.brown.edu> has written a LALR parser generator
   for Common Lisp. It is fairly small (about 500 lines of code) and
   can be found in the Lisp Utilities Repository above.

   IPG (Incremental Parser Generator) is available by email from 
   Jan Rekers <rekers@cwi.nl>.  It is an appendix to his thesis. It is
   written in LeLisp, but should be portable to other Lisp dialects.

   Zebu 0.9 is a parser generator for Scheme written by William M. Wells III.
   It lives in the Scheme Repository nexus.yorku.ca and works with
   PC-Scheme from TI and MIT C-Scheme 6.2 (but not with anything after 7.0).

   Zebu 2.2 is a parser generator for Common Lisp by Joachim H. Laubsch
   <laubsch@hplabs.hpl.hp.com>.  It is an extention written in Common
   Lisp of the Scheme version.  This implimentation has been tested in
   Lucid CL, Allegro CL, and MCL 2.0b.

Here's information on the Lisp Utilities repository and Scheme

   The Lisp Utilities collection is accessible by anonymous ftp
   to any CMU CS machine (e.g., ftp.cs.cmu.edu [])
   or through AFS in the directory
   If accessing this directory through anonymous ftp, it is 
   important to "cd" to the directory using one atomic operation, as
   some of the superior directories on the path are protected from
   access by an anonymous ftp.

   The Scheme Repository contains a Scheme bibliography, copies of the
   R4RS report and other papers, sample Scheme code for a variety of
   purposes, several utilities, and some implementations. The Scheme code
   includes code for calendar calculations, Earley parser, FORMAT for
   Scheme, a scheme version of the Gabriel benchmarks, Marc Feeley's
   minimal object support for Scheme, a Scheme pretty-printer, a Prolog
   interpreter written in Scheme, a random number generator in Scheme, an
   implementation of SCOOPS, code from Abelson and Sussman's SICP book,
   Aubrey Jaffer's IEEE/R^3.99RS compliance test, and a LALR(1) parser.
   The repository is maintained by Ozan S. Yigit, scheme@nexus.yorku.ca.
   The repository is accessible by anonymous ftp at nexus.yorku.ca
   [] in the directory pub/scheme/.

For more information you can FTP the entire FAQ file from

P.S. Wouldn't this question have been more appropriate for the
COMMON-LISP mailing list than SLUG?  It doesn't seem to be specific to