Principled and Pragmatic Specification of Programming Languages. / Johnstone, Adrian; Scott, Elizabeth.

In: Lecture Notes in Computer Science, Vol. 11758, 23.09.2019, p. 165-180.

Research output: Contribution to journalArticlepeer-review

E-pub ahead of print

Standard

Principled and Pragmatic Specification of Programming Languages. / Johnstone, Adrian; Scott, Elizabeth.

In: Lecture Notes in Computer Science, Vol. 11758, 23.09.2019, p. 165-180.

Research output: Contribution to journalArticlepeer-review

Harvard

APA

Vancouver

Author

Johnstone, Adrian ; Scott, Elizabeth. / Principled and Pragmatic Specification of Programming Languages. In: Lecture Notes in Computer Science. 2019 ; Vol. 11758. pp. 165-180.

BibTeX

@article{2d9b9352654b4453bb7916dfda06ef13,
title = "Principled and Pragmatic Specification of Programming Languages",
abstract = "Programmers from the imperative tradition often have little experience of using inductive definitions and inference, and that may explain why executable SOS specifications have not become a standard feature of mainstream language development toolkits. We wish to `de-mystify' SOS for such programmers, allowing precise and principled specifications to be given for even small industrial DSL's. eSOS (elided Structural Operational Semantics) is a compact tool for specifying executable formal semantics. It is designed to be a translation target for enriched SOS specification languages. The simplicity of eSOS and its reference Java implementation allow programmers to follow the details of an execution trace, and to step through rules using a conventional debugging framework, allowing them to understand and use SOS-based specifications to construct usable language interpreters. ",
author = "Adrian Johnstone and Elizabeth Scott",
year = "2019",
month = sep,
day = "23",
doi = "10.1007/978-3-030-32441-4_11",
language = "English",
volume = "11758",
pages = "165--180",
journal = "Lecture Notes in Computer Science",
issn = "0302-9743",
publisher = "Springer Verlag",

}

RIS

TY - JOUR

T1 - Principled and Pragmatic Specification of Programming Languages

AU - Johnstone, Adrian

AU - Scott, Elizabeth

PY - 2019/9/23

Y1 - 2019/9/23

N2 - Programmers from the imperative tradition often have little experience of using inductive definitions and inference, and that may explain why executable SOS specifications have not become a standard feature of mainstream language development toolkits. We wish to `de-mystify' SOS for such programmers, allowing precise and principled specifications to be given for even small industrial DSL's. eSOS (elided Structural Operational Semantics) is a compact tool for specifying executable formal semantics. It is designed to be a translation target for enriched SOS specification languages. The simplicity of eSOS and its reference Java implementation allow programmers to follow the details of an execution trace, and to step through rules using a conventional debugging framework, allowing them to understand and use SOS-based specifications to construct usable language interpreters.

AB - Programmers from the imperative tradition often have little experience of using inductive definitions and inference, and that may explain why executable SOS specifications have not become a standard feature of mainstream language development toolkits. We wish to `de-mystify' SOS for such programmers, allowing precise and principled specifications to be given for even small industrial DSL's. eSOS (elided Structural Operational Semantics) is a compact tool for specifying executable formal semantics. It is designed to be a translation target for enriched SOS specification languages. The simplicity of eSOS and its reference Java implementation allow programmers to follow the details of an execution trace, and to step through rules using a conventional debugging framework, allowing them to understand and use SOS-based specifications to construct usable language interpreters.

U2 - 10.1007/978-3-030-32441-4_11

DO - 10.1007/978-3-030-32441-4_11

M3 - Article

VL - 11758

SP - 165

EP - 180

JO - Lecture Notes in Computer Science

JF - Lecture Notes in Computer Science

SN - 0302-9743

ER -