Object-oriented software specification in programming language design and implementation
Barrett R. Bryant, Viswanathan Vaidyanathan
Abstract
Barrett R. Bryant, Viswanathan Vaidyanathan
Abstract
An object-oriented formal specification workbench is proposed for defining the syntax and semantics of programming languages, using which the formal properties of different languages can be elaborated and analyzed. Our specification approach is an object-oriented representation, structured around a denotational semantics methodology which abstracts out various common details so that formal syntax and semantics can be defined elegantly. Specific details can be inherited and specialized in defining the semantics of various programming languages, and the reusability and modifiability of many programming language features can be manifested across language paradigms. Furthermore, prototype implementations for these languages may be automatically developed from the formal specifications, providing a mechanism for compiler/interpreter reuse at the specification level.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
An object-oriented formal specification workbench is proposed for defining the syntax and semantics of programming languages, using which the formal properties of different languages can be elaborated and analyzed. Our specification approach is an object-oriented representation, structured around a denotational semantics methodology which abstracts out various common details so that formal syntax and semantics can be defined elegantly. Specific details can be inherited and specialized in defining the semantics of various programming languages, and the reusability and modifiability of many programming language features can be manifested across language paradigms. Furthermore, prototype implementations for these languages may be automatically developed from the formal specifications, providing a mechanism for compiler/interpreter reuse at the specification level.
Key concepts: Programming language, Computer science, Programming language specification, Specification language, Formal specification, Formal semantics (linguistics), Second-generation programming language, Denotational semantics