16th European Conference on Object-Oriented Programming
University of Málaga, Spain
June 10-14, 2002
Technical programme > posters
You are the visitor number
We are developing an extensible Java pre-processor, EPP. EPP is a framework of Java source code processing systems. The behavior of EPP can be extended by adding extension modules, EPP plug-ins. EPP has an extensible recursive descent parser and an extensible type checking mechanism. A great variety of new language features can be easily introduced by implementing macro expansion functions for new language constructs. Independently developed plug-ins can be used in a program simultaneously. EPP can be used also as a platform for source code processing systems such as metrics tools and refactoring tools.
A wide variety of language extensions have been implemented, including a data-parallel language, thread migration, parameterized types, metrics tool and the difference-based module mechanism. (The paper describing difference-based modules are accepted by ECOOP2002.)
EPP plug-ins are written in an extended Java language.
The extensions for EPP plug-ins themselves are implemented using EPP.
The language extensions support a kind of mixin-based programming, which
enhances extensibility and composability of applications. In
The most important application of EPP is the MixJuice language, which is an enhancement of Java language with difference-based module mechanism. The module mechanism enables separation of crosscutting concerns. We are currently rewriting EPP itself using the MixJuice language, in order to enhance extensibility, performance and safety.
EPP is distributed from the web page with source-code
and sample plug-ins.