| PLEX86 | ||
Greatest Software Ever Written 4260Greatest Software Ever Written 4261 the abstraction had code blocks that were sequential sequence of instructions ... a code block could be bracketed by... in the early 70s ... i wrote a pli program that analyzed buttembler listing ... abstracting code flow, register & variable useage (including looking for code paths where registers were used w-o setting as well as dead code) ... and then generating higher-level psuedo code. so buttembler is full of conditional branches ... and with a little analysis can be turned into higher level constructs, if-then-else, do-while, do-until, computed-case, etc (as opposed to emulated GOTOs). the problem for some highly optimized kernel routines (implemented in buttembler) ... the original GOTO-flavor (with conditional branches) could be significantly more understandable than some of the abstracted if-then-else, etc representations ... in one or two cases a relatively straight forward routine with a couple hundred machine instructions would translate into if-then-else infrastructure nested 20 deep. I finally had to put in a limit that would limit nested structures to no more than 10-15 deep. part of the issue with GOTOs ... that i later tried to capture with my dump analyzer was reconstructing code flow leading up to a fault (sort of program flow reconstructure or forensics). branch-goto implementations frequently would result in a lot of ambiquity as to exact end flow arriving at a fault location. things like if-then-else construction would somewhat explicitly identify dependencies involved in particular end paths ... and frequently helps in program comprehension. however, i was surprised at the number of instances involving highly optimized buttembler code ... where the if-then-else forms actually decreased comprehension (and the branch-goto forms were actually much easier to understand). since then i've had a number of occasions, in non-buttembler, highly optimized code sections, to use GOTO's as the most straight-forward implementation and ease of understanding.
|
||||
Greatest Software Ever Written 4261 Alt Folklore Computers from Newsgroups The #1 Usenet Provider on the Internet
|
||||