The semantics of name resolution in Grace

Conference Paper (2017)
Author(s)

Vlad Vergu (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Michiel Haisma

Eelco Visser (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Research Group
Programming Languages
DOI related publication
https://doi.org/10.1145/3133841.3133847 Final published version
More Info
expand_more
Publication Year
2017
Language
English
Research Group
Programming Languages
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
323
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.