ExtendJ: An Extensible Java Compiler


lang Programming languages

Room 2

Thursday from 13:00 til 13:20

ExtendJ is a research compiler targeting the Java language, providing a platform to develop semantic tools and language extensions for Java.

ExtendJ is unusual by being constructed using Attribute Grammars, a formalism that has many nice benefits for compiler development such as being declarative, evaluation-order independent and composable. The composability aspect is exploited in ExtendJ for extensibility, and many extensions have already been successfully implemented on top of ExtendJ.

The presentation will demonstrate the extensibility of ExtendJ, and how it has been used in existing language extensions and research projects.

The design of ExtendJ is uncommon, due to the use of Attribute Grammars. The presentation will show how the design of ExtendJ differs from traditional compiler design and the advantages this leads to.

Jesper Öqvist Jesper Öqvist

I am a PhD student at Lund University, working on compiler construction. I am the maintainer of the ExtendJ Java compiler which was developed at Lund University. ExtendJ is one of the most well-known research compilers for the Java language.

My Master's Thesis project was to implement Java 7 support in ExtendJ, and later I supervised another Master's Thesis student who implemented Java 8 support.