Skip to main content

EriLex: An Embedded Domain Specific Language Generator

  • Conference paper
Objects, Models, Components, Patterns (TOOLS 2010)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6141))

Abstract

EriLex is a software tool for generating support code for embedded domain specific languages (EDSLs). It supports specifying syntax, static semantics, and dynamic semantics of an EDSL, mixing the method chaining style and the functional nesting style in the EDSL embedding, and using native types and values in the EDSL. The EriLex approach to EDSL embedding assumes only basic object-oriented features and generics in the host language and does not require any particular technology in the definition or implementation of host languages and tools. The generated support code allows the EDSLs to reuse not only host language compilers but also host language semantic editors.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. jMock, http://www.jmock.org

  2. Meta Programming System, http://www.jetbrains.com/mps/

  3. Netbeans quality dashboard (2009), http://quality.netbeans.org/sourcelines/summary-teams.html

  4. Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: Tools for implementing domain-specific languages. In: ICSR ’98, p. 143. IEEE Computer Society, Washington (1998)

    Google Scholar 

  5. Bravenboer, M., Visser, E.: Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions. In: OOPSLA ’04, pp. 365–383. ACM, New York (2004)

    Chapter  Google Scholar 

  6. Carette, J., Kiselyov, O., Shan, C.c.: Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages. J. Funct. Program. 19(5), 509–543 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  7. Clark, T., Sammut, P., Willans, J.: Superlanguages, Developing Languages and Applications with XMF, 1st edn. Ceteva (2008)

    Google Scholar 

  8. Cremet, V., Garillot, F., Lenglet, S., Odersky, M.: A core calculus for Scala type checking. In: Královič, R., Urzyczyn, P. (eds.) MFCS 2006. LNCS, vol. 4162, pp. 1–23. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Engelfriet, J., Vogler, H.: Pushdown machines for the macro tree transducer. Theor. Comput. Sci. 42(3), 251–368 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  10. Fogarty, S., Pasalic, E., Siek, J., Taha, W.: Concoqtion: indexed types now? In: PEPM ’07, pp. 112–121. ACM, New York (2007)

    Chapter  Google Scholar 

  11. Grönniger, H., Krahn, H., Rumpe, B., Schindler, M., Völkel, S.: MontiCore: a framework for the development of textual domain specific languages. In: ICSE Companion, pp. 925–926 (2008)

    Google Scholar 

  12. Hudak, P.: Building domain-specific embedded languages. ACM Computing Surveys 28 (1996)

    Google Scholar 

  13. Kennedy, A., Russo, C.V.: Generalized algebraic data types and object-oriented programming. In: OOPSLA ’05, pp. 21–40. ACM, New York (2005)

    Chapter  Google Scholar 

  14. King, G., Bauer, C., Andersen, M.R., Bernard, E., Ebersole, S.: Hibernate reference documentation 3.5.1 (2010), http://www.hibernate.org/docs.html

  15. Klint, P.: A meta-environment for generating programming environments. In: Bergstra, J.A., Feijs, L.M.G. (eds.) Algebraic Methods 1989. LNCS, vol. 490, pp. 105–124. Springer, Heidelberg (1991)

    Google Scholar 

  16. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)

    Article  Google Scholar 

  17. Pasalic, E., Taha, W., Sheard, T.: Tagless staged interpreters for typed languages. SIGPLAN Not. 37(9), 218–229 (2002)

    Article  Google Scholar 

  18. Peyton Jones, S., Vytiniotis, D., Weirich, S., Washburn, G.: Simple unification-based type inference for GADTs. SIGPLAN Not. 41(9), 50–61 (2006)

    Article  Google Scholar 

  19. Pfenning, F., Elliot, C.: Higher-order abstract syntax. In: PLDI ’88, pp. 199–208. ACM, New York (1988)

    Chapter  Google Scholar 

  20. Renggli, L., Denker, M., Nierstrasz, O.: Language Boxes: Bending the host language with modular language changes. In: SLE ’09, pp. 274–293 (2009)

    Google Scholar 

  21. Seaton, C.: A programming language where the syntax and semantics are mutable at runtime. Tech. Rep. CSTR-07-005, University of Bristol (2007)

    Google Scholar 

  22. Sewell, P., Nardelli, F.Z., Owens, S., Peskine, G., Ridge, T., Sarkar, S., Strniša, R.: Ott: effective tool support for the working semanticist. In: ICFP ’07, pp. 1–12. ACM, New York (2007)

    Chapter  Google Scholar 

  23. Tratt, L.: The Converge programming language. Tech. Rep. TR-05-01, Department of Computer Science, King’s College London (2005)

    Google Scholar 

  24. Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. SIGPLAN Not. 38(1), 224–235 (2003)

    Article  Google Scholar 

  25. Xi, H., Scott, D.: Dependent types in practical programming. In: POPL ’98, pp. 214–227. ACM Press, New York (1998)

    Google Scholar 

  26. Xu, H.: A general framework for method chaining style embedding of domain specific languages. UNC Technical Report (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Xu, H. (2010). EriLex: An Embedded Domain Specific Language Generator. In: Vitek, J. (eds) Objects, Models, Components, Patterns. TOOLS 2010. Lecture Notes in Computer Science, vol 6141. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13953-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13953-6_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13952-9

  • Online ISBN: 978-3-642-13953-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics