superdan wrote: >> Complete static analysis of the flow of program control is the holy grail >> of compiler construction. It would allow automatic proof of many program >> properties (such as initialization). It may not be impossible, but it is >> extremely complicated. > > extremely complicated? it's machine haltin' dood.
Ok, since 'complete static analysis' may include undecidable problems such as halting, I agree that in the general case, it's impossible. However, in many practical cases, it may not be. Additionally, the burden of providing loop invariants and ranking functions (to prove termination) could be given to the programmer instead of the compiler. -- Michiel Helvensteijn