Advertisement

Towards the Generation of a Text-Based IDE from a Language Metamodel

  • Anneke Kleppe
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4530)

Abstract

In the model driven world languages are usually specified by a (meta) model of their abstract syntax. For textual languages this is different from the traditional approach, where the language is specified by a (E)BNF grammar. Support for the designer of textual languages, e.g. a parser generator, is therefore normally based on grammars. This paper shows that similar support for language design based on metamodels is not only possible, but is even more powerful than the support based on grammars. In this paper we describe how an integrated development environment for a language can be generated from the language’s abstract syntax metamodel, thus providing the language designer with the possibility to quickly, and with little effort, create not only a new language but also the tooling necessary for using this language.

Keywords

metamodeling domain specific languages text-based languages parsing compilers IDE generation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain- specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  2. The Eclipse Modeling Framework (2007), http://www.eclipse.org/emf
  3. Microsoft DSL tools (2007), http://msdn.microsoft.com/vstudio/DSLTools/
  4. Octopus: OCL Tool for Precise UML Specifications (2007), http://www.klasse.nl/octopus
  5. Antlr (2007), http://www.antlr.org/
  6. Johnson, S.C.: Yacc – yet another compiler compiler. Technical Report CSTR 32, Bell Telephone Labs (July 1974)Google Scholar
  7. Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In: WiSME 2005 4th Workshop in Software Model Engineering (2005)Google Scholar
  8. OCL 2.0 specification. Technical Report ptc/2005-06-06, OMG (2005)Google Scholar
  9. Warmer, J., Kleppe, A.: The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA (2003)Google Scholar
  10. Alanen, M., Porres, I.: A relation between context-free grammars and meta object facility metamodels. Technical Report 606, TUCS (March 2004)Google Scholar
  11. Forsberg, M., Ranta, A.: Labelled BNF: a highlevel formalism for defining well-behaved programming languages. In: Proceedings of the Estonian Academy of Sciences: Physics and Mathematics, number 52, p. 356Google Scholar
  12. Reps, T., Teitelbaum, T.: The synthesizer generator. In: SDE 1: Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments, pp. 42–48. ACM Press, New York, NY, USA (1984)CrossRefGoogle Scholar
  13. MetaEdit+ (2007), http://www.metacase.com/
  14. Hearnden, D., Raymond, K., Steel, J.: MOF-to-text. In: EDOC, pp. 200–211. IEEE Computer Society, Los Alamitos (2002)Google Scholar
  15. Human-usable textual notation (HUTN) specification. Technical Report formal/04-08-01, OMG (2004)Google Scholar
  16. Bardohl, R.: GenGEd: Visual Definition of Visual Languages based on Algebraic graph Transformation. PhD thesis, TU Berlin, Berlin, Germany (1999)Google Scholar
  17. Minas, M.: Generating meta-model-based freehand editors. In: Proceedings of the third International workshop on graph based tools, 2006, EASST, pp. 1–11 (September 2006)Google Scholar
  18. de Lara, J., Vangheluwe, H.: Atom3: A tool for multi-formalism and meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) ETAPS 2002 and FASE 2002. LNCS, vol. 2306, Springer, Heidelberg (2002)Google Scholar
  19. Fondement, F., Baar, T.: Making metamodels aware of concrete syntax. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA. LNCS, vol. 3748, pp. 190–204. Springer, Berlin Heidelberg (2005)Google Scholar
  20. Jouault, F., Bézivin, J., Kurtev, I.: TCS:: a DSL for the specification of textual concrete syntaxes in model engineering. In: GPCE ’06. Proceedings of the 5th international conference on Generative programming and component engineering, pp. 249–254. ACM Press, New York, NY, USA (2006)CrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Anneke Kleppe
    • 1
  1. 1.University TwenteNetherlands

Personalised recommendations