I played around with the idea a bit yesterday night (the nights are really hot this time in .de :)), and here's a prototype that does some good formatting on my coding style. I don't know how well it works for other coding styles, and the implementation is a bit crude ...
I couldn't get your elegant idea of "most single lines should compile" to work for me, so I resorted mostly to static REs - quite unelegant, as any such list is bound to be incomplete ...
Anyway, if anybody wants to have a look at how a heuristic markup could be done, here's the code (the code is still a bit confused about CODE and PRE tags, but you should get the intention ...) :
Update :D'oh - as soon as I go offline, I see
many problems with the code. So here's an updated version ... Hmm - and I follow the suggestion and put the code into the Code Catacombs instead of posting it here ... The Code