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
Link To Document