Semantics of programming languages: Using Asf+Sdf

A semantic specification of a programming language can be relevant for programmers to understand software written in the language, as well as for the implementers of a language to understand the intentions of its designers. In the early 1980s, Jan Heering and Paul Klint envisioned complete language...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 97; pp. 2 - 10
Main Author: Mosses, Peter D.
Format: Journal Article
Language:English
Published: Elsevier B.V 01.01.2015
Subjects:
ISSN:0167-6423, 1872-7964
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:A semantic specification of a programming language can be relevant for programmers to understand software written in the language, as well as for the implementers of a language to understand the intentions of its designers. In the early 1980s, Jan Heering and Paul Klint envisioned complete language specifications as libraries of reusable individual constructs, supported by a generic programming environment. This led to the development of the Asf+Sdf specification language and its Meta-Environment. This paper first recalls how programming languages can be specified in Asf+Sdf. It then analyses the apparent difficulty of reusing the specifications of individual constructs, and considers some alternative styles of semantics that have been supported using Asf+Sdf and its Meta-Environment. It is suggested that these alternative styles could facilitate reuse when specifying programming languages in Rascal, which has superseded Asf+Sdf. •We recall how programming languages can be specified in ASF+SDF.•We analyse the reusability of ASF+SDF specifications of individual constructs.•Some alternative styles of semantics provide greater reusability than ASF+SDF.•Component-based semantics is based on reusable fundamental constructs (funcons).•Our analysis could influence the evolution of Rascal, which has superseded ASF+SDF.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2013.11.038