			    Grail 2.5, March 1996

	Grail is a package of software for symbolic computation with 
	finite machines and regular expressions.  It is freely available 
	to students, educators, and anyone who simply wants to use the 
	software for their own amusement or education.  Commercial uses 
	of Grail, or the incorporation of any part of Grail in a 
	commercial product, is not allowed without our approval.  Grail
	is not in the public domain.

	Installing.
	-----------

	Grail is shipped with binaries for RS/6000, Sun Sparc, SGI,
	and Intel 486.  To install these binaries, do one of the following:

	make ibm
	make sun 
	wmake /h /c 486 "MAKE=wmake /h /c" 
	make sgi

	This will create appropriate symbolic links (or, in the case
	of 486, copy the binaries) to filters in bin.

	Compiling.
	----------
	We have compiled Grail 2.5 cleanly in the following environments:

	Compiler		Machine		O/S

	USL cfront 3.0.2	Sparcstation 20	SunOS 4.1.1
	Watcom C++ 9.5		386/slc		DOS 5.0
	Watcom C++ 10.0a	486/DX 33 	DOS 5.0
	Watcom C++ 10.5		Pentium 90 	DOS 5.0
	IBM xlC 1.00		RS/6000 220	AIX 3.2
	Delta/C++ 1.0		Iris Onyx/2	IRIX 5.2
	
	Grail should also work with Sun's CC and DEC's Cxx.  Grail makes 
	extensive use of templates, so any compiler which does not have 
	good template support is not likely to work.  cfront 3.0.1 will
	not compile Grail; since this is the only compiler we have for
	DEC 5500, we do not provide binaries for this architecture in
	this release of Grail.  

	To compile the source code, change the SYS macro in the top level 
	Makefile.  If you want to install filters for the mealy machines
	or regular expression alphabets, then uncomment the necessary lines
	in the Makefile. Then do:

		make 

	This will compile Grail and install the filters.  To test the 
	filters for the char alphabet, do

		make checkout

	If any errors occur, the results will be found in tests/errors/*.

	Using DOS.
	---------

	The DOS version of Grail uses the Rational DOS/4G extender, which 
	has been included in this release.  You will need to place the file
	DOS4GW.EXE somewhere in your path, so that it can be called by
	the Grail filters.

	The Rational/4G extender has the annoying habit of announcing 
	its presence every time you use it.  You can put a gag on this 
	behavior by setting the following environment variable:

	DOS4G=QUIET

	Documentation.
	-------------

	Documentation includes man pages for each of the Grail filters,
	a User's Guide, a Programmer's Guide, the Release Notes, and an
        introductory paper.   You can find these in the "man" and "doc" 
        directories, respectively.  

	Using your own classes.
	----------------------

	The main novelty of Grail Version 2 is that you can parameterize
	machines and expressions with your own types and classes.
	The pair and re classes are examples that you can follow if
	you want to do this parameterization.

	Keep us informed!
	-----------------

	Please report any bugs or suggestions for improvements to
	me at drraymon@csd.uwo.ca.  I will try to fix glaring errors
	as soon as possible; suggested improvements, if worthwhile, 
	will be incorporated in the next release of Grail.

	We'd like to know how Grail suits your needs, and we're 
	particularly interested in any special uses you find for it.
	Please take a moment to send us a message about your
	experiences with Grail, as this is the only way we can
	keep Grail relevant to its users.

	Darrell Raymond
	Department of Computer Science
	University of Western Ontario
	London, Ontario, Canada
	N6A 5B7
	drraymon@csd.uwo.ca
