Publication Type |
Journal Article |
School or College |
College of Engineering |
Department |
Computing, School of |
Creator |
Lindstrom, Gary E. |
Other Author |
Banavar, Guruduth |
Title |
Modular language processors as framework completions |
Date |
1993 |
Description |
The conceptual and specificational power of denotational semantics for programming language design has been amply demonstrated. We report here on a language implementation method that is similarly semantically motivated, but is based upon object-oriented design principles, and results in flexible and evolvable language processors. We apply this technique to the area of object-oriented (O-O) languages, in the form of a general metalevel architecture for objects and inheritance that facilitates the development of compilers and interpreters for 0-0 languages. This development strategy maintains architectural modularity by mapping conceptual language design decisions to isolatable parts of resulting language processors. Our architecture, which is presented as an OO framework, is characterized by (i) support for a broad set of modularity features including encapsulation and strong typing, and (ii) an "unbundled" view of inheritance, semantic features of which are decomposed by means of a set of module combination operations (combinators). We describe an implementation of our framework in C++, and assess its utility by constructing a compiler for a simple 0 - 0 extension to the programming language C. We further argue the flexibility of the resulting processor by outlining the incorporation of several significant extensions to the basic module language. We claim that the use of such a framework for compiler construction has many advantages, including a systematic language development method, processor software reuse, language extensibility, and potential for interoperability among languages.1 |
Type |
Text |
Publisher |
University of Utah |
First Page |
1 |
Last Page |
18 |
Subject |
Modular language processors; Denotational semantics; Framework completions |
Subject LCSH |
Programming languages (Electronic computers) -- Semantics; Object-oriented programming languages |
Language |
eng |
Bibliographic Citation |
Banavar, G., & Lindstrom, G. E. (1993). Modular language processors as framework completions. 1-18. UUCS-93-026. |
Series |
University of Utah Computer Science Technical Report |
Relation is Part of |
ARPANET |
Rights Management |
©University of Utah |
Format Medium |
application/pdf |
Format Extent |
1,385,738 bytes |
Identifier |
ir-main,16287 |
ARK |
ark:/87278/s6cv51wh |
Setname |
ir_uspace |
ID |
703282 |
Reference URL |
https://collections.lib.utah.edu/ark:/87278/s6cv51wh |