Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

On extending Fortran control structures to facilitate structured programming

Published: 01 September 1975 Publication History

Abstract

A number of preprocessors and other extensions of Fortran have been implemented recently, aimed at adding "disciplined" control structures to the language. In spite of wide variations in the details of these dialects, many common features can be perceived. This paper attempts to identify these common features, and to draw some conclusions concerning their relation to a possible future widely acceptable structured Fortran language.Several different kinds of altarnative and lterative structures are described, along with some of the ways they have been implemented. The use of internal procedures for top-down refinement is noted. Few, of the dialects include a general multiple level exit, although in principle thls feature is needed for structured programming. Use of labels seems to be preferable to any alternative way of implementing, this feature in Fortran.Because of the importance of compatibility with existing programs, and for other reasons, it is unlikely that the GO TO staterent will disappear from Fortran in the forseeable future. However. with the addition of new control structures it should be possible to develop processors that warn againtst certain particularly awkward usages of GO TO statements.Further efforts are recommended, including continued support of the ANSI X3J3 Fortran standards committee, and the establishment of a separate group charged with oredicting trends and making timely recommendations for future extensions to the language.

References

[1]
Bochmann, G. V. Multiple exits from a loop without the GO TO. Comm. ACM 16, 7 (Jul. 1973), 443--444
[2]
Cook, A. J., and Shustek, L. J. Mortran 2, a macro-based structured Fortran extension. Digest of papers, COMPCON Spring 1975. IEEE Computer Society, New York, 1975, pp. 245--248.
[3]
Dijkstra, E. W. Lectures on programming methodology. NSF Research Conference, Albuquerque, NM, Jan. 1974 (unpublished).
[4]
Engel, F. Revise standard Fortran? Datamation 20, 5 (May 1974), 164--169.
[5]
Evans, R. V. Multiple exits from a loop using neither GO TO nor labels. Comm. ACM 17, 11 (Nov. 1974), 650.
[6]
Goodenough, J. B. Structured exception handling. Conference Record, Second ACM (SIGACT-SIGPLAN Symposium on Principles of Programming Languages, 1975, pp. 204--224.
[7]
Gries, D. On structured programming -- a reply to Smoliar. Comm. ACM 17, 11 (Nov. 1974), 655--657.
[8]
Hecht, M. S. and Ullman, J. D. Flow graph reducibility. Soc. Ind. Appl. Math. Journal on Computing 1, 2, (Jun, 1972), 188--202.
[9]
Hull, T. E. Would you believe structured Fortran? SIGNUM Newsletter 8, 4 (Oct. 1973), 13--16.
[10]
Kernighan, B. W. Ratfor -- a rational Fortran. Summary, Workshop on Fortran Preprocessors for Numerical Software. SIGNUM, 1974.
[11]
Kernighan, B. W., and Plauger, P. J. The Elements of Programming Style. McGraw-Hill, New York, 1974.
[12]
Kessler, M. M., and Tinanoff, N. Structured programming source language standards: final report. IBM Federal Systems Division, Gaithersburg, MD, 1974.
[13]
Knuth, D. E. Structured programming with GO TO statements. Computing Surveys 6, 4 (Dec. 1974), 261--301.
[14]
Lawson, C. L. Workshop on Fortran preprocessors for numerical software. SIGNUM Newsletter 10, 1 (Jan. 1975), 5--7.
[15]
Martin, J. J. Gentealized structured programming. Proc. AFIPS l974 National Computer Conference, Vol. 43, pp. 665--669.
[16]
Meissner, L. P. A compatible structured extension to Fortran. SIGPLAN Notices 9, 10 (Oct. 1974)
[17]
Meissner, L. P. A method to expose the hidden structure of Fortran programs. Proc. ACM Annual Conference, Nov. 1974, pp. 193--198.
[18]
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.
[19]
Reifer, D. J. The structured Fortran dilemma. SIGNUM Newsletter 10, 2 (Apr. 1975)
[20]
Tenny, T. Structured programming, in Fortran. Datamation 20, 7 (Jul. 1974), 110--115.
[21]
Univac Computer Systems, Sperry Rand Corp. Fortran V Programmer Reference. (1973)
[22]
Wegner, E. Control constructs for programming languages. SIGPLAN Notices 10, 2 (Feb. 1975), 34--41.
[23]
Weaner, E. Tree-structured programs. Comm. ACM 16, 11 (Nov. 1973), 704--705.
[24]
Wirth, N. Program development by stepwise refinement. Comm. ACM 14, 4 (Apr. 1971), 221--227.
[25]
Zahn, C. T. A control statement for natural top-down structured programming. Proc. Colloque sur la Programmation, Paris, Apr. 1974.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 10, Issue 9
September 1975
33 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/987316
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1975
Published in SIGPLAN Volume 10, Issue 9

Check for updates

Author Tags

  1. Fortran
  2. GO TO statements
  3. block structure
  4. compatibility
  5. control structures
  6. language extensions
  7. modular programming
  8. multiple level exit
  9. portability
  10. preprocessors
  11. programming methodology
  12. reducibility
  13. standards
  14. statement labels
  15. structured Fortran
  16. structured programming

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)42
  • Downloads (Last 6 weeks)19
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media