This book presents developments of a language independent theory of
program structure. The theory features a simple, natural notion of
control structure which is much broader than in other theories of
programming languages such as denotational semantics and program
schemes. This notion permits treatment of control structures which
involve not only the denotation of programs (i.e., their input/output
behavior), but also their structure, size, run times, etc. The theory
also treats the relation of control structure and complexity properties
of programming languages. The book focuses on expressive
interdependencies of control structures (which control structures can be
expressed by which others). A general method of proving control
structures expressively independent is developed. The book also
considers characterizations of the expressive power of general purpose
programming languages in terms of control structures. Several new
characterizations are presented and two compactness results for such
characterizations are shown.