< previous page page_118 next page >

Page 118

non-determinism) could be implemented by having more than one COME FROM statement coming from the same label.
In some ways the FORTAN DO looks like a COME FROM statement. After the terminating statement number/CONTINUE is reached, control continues at the statement following the DO. Some generous FORTRANs would allow arbitrary statements (other than CONTINUE) for the statement, leading to examples like:
63aae95d7142d91b7e908a3e5868baf1.gif 63aae95d7142d91b7e908a3e5868baf1.gif
63aae95d7142d91b7e908a3e5868baf1.gifDO 10 I=1,LIMIT
C imagine many lines of code here, leaving the
C original DO statement lost in the spaghetti
63aae95d7142d91b7e908a3e5868baf1.gifWRITE(6,10) I,FROB(I)
10 FORMAT(1X, I5, G10.4)
in which the trapdoor is just after the statement labeled 10. (This is particularly surprising because the label doesn't appear to have anything to do with the flow of control at all!)
While sufficiently astonishing to the unsuspecting reader, this form of COME FROM statement isn't completely general. After all, control will eventually pass to the following statement. The implementation of the general form was left to Univac FORTRAN, ca. 1975 (though a roughly similar feature existed on the IBM 7040 ten years earlier). The statement AT 100 would perform a COME FROM 100. It was intended strictly as a debugging aid, with dire consequences promised to anyone so deranged as to use it in production code. More horrible things had already been perpetrated in production languages, however; doubters need only contemplate the ALTER verb in COBOL.
COME FROM was supported under its own name for the first time 15 years later, in C-INTERCAL (see INTERCAL, retrocomputing); knowledgeable observers are still reeling from the shock.
comm mode /kom mohd/ n. [ITS: from the feature supporting on-line chat; the term may spelled with one or two m's] Syn. for talk mode.
command key n. [Mac users] Syn. feature key.
comment out vt. To surround a section of code with comment delimiters or to prefix every line in the section with a comment marker; this prevents it from being compiled or interpreted. Often done when the code is redundant or obsolete, but is being left in the source to make the intent of the active code clearer; also when the code in that section is broken and you want to bypass it in order to debug some other part of the code. Compare

 
< previous page page_118 next page >

If you like this book, buy it!