Back to Search Start Over

An object-oriented approach to language compositions for software language engineering

Authors :
Marjan Mernik
Source :
Journal of Systems and Software. 86:2451-2464
Publication Year :
2013
Publisher :
Elsevier BV, 2013.

Abstract

HighlightsLanguage composition has not obtained enough attention, is still not well-understood, and associated terminology is confusing.OO techniques and concepts are powerful enough to implement all types of language compositions.Several small examples of different types of language composition are shown using easy to understand DSLs. In this paper, it is shown that inheritance, a core concept from object-oriented programming, is a possible solution for realizing composition of computer languages. Language composability is a property of language descriptions, which can be further classified into informal (language syntax and semantics are hard-coded in compiler/interpreter) and formal language descriptions (syntax and semantics are formally specified with one of several formal methods for language definition). However, language composition is much easier to achieve with declarative formal language descriptions into which the notion of inheritance is introduced. Multiple attribute grammar inheritance, as implemented in the language implementation system LISA, can assist in realizing all of the different types of language compositions identified in Erdweg et al. (2012). Different examples are given throughout the paper using an easy to understand domain-specific language that describes simple robot movement.

Details

ISSN :
01641212
Volume :
86
Database :
OpenAIRE
Journal :
Journal of Systems and Software
Accession number :
edsair.doi...........21eefb07805aecb79580990596b3b881
Full Text :
https://doi.org/10.1016/j.jss.2013.04.087