FLEX is a compiler infrastructure written in Java for Java. Applications include a program analysis and transformation framework for distributed and embedded systems. Native backends exist for the StrongARM and MIPS processors; it can also generate portable C code that can run on any platform with gcc. It supports both Boehm-Demers-Weiser conservative garbage collection and our own precise garbage collector. We also support region-based allocation via our implementation of the Real-Time Specification for Java. It fully supports several implementations of the standard Java threads package, including a standard heavyweight threads implementation as well as a lightweight user-level implementation. It provides a range of standard compiler analyses and optimizations, as well as unique optimizations for embedded targets, including space optimization.
This project is managed by C. Scott Ananian.
I've been slowly migrating my CVS repositories to git. The FLEX compiler repository (my decade of thesis work at MIT) and JUtil are now newly git-ified -- and I've released version 1.4 of JUtil in the process, for good measure. I've also added FLEX and JUtil to ohloh, for good measure. Enjoy!