Authors:
Francisco Gortázar
;
Abraham Duarte
and
Micael Gallego
Affiliation:
Universidad Rey Juan Carlos, Spain
Keyword(s):
Model Driven Engineering, Language Engineering, abstract syntax, concrete syntax, DSLs.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Cross-Feeding between Data and Software Engineering
;
Meta-Programming
;
Methodologies, Processes and Platforms
;
Model Transformations and Generative Approaches
;
Model-Driven Engineering
;
Model-Driven Software Development
;
Software Engineering
;
Software Engineering Methods and Techniques
Abstract:
Many development tools of modern Integrated Development Environments (IDEs) make an intensive use of abstract syntax tree (AST) representations of the software. This is the case of refactors, code formatters, or content assistants, among others. Such AST is usually an instance of an object oriented abstract syntax model. We propose to center the attention of Language Engineering (LE) on this model. We propose to use UML as the abstract syntax metamodel because UML tools provide code generators for different programming languages for model implementation. As well as an abstract syntax, a concrete syntax of the language it is also necessary. We are concerned about textual languages, whose concrete syntax is usually given as a BNF grammar. Instead, we propose to stereotype the abstract syntax model by means of a profile, aimed at concrete syntax definition. Applying Model Driven Engineering (MDE) practices several development artifacts can be automatically generated.