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