The CIL compiler for Core Standard ML (Dimock, Muller, Turbak, Westmacott 1997-2001) used code from the front end from the SML/NJ compiler. In 1997 the only reasonable place to split the SML/NJ compiler was after FLINT code had been generated. There were two problems with this: (1) in the late 1990s FLINT was a moving target. (2) FLINT is purely expression based but we wanted to keep some information about declarations, which involved many small patches to the front end. This resulted in making it prohibitively expensive to update to new versions of SML/NJ.
This project, based on SML/NJ 110.42 splits the SML/NJ at the ABSYN representation, which preserves declarations. To do this, Chris Wolff rewrote the elaboration pass (including the pattern compiler) to be a function from ABSYN to ABSYN rather than from ABSYN to FLINT. I provided code to rip the basis information from a SML/NJ compiler so that we could create a standalone package without pulling in CM and other bulky parts of the SML/NJ compiler.
See here for a guide to this code.
The MLton compiler for Standard ML has a very nice SSA representation where rather than having explicit φ functions, a transfer between blocks is represented as a tail-call with the arguments being the values of any variables that would be given φ functions in the target block in a standard SSA representation.
I found the MLton representation to be relatively easy to translate into a language of first-order functional schemes.
See here for a harness taking just enough of the MLton compiler to get to SSA form.
Find code here and rdoc documentation here.
This code runs a https server that serves specific OpenOffice spreadsheets. It responds to GET request providing a (hopefully) secret identifier by returning a html table containing some standard header and footer lines from the spreadsheet plus the line matching the secret identifier.
UnpacktoGrade.csh just unpacks the .tgz files from the submission directory into individual subdirectories - a no-brainer.
PrintHomeworkText.csh prints
printable files in student's homework directories, based on
extension, along with a manifest of the directory. This handles
text files with an extension of .txt, Postscript and
Portable Document Format files with extensions .ps and
.pdf respectively, and JPEG files with .jpg
or .jpeg extensions.
This script does not handle .doc files since OpenOffice
writer often has problems with formulas or figures in MSWord documents.