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.
These details are provided for information only. No information here is legal advice and should not be used as such.