AMC is a programmable compiler/preprocessor. It has a built-in programming language called CGL (Code Generation Language) that lets you add new syntactical elements to the source files that AMC processes. In addition, AMC has a module structure reminescent of the UCSD p-System compiler. AMC comes with a default package that adds a dynamic form of OOP to C.
Seminole Webserver is a portable Web server designed to be used in embedded systems, where memory space is at a premium. It is written in C++, and has a mechanism to direct requests to application-specific code, complete with the decoding of "CGI" parameters. It also includes a "filesystem" that can package up Web content (and optionally compress it) and store it in a ROM or other "flat" device. It comes with a simple example to make it a standalone Webserver under POSIX platforms for evaluation and testing.
> I thought that register renaming
> register-starved architectures the most?
That's what I thought when I read that. I'm almost sure your compiler professor is correct. Relaxing strict register assignments is much more likely to produce better x86 code... assuming its properly implemented.
I haven't taken a look at GCC's optimizer since pre 2.95. Anybody care to do a quick analysis?
Subversion seems very impressive. The idea of the copy-on-write semantics that give you labling and branching are quite well thought-out.
My only complaints about subversion are that it is difficult to install with so many required packages. I also wish the DB was pluggable.
This would be a great project to combine with Katie, the open-source ClearCase clone. You could really export the Subversion filesystem as a filesystem and have little queries based on properties.
That would be quite powerful.