Modular Domain-Specific Language Components in Scala

被引:1
|
作者
Hofer, Christian [1 ]
Ostermann, Klaus [2 ]
机构
[1] Aarhus Univ, DK-8000 Aarhus C, Denmark
[2] Univ Marburg, D-35032 Marburg, Germany
关键词
Languages; Design; Embedded Languages; Domain-Specific Languages; Term Representation; Visitor Pattern; Scala;
D O I
10.1145/1942788.1868307
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programs in domain-specific embedded languages (DSELs) can be represented in the host language in different ways, for instance implicitly as libraries, or explicitly in the form of abstract syntax trees. Each of these representations has its own strengths and weaknesses. The implicit approach has good composability properties, whereas the explicit approach allows more freedom in making syntactic program transformations. Traditional designs for DSELs fix the form of representation, which means that it is not possible to choose the best representation for a particular interpretation or transformation. We propose a new design for implementing DSELs in Scala which makes it easy to use different program representations at the same time. It enables the DSL implementor to define modular language components and to compose transformations and interpretations for them.
引用
收藏
页码:83 / 92
页数:10
相关论文
共 50 条
  • [1] Domain-specific language copris for constraint programming in scala
    [J]. Tamura, N., 1600, Japan Society for Software Science and Technology (29):
  • [2] Towards Modular Development of Reusable Language Components for Domain-Specific Modeling Languages in the MagicDraw and MontiCore Ecosystems
    Butting, Arvid
    Gupta, Rohit
    Jansen, Nico
    Regnat, Nikolaus
    Rumpe, Bernhard
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2023, 22 (01): : 1 - 21
  • [3] Scala-based Domain-Specific Language for Creating Accelerator-based SoCs
    Durelli, Gianluca C.
    Spada, Fabrizio
    Pilato, Christian
    Santambrogio, Marco D.
    [J]. 2016 IEEE 30TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2016, : 225 - 232
  • [4] SIGMA: Scala internal domain-specific languages for model manipulations
    [J]. Křikava, Filip (filip.krikava@inria.fr), 1600, Springer Verlag (8767):
  • [5] A Domain-Specific Language for Microservices
    Donham, Jacob
    [J]. PROCEEDINGS OF THE 9TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON SCALA (SCALA '18), 2018, : 2 - 12
  • [6] SIGMA: Scala Internal Domain-Specific Languages for Model Manipulations
    Krikava, Filip
    Collet, Philippe
    France, Robert B.
    [J]. MODEL-DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2014, 2014, 8767 : 569 - 585
  • [7] A Domain-Specific Language for Aviation Domain Interoperability
    Comitz, Paul
    [J]. 2013 INTEGRATED COMMUNICATIONS, NAVIGATION AND SURVEILLANCE CONFERENCE (ICNS), 2013,
  • [8] JAMOOS: A domain-specific language for language processing
    Gil, Joseph Yossi
    Tsoglin, Yuri
    [J]. 2001, University of Zagreb, Faculty of Political Sciences (09)
  • [9] A framework for domain-specific reusable components
    Haddad, H
    Fortner, W
    [J]. SERP'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH AND PRACTICE, VOLS 1 AND 2, 2003, : 384 - 390
  • [10] A DOMAIN-SPECIFIC LANGUAGE FOR ROUTING PROBLEMS
    Hoffmann, Benjamin
    Guckert, Michael
    Farrenkopf, Thomas
    Chalmers, Kevin
    Urquhart, Neil
    [J]. 32ND EUROPEAN CONFERENCE ON MODELLING AND SIMULATION (ECMS 2018), 2018, : 262 - 268