The Java Exorcist software add-on enables the expansion of the Java language's syntax capabilities.
There are two primary reasons to use Java Exorcist. Firstly, users may have certain pet peeves regarding the Java language itself and wish to rectify them. For example, creating new keywords such as 'unless', 'foreach', and new operators, or generating setter getters automatically for a bean property. Secondly, users may aim to optimize the language to a specific project to achieve more clean and thought-out code. Examples for such modifications include specific logger keyword and method modifiers.
Exorcist acts as a compiler of extended Java code, which can either be used through command-line mode or via Ant. By default, it compiles only standard Java code. However, users may add extensions to further extend the language through a single interface, implementing a simple method.
Exorcist works as a pre-processor that translates the extended language into plain Java code and then compiles it using the standard Java compiler (javac). To analyze the language, there are two steps involved, namely lexical analysis and parsing of lexical tokens. During parsing, lexical tokens are read, and non-terminal symbols may be produced. Exorcist's transformation engine works with lexical token lists, which are modified by extensions in accordance with the desired modifications to the output clean Java source code.
Recent updates to the software include the fixing of performance issues with built-in extensions and the Property extension, which can now handle other modifiers. Additionally, annotations syntax has been incorporated into the grammar. The Java Exorcist is an incredibly efficient and powerful tool that extends the Java language to fit users' specific project needs.
Version 0.3.0: N/A