Affiliation:
1. Univ. of Montreal, P. Q., Canada
Abstract
For several years, there has been discussion about the use of the
goto
statement in programming languages [1, 2]. It has been pointed out that
goto
free programs tend to be easier to understand, allow better optimization by the compiler, and are better suited for an eventual proof of correctness. On the other hand, the
goto
statement is a flexible tool for many programmers. Most programming languages have constructs which allow the programmer to write control flows that occur frequently without the use of a
goto
. In particular, the language Pascal [3] contains, besides the
goto
, the following control structures:
if-then-else
,
case
,
while-do
,
repeat-until
, stepping loop. Wulf [4] has described the use of the construct “
leave
〈label〉” in the language Bliss, where 〈label〉 is the name of a program section which is exited when the statement is executed. It is important to note that these constructs are invented to describe control flows that occur frequently in programs. They describe the flow on a higher level [5] than an equivalent construction using a
goto
would do.
Publisher
Association for Computing Machinery (ACM)
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Code Spartanization;Proceedings of the Symposium on Applied Computing;2017-04-03
2. A note on an expressiveness hierarchy for multi-exit iteration;Information Processing Letters;2003-07
3. A generalized iterative construct and its semantics;ACM Transactions on Programming Languages and Systems;1987-10
4. The Hierarchy of Program Control Structures;The Computer Journal;1986-01-01
5. Structured transfer of control;ACM SIGPLAN Notices;1984-10