Javelin is a compiler framework written entirely in Java. It lets developers
support new languages or extend current languages. It also provides
interfaces to the parsing and compilation process. For instance, an IDE's
editor can take advantage of Javelin to support syntax highlighting, code
completions, and refactoring. Javelin could be extended to compile languages
like XSLT, XQuery, and PHP. It already contains a Java compiler and an XML
Schema compiler, which is fully integrated into BEA Workshop and provides
support for various editing and compiling tasks. The JSP compiler also uses
the Javelin framework.
However, this article isn't about Javelin. It's about the architecture of
Javelin. We decided to explore the architecture of Javelin using its
inter-module dependencies. For purposes of this analysis, all we needed was
the Javelin jar file. Given that Javelin... (more)