Hi!

I have a desire to create a universal recompiler for. NET
applications.
Number of .NET languages ​​are constantly growing, and the quality of
CIL assembly is not always high.

I'm going to parse through CECIL .Net assembly, represent it as
program graph (formal dataflow model with selectors / distributors by
Davis & Keller), perform set of high level algoritmic optimizations
and than unload program graph back to CIL.
Want to choose a universal internal representation of the program (to
avoid the transition between representations) and apply those
optimizations that are formally proven. Speed ​of the optimizer has
secondary importance, the main - quality of results.

While this idea at the stage of deliberation. I'm looking for
algorithms that would be applicable for this task.

So, I need an advice - which way to go?
Maybe you have some experience in this area?
What can be read apart from Dragon Book and Steven Muchnik?

PS I've met ProGuard project http://proguard.sourceforge.net/ that
implements lots of optimizations, but it manipulates with java
bytecode. Is there a similiar project for. Net?

-- 
--
mono-cecil

Reply via email to