-
Online Name-Based Navigation for Software Meta-languages
Abstract: Software language design and implementation often involve specifications written in various esoteric meta-languages. Language workbenches generally include support for precise name-based navigation when browsing language specifications locally, but such support is lacking when browsing the same specifications online in code repositories. This paper presents a technique to support precise name-ba… ▽ More
Submitted 12 September, 2023; originally announced September 2023.
Comments: 6 pages, incl. 5 figures, to be published in Proceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering (SLE '23), October 23--24, 2023, Cascais, Portugal
-
Using Spoofax to Support Online Code Navigation
Abstract: Spoofax is a language workbench. A Spoofax language specification generally includes name resolution: the analysis of bindings between definitions and references. When browsing code in the specified language using Spoofax, the bindings appear as hyperlinks, supporting precise name-based code navigation. However, Spoofax cannot be used for browsing code in online repositories. This paper is about… ▽ More
Submitted 6 March, 2023; originally announced March 2023.
Comments: Accepted for publication in Proc. Eelco Visser Commemorative Symposium (EVCS 2023)
-
arXiv:2107.10545 [pdf, ps, other]
Fundamental Constructs in Programming Languages
Abstract: When a new programming language appears, the syntax and intended behaviour of its programs need to be specified. The behaviour of each language construct can be concisely specified by translating it to fundamental constructs (funcons), compositionally. In contrast to the informal explanations commonly found in reference manuals, such formal specifications of translations to funcons can be precise… ▽ More
Submitted 20 August, 2023; v1 submitted 22 July, 2021; originally announced July 2021.
Comments: 26 pages, incl. 3 figures and 7 appendices, accepted for publication in Proceedings of ISoLA 2021; updates the submitted version with clarifications and minor enhancements
ACM Class: D.3.1; F.3.2; D.3.3
-
A Component-Based Formal Language Workbench
Abstract: The CBS framework supports component-based specification of programming languages. It aims to significantly reduce the effort of formal language specification, and thereby encourage language developers to exploit formal semantics more widely. CBS provides an extensive library of reusable language specification components, facilitating co-evolution of languages and their specifications. After int… ▽ More
Submitted 23 December, 2019; originally announced December 2019.
Comments: In Proceedings F-IDE 2019, arXiv:1912.09611
ACM Class: D.3.1; D.2.6; D.2.13; F.3.2
Journal ref: EPTCS 310, 2019, pp. 29-34
-
arXiv:1606.06381 [pdf, ps, other]
A Modular Structural Operational Semantics for Delimited Continuations
Abstract: It has been an open question as to whether the Modular Structural Operational Semantics framework can express the dynamic semantics of call/cc. This paper shows that it can, and furthermore, demonstrates that it can express the more general delimited control operators control and shift.
Submitted 20 June, 2016; originally announced June 2016.
Comments: In Proceedings WoC 2015, arXiv:1606.05839
ACM Class: D.3.3; F.3.2
Journal ref: EPTCS 212, 2016, pp. 63-80
-
Flag-Based Big-Step Semantics
Abstract: Structural operational semantic specifications come in different styles: small-step and big-step. A problem with the big-step style is that specifying divergence and abrupt termination gives rise to annoying duplication. We present a novel approach to representing divergence and abrupt termination in big-step semantics using status flags. This avoids the duplication problem, and uses fewer rules a… ▽ More
Submitted 10 May, 2016; originally announced May 2016.
Comments: To appear in The Journal of Logical and Algebraic Methods in Programming, Special Issue: 26th Nordic Workshop for Programming Theory, 2014
-
arXiv:1011.6435 [pdf, ps, other]
Robustness of Equations Under Operational Extensions
Abstract: Sound behavioral equations on open terms may become unsound after conservative extensions of the underlying operational semantics. Providing criteria under which such equations are preserved is extremely useful; in particular, it can avoid the need to repeat proofs when extending the specified language. This paper investigates preservation of sound equations for several notions of bisimilarity o… ▽ More
Submitted 29 November, 2010; originally announced November 2010.
Comments: In Proceedings EXPRESS'10, arXiv:1011.6012
ACM Class: F.3.2; D.3.1; D.2.1
Journal ref: EPTCS 41, 2010, pp. 106-120