EasyTime++: A case study of incremental domain-specific language development

EasyTime is a domain-specific language (DSL) for measuring time during sports competitions. A distinguishing feature of DSLs is that they are much more amenable to change, and EasyTime is no exception in this regard. This paper introduces two new EasyTime features: classifications of competitors into categories, and the inclusion of competitions where the number of laps must be dynamically determined. It shows how such extensions can be incrementally added into the base-language reusing most of the language specifications. Two case studies are presented showing the suitability of this approach. DOI: http://dx.doi.org/10.5755/j01.itc.42.1.1968

[1]  Iztok Fister,et al.  Implementation of EasyTime formal semantics using a LISA compiler generator , 2012, Comput. Sci. Inf. Syst..

[2]  Bernhard Rumpe,et al.  MontiCore: Modular Development of Textual Domain Specific Languages , 2008, TOOLS.

[3]  Vytautas Štuikys,et al.  MEASURING COMPLEXITY OF DOMAIN MODELS REPRESENTED BY FEATURE DIAGRAMS , 2015 .

[4]  Marjan Mernik,et al.  Aspect-Oriented Attribute Grammars , 2011 .

[5]  Marek Behalek,et al.  Annotation based parser generator , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[6]  Aruna Raja,et al.  Domain Specific Languages , 2010 .

[7]  Faizan Javed,et al.  A memetic grammar inference algorithm for language learning , 2012, Appl. Soft Comput..

[8]  Viljem Zumer,et al.  Incremental programming language development , 2005, Comput. Lang. Syst. Struct..

[9]  Jeffrey C. Carver,et al.  Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments , 2011, Empirical Software Engineering.

[10]  Eric Van Wyk,et al.  Silver: An extensible attribute grammar system , 2008, Sci. Comput. Program..

[11]  Tony Clark,et al.  Superlanguages: developing languages and applications with XMF. , 2008 .

[12]  Maria João Varanda Pereira,et al.  Automatic Generation of Language-based Tools , 2002, Electron. Notes Theor. Comput. Sci..

[13]  Jason Hickey,et al.  Phobos: a front-end approach to extensible compilers , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[14]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[15]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[16]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[17]  Gilles Roussel,et al.  A simple implementation of grammar libraries , 2007, Comput. Sci. Inf. Syst..

[18]  Marjan Mernik,et al.  Embedding DSLs into GPLS: a Grammatical Inference Approach , 2011, Inf. Technol. Control..

[19]  Sebastian Erdweg,et al.  Language composition untangled , 2012, LDTA.

[20]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[21]  Janez Brest,et al.  Design and implementation of domain-specific language easytime , 2011, Comput. Lang. Syst. Struct..

[22]  Paul Klint,et al.  Term Rewriting Meets Aspect-Oriented Programming , 2005, Processes, Terms and Cycles.

[23]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..

[24]  Maria João Varanda Pereira,et al.  Program comprehension for domain-specific languages , 2008, Comput. Sci. Inf. Syst..

[25]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[26]  Jeffrey G. Gray,et al.  Component-based LR parsing , 2010, Comput. Lang. Syst. Struct..

[27]  S. Doaitse Swierstra,et al.  UUAG meets AspectAG: how to make attribute grammars first-class , 2012, LDTA.

[28]  Görel Hedin,et al.  JastAdd--an aspect-oriented compiler construction system , 2003, Sci. Comput. Program..

[29]  Marjan Mernik,et al.  A preliminary study on various implementation approaches of domain-specific language , 2008, Inf. Softw. Technol..

[30]  Tony Mason,et al.  Lex & Yacc , 1992 .

[31]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.