Session Info

Session Title

Declarative Name Binding and Scope Rules



Session Type Tutorial

Duration 60 minutes

Session Description

Name binding and scope rules are the key to transforming a (domain-specific) program represented as serialized text via a parse tree to a graph with resolved names. The state-of-the-art requires programmatic encodings of such rules in the implementation of a name resolution algorithm. In this session we present the revolutionary Name Binding Language of the Spoofax Language Workbench, which allows the definition of a wide range of name binding patterns through a simple declarative language. You will learn the five key concepts of name binding (definitions, references, scopes, namespaces, and imports) and how they can be used in language definitions.


Speaker(s)

Eelco Visser (Delft University of Technology)

Eelco Visser is Associate Professor at Delft University of Technology. His research interests include software language engineering, domain-­specific languages, model-­driven engineering, program transformation, software deployment, and interaction design. With his students he has designed and implemented the Spoofax language workbench, as well as many domain-­specific languages, including DSLs for syntax definition  (SDF), program transformation (Stratego), software deployment (Nix), web application development (WebDSL), and mobile phone applications (mobl).



Guido Wachsmuth (Delft University of Technology)


Guido Wachsmuth is a language engineer at Oracle Labs. At Delft Unversity of Technology he teaches compiler construction using the Spoofax Language Workbench. He is co-­inventor of the Spoofax Name Binding Language.