Language Design for Program Manipulation

  • Authors:
  • Eduardus A. T. Merks;J. Michael Dyck;Robert D. Cameron

  • Affiliations:
  • -;-;-

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

The design of procedural and object-oriented programming languages is considered with respect to how easily programs written in those languages can be formally manipulated. Current procedural languages such as Pascal, Modula-2 and Ada; generally support such program manipulations, except for some annoying anomalies and special cases. Three main areas of language design are identified as being of concern from a manipulation viewpoint: the interface between concrete and abstract syntax; the relationship between the abstract syntax and static semantics naming, scoping and typing; and the ability to express basic transformations (folding and unfolding). Design principles are suggested so that the problems identified for current languages can be avoided in the future.