<A HREF="http://www.ics.uci.edu/~juice/">Juice</A> is a portable code structure (which counts as its own *(VM) type) which could be said to store a dataflow tree as might be created by a powerful compiler. Source code is available. It's made to work with _(Oberon), but it's designed to be mostly language-independant, except that the language must have GC, runtime typing capability, and so on.

I'm <em>very</em> impressed; it makes portable code verification and native code generation almost <em>easy</em>. 

<strong>Update:</strong> Juice seems to be a dead project. Some of the following links don't work any more, without replacement(?), and the _(Oberon) page has noted that support has been discontinued. If you find a replacement, update this page please.

A few pointers:
<ul>
<li><A HREF="http://www.ics.uci.edu/~juice/intro.html">Introduction</A>. (dead?)
<li><A HREF="http://www.ics.uci.edu/~oberon/research#Juice">Research</A>. (dead?)
<li><A HREF="http://www.ics.uci.edu/~franz/">Michael Franz</A>.
<li><A HREF="http://www.ics.uci.edu/~kistler/">Thomas Kistler</A> (dead?) but there is reliable information <a href="http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/k/Kistler:Thomas.html">here</a>. 
<li><A HREF="http://www.ics.uci.edu/~franz/SlimBinaries.html">Slim binaries</A>.
</ul>

[Reviewed by _(William Tanksley)]