In this paper, we describe how the denotational semantics of programming languages can be implemented in C++, by exploiting the object-oriented programming paradigm. Such implementations are execution models, extremely useful for the study of programming languages. Although C++ is not a natural choice for this problem domain, compared to functional programming languages such as ML, we suggest a type-safe framework implemented in pure C++, that integrates functional characteristics such as high-order functions and is capable of naturally expressing denotational descriptions. Finally, by comparing our approach to possible implementations using functional languages, we investigate extensions to C++ that would be valuable in this problem domain...
Denotational semantics is presented as a valuable theoretical tool, having many applications includi...
A methodology is described for generating provably correct compilers from denotational definitions ...
The theory of domains was established in order to have appropriate spaces on which to define semanti...
It is suggested that denotational semantic definitions of programming languages should be based on ...
Abstract. We describe a parser-translator program that translates typed λ-terms to C++ classes so as...
Recently, several descriptions of object oriented programming languages with denotational semantics ...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Many different semantic descriptions have been proposed for programming languages and work has been ...
Since the middle of the twentieth century, hundreds of programming languages have been designed and ...
Formal description of a language gives insight into the language itself. The formal description may ...
Denotational semantics is a powerful technique to formally define programming languages. However, la...
Polymorphic types, higher order functions, and partial application are common features in functional...
In this report I describe types of program annotations that could be used in C++ to enhance the test...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
Introduction There are several ways to give a semantics of a programming language. Each kind of sem...
Denotational semantics is presented as a valuable theoretical tool, having many applications includi...
A methodology is described for generating provably correct compilers from denotational definitions ...
The theory of domains was established in order to have appropriate spaces on which to define semanti...
It is suggested that denotational semantic definitions of programming languages should be based on ...
Abstract. We describe a parser-translator program that translates typed λ-terms to C++ classes so as...
Recently, several descriptions of object oriented programming languages with denotational semantics ...
Several recently developed semantics systems automatically generate compilers from denotational desc...
Many different semantic descriptions have been proposed for programming languages and work has been ...
Since the middle of the twentieth century, hundreds of programming languages have been designed and ...
Formal description of a language gives insight into the language itself. The formal description may ...
Denotational semantics is a powerful technique to formally define programming languages. However, la...
Polymorphic types, higher order functions, and partial application are common features in functional...
In this report I describe types of program annotations that could be used in C++ to enhance the test...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
Introduction There are several ways to give a semantics of a programming language. Each kind of sem...
Denotational semantics is presented as a valuable theoretical tool, having many applications includi...
A methodology is described for generating provably correct compilers from denotational definitions ...
The theory of domains was established in order to have appropriate spaces on which to define semanti...