Meta-Languages for Language Design

guido wachsmuth

Abstract: The Spoofax language workbench is a platform for the development of textual software languages with state-of-the-art IDE support. Spoofax provides a comprehensive environment that integrates syntax definition, name binding, type analysis, program transformation, code generation, and declarative specification of IDE components. It supports agile language design by allowing incremental, iterative development of languages and showing editors for the language under development alongside its definition.

This talk presents Spoofax’s high-level DSLs for language design. Spoofax’ testing language enables test-driven language design. The syntax definition formalism SDF3 supports modular definition of (composite) languages. The name binding language NaBL enables declarative definitions of name binding and scope rules of software languages. The new type system specification language TS allows for declarative definitions of static typing rules of software languages. The Stratego transformation language unifies model transformation and code generation.

Bio: Guido Wachsmuth is assistant professor at Delft University of Technology where he designs and implements new declarative metalanguages for the Spoofax language workbench. His current research focuses on new linguistic abstractions in metalanguages, which enable declarative definitions of software languages and form a single basis for the efficient execution of various language processing tasks both in modern IDEs and in command-line compilers. He is particularly interested in generic runtime support for such language processing tasks such as incremental analyses and compilation techniques.

Created November 19, 2013 | Last modified December 4, 2013 | Contributions by Eelco Visser