A Framework for Extensible Languages

被引:0
|
作者
Erdweg, Sebastian [1 ]
Rieger, Felix [1 ]
机构
[1] Tech Univ Darmstadt, Darmstadt, Germany
关键词
Macros; syntactic extensibility; compiler framework; module system; SugarJ;
D O I
10.1145/2637365.2517210
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Extensible programming languages such as SugarJ or Racket enable programmers to introduce customary language features as extensions of the base language. Traditionally, systems that support language extensions are either (i) agnostic to the base language or (ii) only support a single base language. In this paper, we present a framework for language extensibility that turns a non-extensible language into an extensible language featuring library-based extensible syntax, extensible static analyses, and extensible editor support. To make a language extensible, our framework only requires knowledge of the base language's grammar, the syntax for import statements (which activate extensions), and how to compile base-language programs. We have evaluated the generality of our framework by instantiating it for Java, Haskell, Prolog, JavaScript, and System F-omega, and by studying existing module-system features and their support in our framework.
引用
收藏
页码:3 / 12
页数:10
相关论文
共 50 条
  • [1] An extensible architecture-based framework for coordination languages
    Fink, T
    Otto, K
    INTERNATIONAL JOURNAL OF COOPERATIVE INFORMATION SYSTEMS, 2004, 13 (01) : 37 - 61
  • [2] ByADL: An MDE Framework for Building Extensible Architecture Description Languages
    Di Ruscio, Davide
    Malavolta, Ivano
    Muccini, Henry
    Pelliccione, Patrizio
    Pierantonio, Alfonso
    SOFTWARE ARCHITECTURE, 2010, 6285 : 527 - 531
  • [3] USER EXTENSIBLE LANGUAGES
    BUCKLE, JK
    COMPUTER JOURNAL, 1976, 19 (04): : 381 - 381
  • [4] PROGRAMMING GRAPHICS PROCESSORS WITH EXTENSIBLE LANGUAGES
    Adinetz, A. V.
    BULLETIN OF THE SOUTH URAL STATE UNIVERSITY SERIES-MATHEMATICAL MODELLING PROGRAMMING & COMPUTER SOFTWARE, 2011, (09): : 52 - 63
  • [5] Flexible and extensible notations for modeling languages
    Gao, Jimin
    Heimdahl, Mats
    Van Wyk, Eric
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2007, 4422 : 102 - +
  • [6] A new general parser for extensible languages
    Lewis, Ian
    PROCEEDINGS OF THE 17TH IASTED INTERNATIONAL CONFERENCE ON MODELLING AND SIMULATION, 2006, : 394 - 400
  • [7] C APIs in extension and extensible languages
    Muhammad, Hisham
    Ierusalimschy, Roberto
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2007, 13 (06) : 839 - 853
  • [8] An Open and Extensible Platform for Machine Translation of Spoken Languages into Sign Languages
    Costa, Rostand
    Maritan, Tiago
    Soares, Renan
    Verissimo, Vinicius
    Vieira, Suanny
    Santos, Alexandre
    Aschoff, Manuella
    Lemos, Guido
    APPLICATIONS AND USABILITY OF INTERACTIVE TELEVISION, JAUTI 2017, 2018, 813 : 161 - 176
  • [9] Evolution of Software Systems with Extensible Languages and DSLs
    Erdweg, Sebastian
    Fehrenbach, Stefan
    Ostermann, Klaus
    IEEE SOFTWARE, 2014, 31 (05) : 68 - 75
  • [10] Extensible propulsion simulation platform: Part II - Extensible framework
    Cao, Zhi-Song
    Yu, Long-Jiang
    Piao, Ying
    Hangkong Dongli Xuebao/Journal of Aerospace Power, 2007, 22 (02): : 268 - 273