• DocumentCode
    1216066
  • Title

    Language design for program manipulation

  • Author

    Merks, Eduardus A T ; Dyck, J. Michael ; Cameron, Robert D.

  • Author_Institution
    Sch. of Comput. Sci., Simon Fraser Univ., Burnaby, BC, Canada
  • Volume
    18
  • Issue
    1
  • fYear
    1992
  • fDate
    1/1/1992 12:00:00 AM
  • Firstpage
    19
  • Lastpage
    32
  • 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
  • Keywords
    high level languages; object-oriented programming; software engineering; Ada; Modula-2; Pascal; abstract syntax; language design; naming; object-oriented programming languages; procedural languages; program manipulation; program manipulations; scoping; static semantics; typing; unfolding; Appropriate technology; Concrete; Data structures; Instruments; Process design; Synthesizers;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.120313
  • Filename
    120313