Penguin

Differences between current version and revision by previous author of DeCompiler.

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 4 Last edited on Saturday, August 23, 2003 9:32:12 am by AristotlePagaltzis
Older page: version 2 Last edited on Saturday, August 16, 2003 7:22:00 pm by StuartYeates Revert
@@ -1,3 +1,5 @@
-A [DeCompiler] transforms a low level langauge to a higher one
+A [DeCompiler] tries to transform a program available in MachineCode to the ProgrammingLanguage it was originally written in
  
-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
+When the MachineCode is that of a VirtualMachine, as is the case with [Java] class files, it is usually relatively close to the source language. [Compiler]s for such languages also usually do relatively little in the way optimisation. In such cases , decompilation is quite viable, often outright trivial .  
+  
+Contrast with cases when the MachineCode is that of a real silicon [CPU], as is usually the case with [C] code. Such a target language is usually far apart from the source language, and most [Compiler]s optimise quite aggressively. Therefor, it is at least very hard, if not impossible, to infer the language constructs used in the original source code by just looking at the [Compiler] generated MachineCode