The semantics of name resolution in Grace

Conference Paper (2017)
Author(s)

Vlad Vergu (TU Delft - Programming Languages)

Michiel Haisma

Eelco Visser (TU Delft - Programming Languages)

DOI related publication
https://doi.org/10.1145/3133841.3133847 Final published version
More Info
expand_more
Publication Year
2017
Language
English
Pages (from-to)
63-74
ISBN (electronic)
978-1-4503-5526-1
Event
DLS 2017 (2017-10-24 - 2017-10-24), Vancouver, Canada
Downloads counter
269
Collections
Institutional Repository
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Grace is a dynamic object oriented programming language designed to aid programming education. We present a formal model of and give an operational semantics for its object model and name resolution algorithm. Our main contributions are a systematic model of Grace’s name resolution using scope graphs, relating linguistic features to other languages, and an operationalization of this model in the form of an operational semantics which is readable and executable. The semantics are extensively tested against a reference Grace implementation.