Francisco Gortázar, Abraham Duarte, Micael Gallego


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.


  1. Alanen, M. and Porres, I. (2003). A relation between context-free grammars and meta object facility metamodels.
  2. Antoniol, G., Penta, M. D., and Merlo, E. (2003). Yaab (yet another ast browser): Using ocl to navigate asts. In IWPC 7803: Proceedings of the 11th IEEE International Workshop on Program Comprehension, page 13, Washington, DC, USA. IEEE Computer Society.
  3. Blasband, D. (2001). Parsing in a hostile world. In Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01), page 291. IEEE Computer Society.
  4. Bloch, J. (2006). How to design a good api and why it matters. In OOPSLA 7806: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming languages, systems, and applications, pages 506-507. ACM Press.
  5. Boshernitsan, M. (2001). Harmonia: A flexible framework for constructing interactive. Technical report.
  6. Clark, T., Evans, A., Sammut, P., and Willians, J. (2004). Applied Metamodelling: A Foundation for Language Driven Development. Xactium.
  7. Favre, J.-M. (2004). Towards a basic theory to model model driven engineering. In 3rd Workshop in Software Model Engineering (WiSME 2004).
  8. Fondement, F., Schnekenburger, R., Gérard, S., and Muller, P.-A. (2006). Metamodel-Aware Textual Concrete Syntax Specification. Technical report.
  9. Gortázar, F., Duarte, A., and Gallego, M. (2007). Representing languages in UML. In Proceedings of the 2nd Conference on Evaluation of Novel Approaches to Software Engineering.
  10. Hedin, G. and Magnusson, E. (2003). Jastadd: an aspectoriented compiler construction system. Sci. Comput. Program., 47(1):37-58.
  11. Herranz, A. and Nogueira, P. (2005). More than parsing. In Lpez Fraguas, F. J., editor, Spanish V Conference on Programming and Languages (PROLE 2005), pages 193-202. Thomson Paraninfo.
  12. Jones, J. (2003). Abstract syntax tree implementation idioms. In Proceedings of the 10th Conference on Pattern Languages of Programs (PLoP'03).
  13. Lieberherr, K. J. (2005). Object-oriented programming with class dictionaries. LISP and Symbolic Computation, 1:185-212.
  14. Paakki, J. (1995). Attribute grammar paradigmsa high-level methodology in language implementation. ACM Comput. Surv., 27(2):196-255.
  15. Vainsencher, D. and Black, A. P. (2006). A pattern language for extensible program representation. In Proceedings of the Pattern Languages of Programming Conference.
  16. Wile, D. S. (1997). Abstract syntax from concrete syntax. In ICSE 7897: Proceedings of the 19th international conference on Software engineering, pages 472-480, New York, NY, USA. ACM Press.
  17. Wimmer, M. and Kramler, G. (2005). Bridging grammarware and modelware. In MoDELS Satellite Events, pages 159-168.

Paper Citation

in Harvard Style

Gortázar F., Duarte A. and Gallego M. (2007). A MDE APPROACH FOR LANGUAGE ENGINEERING . In Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8111-10-4, pages 80-86. DOI: 10.5220/0002586800800086

in Bibtex Style

author={Francisco Gortázar and Abraham Duarte and Micael Gallego},
booktitle={Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},

in EndNote Style

JO - Proceedings of the Second International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
SN - 978-989-8111-10-4
AU - Gortázar F.
AU - Duarte A.
AU - Gallego M.
PY - 2007
SP - 80
EP - 86
DO - 10.5220/0002586800800086