skip to main content
article
Free Access

A genealogy of control structures

Published:01 November 1975Publication History
Skip Abstract Section

Abstract

The issue of program control structures has had a history of heated controversy. To put this issue on a solid footing, this paper reviews numerous theoretical results on control structures and explores their practical implications.

The classic result of Böhm and Jacopini on the theoretical completeness of if-then-else and while-do is discussed. Several recent ideas on control structures are then explored. These include a review of various other control structures, results on time/space limitations, and theorems relating the relative power of control structures under several notions of equivalence.

In conclusion, the impact of theoretical results on the practicing programmer and the importance of one-in, one-out control structures as operational abstractions are discussed. It is argued further that there is insufficient evidence to warrant more than if-then-else, while-do, and their variants.

References

  1. 1 Allen, F.E., and Cocke, J. A catalogue of optimizing transformations. In Randall Rustin (Ed.), Compiler Optimization. 5tb Courant Computer Science Symposium, Prentice-Hall, Englewood Cliffs, N.J., 1972, (pp. 1-30).]]Google ScholarGoogle Scholar
  2. 2 Ashcroft, E. and Manna, Z. The translation of"GOTO" programs to "WHILE" programs. Rep. No. STAN-CS-71-188, Comput. Sci. Dep., Stanford U., 1971.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 Bochmann, G. V. Multiple exits from a loop without the GOTO. Comm. ACM 16, 7 (July, 1973) 443-444.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Bohm, C., and Jacopini, G. Flow diagrams, Turing machines and languages with only two formation rules. Comm. ACM, 9, 5 (May 1966), 366-371.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Bruno, J., and Steiglitz, K. The expression of algorithms by charts. J. ACM, 19, 3 (July 1972), 517-525.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Cooper, D.C. Some transformations and standard tbrms of graphs with applications to computer programs. In E. Dale and D. Michie (Eds.), Machine Intelligence 2. American Elsevier, New York, 1968, pp. 21-32.]]Google ScholarGoogle Scholar
  7. 7 Dijkstra, E. W. Notes on structured programming. In Structured Programming. W.J. Dahl, E.W. Dijkstra, and C.A.H. Hoare, Academic Press, New York, 1972, pp. 1-82.]] Google ScholarGoogle Scholar
  8. 8 Friedman, D., and Shapiro, S. A case for the while-until. SIGPLAN Notices (ACM newsletter) 9, 7 (July 1974), 7-14.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Gross, J.L., and Brainerd, W.S. Fundamental Programming Concepts. Harper and Row, New York, 1972.]]Google ScholarGoogle Scholar
  10. 10 Henderson, P., and Snowdon, R. An experiment in structured programming. BIT 12 (1972), 38-53.]]Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 Hoare, C.A.H., and Wirth, N. An axiomatic definition of the programming language PASCAL. Acta blformatica 2 (1973), 335-355.]]Google ScholarGoogle Scholar
  12. 12 Kernigham, B.W., and Plauger, P.J. The Elements of Programming Style. McGraw-Hill, New York, 1974.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Knuth, D.E. Structured programming with GOTO statements. Computing Surveys, 6 (Dec. 1974) 261-301.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14 Knuth, D.E., and Floyd, R.W. Notes on avoiding GO TO statements. Rep. No. CS-148, Comput. Sci. Dep. Stanford U., 1970.]]Google ScholarGoogle Scholar
  15. 15 Kosaraju, R. Analysis of structured programs J. Comput. and Syst. Sci., 9, 3 (Dec. 1974), 232-255. Tech. Rep. No. 72-11, Elect. Eng. Dep., Johns Hopkins U. 1972.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Leavenworth, B. M. Programming with(out) me GOTO. Proc. ACM Nat. Conf., 1972, pp. 782-786.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Ledgard, H. F. Programming Proverbs. Hayden Publishing Co., Rochelle Park, N.J., 1975.]]Google ScholarGoogle Scholar
  18. 18 McKeeman, W.M., Horning, J.J., and Wortman, D.B. A Compiler Generator. Prentice-Hall, Englewood Cliffs, N.J., 1970.]]Google ScholarGoogle Scholar
  19. 19 Mills, H.D. Mathematical foundations for structured programming. FSC 72-6012 Federal System Division, IBM Corp., Gaithersburg, Md., 1972.]]Google ScholarGoogle Scholar
  20. 20 Neely, P.M. On program control structure. Proc. ACM Nat. Conf. 1973, pp. 119-125.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 Peterson, W.W., Kasami, T., and Tokura, N. On the capabilities of while, repeat, and exit statements. Comm. ACM, 16, 8 (Aug. 1973), 503-512.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 Sites, R.L. Proving tbat computer programs terminate cleanly. Rep. No. STAN-CS-74-418, Comput. Sci. Dep., Stanford U., 1974.]]Google ScholarGoogle Scholar
  23. 23 Wirth, N. The programming language PASCAL. Revised report, Eidgenoessische Technische Hochschule, Zurich, 1972.]]Google ScholarGoogle Scholar
  24. 24 Wirth, N. Program development by stepwise refinement. Comm. ACM, 14, 4 (Apr. 1971), 221-227.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 Wulf, W.A., Russell, D.B., and Habermann, A.N. BLISS: A language for systems programming. Comm. ACM, 14, 12 (Dec. 1971), 780--790.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 Zahn, C.T., A conlrol statement for natural top-down structured programming. Sym!b. on Ping. Lang., Paris, 1974.]]Google ScholarGoogle Scholar

Index Terms

  1. A genealogy of control structures

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image Communications of the ACM
              Communications of the ACM  Volume 18, Issue 11
              Nov. 1975
              54 pages
              ISSN:0001-0782
              EISSN:1557-7317
              DOI:10.1145/361219
              Issue’s Table of Contents

              Copyright © 1975 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 November 1975

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader