After removing that sort-like code used within the Reverse Engineering from CIL I'm beginning the API writing to allow Reverse Engineering from sources. Rodolfo, time ago, talked about this idea, I suggested using JavaCC for doing this, he said "Try antlr", now I'm seeing it, trying to build it to then used it in MonoUML.
However, I still don't like the idea to include another dependency (ikvm's dll and so on) in MonoUML, there might be a .NET-based parser generator, but Antlr is quite good and there's also C# support!, however I haven't yet compiled C# runtime, why? there are missing files... you just can't compile it! Not including files in releases drives me crazy, how would I try it and learn it without being able to compile it!?
I'll spend this weekend trying to solve this.