WARNING: Vortex is a large, resource-hungry beast, intended as a base for research into compiler organization and optimization rather than fast, compact compilation. As one data point, invoking Vortex with full optimizations to compile the Vortex compiler itself (~140K lines of Cecil) from scratch requires ~128MB of main memory and an hour or two of CPU time. On the other hand, compiling a small program without optimization takes only ~20MB of main memory and a minute or two of CPU time, using separately-compiled shared Cecil libraries. Lastly, the Cecil interpreter program supports reading in files of Cecil code and typing in new Cecil code interactively, at negligible waiting time.
A short FAQ on using Cecil and Vortex is also available.
If you want just to play around with Cecil, without downloading a full Vortex Cecil release, you can download a stand-alone Cecil interpreter executable. The interpreter does not include the compiler, static type checker, or other amenities of the full Vortex system. If you want to download some Cecil source code to look at, just download and unpack any of the Cecil front-end tar files listed below and look in the Cecil/src directories. (The Cecil interpreter is already included as part of the Vortex installation, so if you're getting the Vortex system then you don't also need to get the Cecil interpreter.)
Sparc(V8)/Solaris 5.5.x
Sparc(V8)/Solaris 5.8x86/Linux
x86/Windows
You need to download one tar file with common parts of the Vortex infrastructure plus one tar file for each front-end you are interested in. Compressed (via gzip) tar files containing Vortex 3.1 are currently available for the following architecture/OS combinations (other architecture/OS combinations are available as part of the previous release, Cecil/Vortex 3.0; a Mac OS X version is currently being pursued):
Sparc(V8)/Solaris 5.5.x
Sparc(V8)/Solaris 5.8x86/Linux (Note: this Linux version of Vortex may be flakey, and crash when compiling large programs, such as Vortex itself. We have a fixed version, more recent than this release; contact us if you encounter problems with this version of Vortex and want the improved version.)
x86/Windows (Notes: you need to install the Cygwin tools first, including at least gcc/g++, make, tcsh, and perl, and setting the default text file type to Unix instead of DOS [note that gcc version 3.3 seems to crash when compiling some Vortex output, but gcc version 3.2 works]. Also, WinZip converts some newline endings in scripts to cr/nl sequences, which sometimes breaks tcsh. So instead of using WinZip to extract the tar file, save the tar files and use the cygwin tar command to unpack the tar file. If you don't do this, you'll likely get an error when you try to run SETUP to create any needed script wrappers.)
If you cannot run the precompiled Vortex executable included with the tarfile for your operating system, or if you want to try to port Vortex to a new operating system, you can download this tarfile (in addition to the closest appropriate tarfiles above) which contains generated .c and .h files for the Vortex compiler itself. After doing SETUP Vortex, you can unpack this generated .c and .h file tarfile into some directory, do gmake in that directory to compile the Vortex executable (assuming your environment variables are set properly; see the Makefile), and then install the resulting vortex executable into the $VORTEX_HOME/bin/$VORTEX_ARCH directory. Once this works, you can run Vortex to build the Cecil standalone executable, by compiling the cecil.cecil source file.
Bug reports can be sent to cecil-bugs@cs.washington.edu. If possible, please include an exact description of the problem and a short program reproducing the bug.
For more information, check out our home page or email us at chambers@cs.washington.edu . We would be glad to hear about your experiences with Cecil and Vortex!