A generalized control structure and its formal definition

  • Authors:
  • David Lorge Parnas

  • Affiliations:
  • Univ. of Victoria, BC, Canada

  • Venue:
  • Communications of the ACM
  • Year:
  • 1983

Quantified Score

Hi-index 48.27

Visualization

Abstract

A new programming language control structure as well as an improved approach to a formal definition of programming languages are presented. The control structure can replace both iteration and conditional structures. Because it is a semantic generalization of those structures, a single statement using the new control structure can implement the functions of loops, conditionals, and also programs that would require several conventional constructs. As a consequence of this increased capability, it is possible to write algorithms that are simpler, more efficient, and more clearly correct than those that can be written with earlier structured-programming control structures. In order to provide a precise definition of the new constructs, a new version of relational semantics, called LD-relations is presented. An algebra of these relations is developed and used to define the meaning of the new constructs. A short discussion of program development and the history of control structures is included.