Back to Search
Start Over
An object-oriented approach to language compositions for software language engineering
- 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.
- Subjects :
- Domain-specific language
Language identification
Modeling language
Computer science
media_common.quotation_subject
computer.software_genre
Semantics
Picture language
Very high-level programming language
Formal language
Data control language
Context-sensitive language
media_common
Object-oriented programming
Grammar
business.industry
Programming language
Object language
Context-free language
Natural language programming
Specification language
Formal methods
Syntax
Language primitive
Universal Networking Language
Hardware and Architecture
High-level programming language
Programming language specification
Artificial intelligence
Compiler
business
First-generation programming language
computer
Low-level programming language
Software
Interpreter
Natural language
Natural language processing
Information Systems
Subjects
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