This README file is for the kjParsing package which
is experimental software made freely available to whoever
wants to fiddle with it.
WHAT
====
The kjParsing package is a parser generator written in Python
which produces parsers written in Python.
kjParsing package consists of the following
files:
kjParser.py
-- the basic data structures and functions needed for performing
LR parsing in Python.
kjParseBuild.py
-- functions and data structures for SLR grammar
compilation in Python. (It wouldn't be too
difficult to extend these to LR1, but I don't
have any motivation to do so, let me know if you'd
like LR1, and why. Maybe I'll implement it or
give hints on how you can do so.)
kjSet.py
-- Miscellaneous set and graph operations used by
the other two modules.
What the ``kj'' prefix stands for is for me to know
and you to find out. I hope the prefix prevents name
collisions.
Also included are some documentation files and a few example
usage files together with the COPYRIGHT file which explains
that I own the copyright, but you may use the package for any
purpose provided you respect and propagate the copyright, and
understand that I accept no liability whatsoever for any
difficulties you may have.
WHY
===
I'm a programming language experimenter. I've done a lot of language
experiments in Common Lisp, but since there is no good free
implementation of Common Lisp that runs in a lot of different
environments with standard os interfaces, I was unable to share
my toys to any reasonably large audience. Hence I started looking
around for a better platform for my fiddling, and Python looks like
the best choice in existence.
But to do any real fiddling, I needed a parser generator; so
I wrote one in Python.
Please let me know if you try using this package, and pass on any comments
or suggestions. Thanks.
Aaron Watters
Department of Computer and Information Sciences
New Jersey Institute of Technology
University Heights
Newark, NJ 07102
phone (201)596-2666
fax (201)596-5777
home phone (908)545-3367
email:
[email protected]