[climacs-devel] incremental GLR and LR parser library
Earl J. Wagner
earljwagner at alum.mit.edu
Sat Feb 4 08:52:32 UTC 2006
Hi all,
I've been following the discussion of parsers on and off and have
something that might be useful to contribute. I packaged up some code
that I have for creating incremental GLR and LR parser generators
from BNF-style language descriptions. The GLR parser is based on
Rekers' incremental algorithm with Farshi's modifications. It is
robust and includes many tests. The LR parser is an implementation of
the standard algorithm from the dragon book. Finally, this includes
Mark Johnson's LALR parse table generator with his permission.
I'm aware that this is a more conventional approach than what is
currently envisioned for the parser for climacs. If using this code
can save effort, however, then I'm willing to help out in building on
it.
The library is asdf-installable and is released under the LLGPL:
www.cs.northwestern.edu/~ewagner/parsers.tar.gz
It uses an extension to cl-ppcre (along with cl-ppcre) that adds
named registers:
www.cs.northwestern.edu/~ewagner/cl-ppcre-e.tar.gz
For testing, It also uses CLUnit that, with a minor modification
(commenting out the package operations in lines 291-292 CLUnit.lisp)
runs in SBCL
www.cs.northwestern.edu/~ewagner/CLUnit.tar.gz
Eventually I'd like to release this library more widely but for right
now I'm interested in getting feedback from anyone who finds them
immediately useful. In particular, the code was written on Allegro
and runs on Allegro 7.0 and SBCL 0.9.0 but has minimal testing on the
latter. Making sure the code runs well for other users and on other
platforms is my main priority right now.
Thanks for any feedback
-Earl
More information about the climacs-devel
mailing list