Penguin
Note: You are viewing an old revision of this page. View the current version.

A DeCompiler transforms a low level langauge to a higher one.

In languages such as Java, where class files are relatively close to the source code and where (currently) the compilers do relatively little in the way optimisation, decompilation is a reasonably option. Decompilation of machine code to C is also possible, but because source and target languages are much further apart much more is lost and the more aggressive the compile-time optimisations, the more is lost.