About me
Hi, I'm Lennart Kats, a PhD student at the
Department
of Software Technology,
Delft
University of Technology.
My research revolves around techniques and meta-tooling for constructing domain-specific languages and language extensions. My main research project has been the
Spoofax/IMP IDE metatooling suite, but I've also been involved in a number of
other projects.
I work in close collaboration with the people of the Delft Model-Driven Software Evolution (MoDSE) project.
We nowadays have a nice group of about half a dozen PhD students working in this area, all supervised by Eelco Visser.
Recent publications
Lennart C. L. Kats, Eelco Visser. The Spoofax Language Workbench. Rules for Declarative Specification of Languages and IDEs. In Object-Oriented Programming, Systems, Languages, and Applications (SPLASH/OOPSLA 2010), ACM, 2010. [pdf] [bib] [abstract]
Abstract. Spoofax is a language workbench for efficient, agile development of
textual domain-specific languages with state-of-the-art IDE support.
Spoofax integrates language processing techniques for parser
generation, meta-programming, and IDE development into a single
environment. It uses concise, declarative specifications for
languages and IDE services. In this paper we describe the
architecture of Spoofax and introduce idioms for high-level
specifications of language semantics using rewrite rules, showing how
analyses can be reused for transformations, code generation, and
editor services such as error marking, reference resolving, and
content completion. The implementation of these services is supported
by language-parametric editor service classes that can be dynamically
loaded by the Eclipse IDE, allowing new languages to be developed and
used side-by-side in the same Eclipse environment.
Lennart C. L. Kats, Eelco Visser, Guido Wachsmuth. Pure and Declarative Syntax Definition: Paradise Lost and Regained. In Onward! 2010, ACM, 2010. [pdf] [bib] [abstract]
Abstract. Syntax definitions are pervasive in modern software systems, and serve as the basis for language processing tools like parsers and compilers. Mainstream parser generators pose restrictions on syntax definitions that follow from their implementation algorithm. They hamper evolution, maintainability, and compositionality of syntax definitions. The pureness and declarativity of syntax definitions is lost. We analyze how these problems arise for different aspects of syntax definitions, discuss their consequences for language engineers, and show how the pure and declarative nature of syntax definitions can be regained.
Lennart C. L. Kats, Karl T. Kalleberg, Eelco Visser. Interactive Disambiguation of Meta Programs with Concrete Object Syntax. In International Conference on Software Language Engineering (SLE 2010), Lecture Notes in Computer Science, Springer, 2010. (To appear.) [bib]