LLVM (Low Level Virtual Machine)
LLVM can provide the middle layers of a complete compiler system, taking intermediate form (IF) code from a compiler and emitting an optimized IF. This new IF can then be converted and linked into machine-dependent assembly code for a target platform. LLVM can accept the IF from the GCC toolchain, allowing it to be used with a wide array of extant compilers written for that project.
http://llvm.org/
clang ( new C, C++, Objective C and Objective C++ front-end for the LLVM compiler )
http://clang.llvm.org/
OdinMonkey
an Asm.js optimising module for Firefox's JavaScript engine
Asm.js is a subset of JavaScript which has been selected firstly to route around the things that tend to slow down Java, such as boxed floating point numbers (Statically-typed languages)
Emscripten is an open source LLVM to JavaScript compiler.
C/C++ => LLVM => Emscripten => JavaScript