In the process of writing a parser, I found some little known (or at least little used) facts.
One interesting one, the following two lines mean the same thing syntactically.
<: :> <% %> %: %:%:
[ ] { } # ##
Using this fact, the following is perfectly valid C:
%:include <stdio.h>int main () <% int a<::> = <%1, 2, 3%>;
return 0; %>
Linux deobfuscator
This is comming along. tk said writing a C parser is "quite tractable". That is quite an understatement. The language is itself described in no less than 160 pages of consise ANSI verbiage. Add to this the GNU C extentions, which there is no small number.
And I am now quite used to a language which is described in one page. So this quite a lot of things to keep strait.
To bad there is not more interest in this. Probably mostly of interest to people creating systems of which there are few.
Might be of use to people who want to get involved with linux too. However, I don't know how much information I will keep around which would be required for someone to get involved with the development.
I expect understanding a part of linux will take %10 of effort that it would take just using a editor. Most of this will just be in reducing the amount you need to read, some additional gains will be in locating information quickly. I think it would be good to put things in pop up windows. Then, you can build a context for understanding a function, by viewing the related data structures and functions.
