首页> 外文期刊>Science of Computer Programming >Incremental concrete syntax for embedded languages with support for separate compilation
【24h】

Incremental concrete syntax for embedded languages with support for separate compilation

机译:嵌入式语言的增量式具体语法,支持单独的编译

获取原文
获取原文并翻译 | 示例

摘要

Embedded domain-specific languages (EDSLs) are known to improve the productivity of developers. However, for many domains no DSL implementation is available and two important reasons for this are: First, the effort to implement EDSLs that provide the domain's established syntax (called concrete syntax) is very high. Second, the EDSL and its underlying general-purpose programming language (GPL) are typically tightly integrated. This hampers reusability across different GPLs. Besides these implementation issues, the productivity gains of using EDSLs are also limited by the lack of explicit tool support for EDSL users-such as syntax highlighting or code analyses. In this paper, we present an approach that significantly reduces the necessary effort to implement embedded DSLs with concrete syntax. The idea is to use island grammars to specify the EDSL's concrete syntax. This enables the developer to implement the embedded DSL as a library and to incrementally specify the concrete syntax using meta-data. Only those parts of the EDSL's grammar need to be specified that deviate from the grammar of the GPL. By analyzing an EDSL's implementation using reflection, it is possible to provide tool support for EDSLs without having the developer implement it explicitly, such as syntax highlighting. An evaluation demonstrates the feasibility of our approach by embedding a real-world DSL into a GPL.
机译:嵌入式领域特定语言(EDSL)已知可以提高开发人员的生产力。但是,对于许多域,没有DSL实现可用,这有两个重要原因:第一,实现提供该域的已建立语法(称为具体语法)的EDSL的工作量很大。其次,EDSL及其底层通用编程语言(GPL)通常紧密集成在一起。这会影响不同GPL之间的可重用性。除了这些实施问题之外,由于缺少对EDSL用户的明确工具支持(例如语法突出显示或代码分析),使用EDSL的生产率提高也受到限制。在本文中,我们提出了一种方法,该方法可显着减少用具体语法实现嵌入式DSL的必要工作。这个想法是使用岛语法来指定EDSL的具体语法。这使开发人员能够将嵌入式DSL实现为一个库,并使用元数据递增地指定具体语法。仅需要指定EDSL语法中与GPL语法不同的部分。通过使用反射来分析EDSL的实现,可以为EDSL提供工具支持,而无需开发人员明确地实现它,例如语法突出显示。评估通过将真实的DSL嵌入GPL来证明我们的方法的可行性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号