کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
434947 | 1441655 | 2015 | 28 صفحه PDF | دانلود رایگان |
• A new meta-language for defining languages is proposed.
• The meta-language supports modular definition of both syntax and semantics.
• New languages can be embedded in the host language.
• Patterns of definition are shown to support language composition, transformation and extension.
Languages that are used for Software Language Engineering (SLE) offer a range of features that support the construction and deployment of new languages. SLE languages offer features for constructing and processing syntax and defining the semantics of language features. New languages may be embedded within an existing language (internal) or may be stand-alone (external). Modularity is a desirable SLE property for which there is no generally agreed approach. This article analyses the current tools for SLE and identifies the key features that are common. It then proposes a language called XPL that supports these features. XPL is higher-order and allows languages to be constructed and manipulated as first-class elements and therefore can be used to represent a range of approaches to modular language definition. This is validated by using XPL to define the notion of a language module that supports modular language construction and language transformation.
Journal: Science of Computer Programming - Volume 98, Part 4, 1 February 2015, Pages 589–616