GCC
MoSync's GCC compiles your program into an assembly-like format called MoSync Intermediate Language (MoSync IL). The GCC backend describes a simple machine with variable number of 32-bit registers and a flat memory model.
MoSync IL contains detailed metadata about your program, such as symbol mappings and control flow information. MoSync IL is extremely rich, so much so in fact that you could pretty well convert it back to its source form if you wanted to.
Pipe-Tool
Pipe-Tool is our transformation engine. It combines the functions of a resource compiler, linker, and code optimizer. It makes use of profile database information to guide the transformation process.
Pipe-Tool combines the MoSync IL output by GCC with the pre-compiled MoSync libraries into various target formats, including MoSync bytecode, Java bytecode, and C/C++ source code. In the process, it also performs code verification, optimization, and dead code elimination to produce very optimized outputs.



