Tool Support for Component-Based Semantics

被引:9
作者
van Binsbergen, L. Thomas [1 ]
Sculthorpe, Neil [1 ]
Mosses, Peter D. [2 ]
机构
[1] Royal Holloway Univ London, Dept Comp Sci, London, England
[2] Swansea Univ, Dept Comp Sci, Swansea, W Glam, Wales
来源
COMPANION PROCEEDINGS OF THE 15TH INTERNATIONAL CONFERENCE ON MODULARITY (MODULARITY COMPANION'16) | 2016年
基金
英国工程与自然科学研究理事会;
关键词
Programming language semantics; modularity; reusability; tool support; rapid prototyping;
D O I
10.1145/2892664.2893464
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The developers of a programming language need to document its intended syntax and semantics, and to update the documentation when the language evolves. They use formal grammars to define context-free syntax, but usually give only an informal description of semantics. Use of formal semantics could greatly increase the consistency and completeness of language documentation, support rapid prototyping, and allow empirical validation. Modularity of semantics is essential for practicality when scaling up to definitions of larger languages. Component-based semantics takes modularity to the highest possible level. In this approach, the semantics of a language is defined by equations translating its constructs (compositionally) to combinations of so-called fundamental constructs, or 'funcons'. The definition of each funcon is a small, highly reusable component. The PLANCOMPS project has defined a substantial library of funcons, and shown their reusability in several case studies. We have designed a meta-language called CBS for component-based semantics, and an IDE to support development, rapid prototyping, and validation of definitions in CBS. After introducing and motivating CBS, we demonstrate how the IDE can be used to browse and edit the CBS definition of a toy language, to generate a prototype implementation of the language, and to parse and run programs.
引用
收藏
页码:8 / 11
页数:4
相关论文
共 12 条
  • [1] [Anonymous], 2015, LIPICS, DOI DOI 10.4230/LIPICS.RTA.2015.365
  • [2] Reusable Components of Semantic Specifications
    Churchill, Martin
    Mosses, Peter D.
    Sculthorpe, Neil
    Torrini, Paolo
    [J]. TRANSACTIONS ON ASPECT-ORIENTED SOFTWARE DEVELOPMENT XII, 2015, 8989 : 132 - 179
  • [3] Churchill M, 2013, LECT NOTES COMPUT SC, V7794, P97, DOI 10.1007/978-3-642-37075-5_7
  • [4] Harper Robert, 1997, The definition of standard ML: revised
  • [5] Hudak P., 2007, HOPL 3, P12
  • [6] The Spoofax Language Workbench Rules for Declarative Specification of Languages and IDEs
    Kats, Lennart C. L.
    Visser, Eelco
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (10) : 444 - 463
  • [7] Leroy X., 1997, CAML LIGHT MANUAL
  • [8] Modular structural operational semantics
    Mosses, PD
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2004, 60-1 : 195 - 228
  • [9] FunKons: Component-Based Semantics in K
    Mosses, Peter D.
    Vesely, Ferdinand
    [J]. REWRITING LOGIC AND ITS APPLICATIONS, WRLA 2014, 2014, 8663 : 213 - 229
  • [10] Implicit Propagation in Structural Operational Semantics
    Mosses, Peter D.
    New, Mark J.
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 229 (04) : 49 - 66