Code Comments
Programming Forum and web based access to our favorite programming groups.In article <n_PCe.121287$HI.53338@edtnps84>, "Oliver Wong" <owong@castortech.com> wrote: > The adding of switches is mainly because this is pretty much the > technique used by all GOTO-eliminating algorithms I've seen discussed in t he > literature and papers I've read on this topic. If there's a way to perform > GOTO removal without adding new switches, I'd very much like to know about > it because generating meaningful names for switches is rather difficult > (these names WILL probably eventually be seen by some human, at least in t he > form of the outline of the program generated at the end, if not directly i n > the COBOL source code itself). > > Whether or not there will be a "switch eliminating phase" is yet to be > seen; it's much too early at this point to tell whether it will be > nescessary, feasible, or even desirable. Right now, when confronted with > "lots of switches" versus "lots of GOTOs", my requirements state that "lot s > of switches" is the lesser of two evils. > > - Oliver In many (not all) cases, you can use knowledge of idiomatic Cobol to remove the need for switches. Consider the common "go to exit": 1234-Some-Para. .. some code ... If condition go to 1234-some-para-exit. .. lots of code ... 1234-Some-Para-Exit. exit. This can always be rewritten as: 1234-Some-Para. .. some code ... If NOT (condition) .. lots of code ... END-IF 1234-Some-Para-Exit. exit. I have a hunch that you can do this without switches EXCEPT for the case where a go to jumps over a paragraph boundary (E.G in a long perform thru).
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.