Grace in Spoofax

More Info
expand_more

Abstract

Grace is a programming language that aims to be an example of a contemporary object-oriented language, to be used for teaching university level students. The language specification of Grace is informal, and its various implementations are difficult to comprehend and change. Spoofax Grace is an implementation of the Grace programming language, meant to serve both as a reference implementation, but also a specification, that can be easily read, understood and changed. Spoofax Grace is implemented using the Spoofax language workbench, providing a declarative grammar, program transformations and dynamic semantics. From these specifications a language interpreter is generated that can execute Grace programs. The system covers the core aspects of Grace, yet a number of language features remain unimplemented. The implementation can be correlated to the informal Grace specification, and can be changed or extended at will.