Contributor
Nicholas Mancuso

Upgrade Java Grammar from ANTLR2 to ANTLR4


Mentors
Pavel Bludov, Roman Ivanov, Erik Silkensen
Organization
Checkstyle

Checkstyle needs to have a new Java grammar that is based on ANTLR4. Support for ANTLR2 (the version that Checkstyle currently uses) ended in 2007; ANTLR4 has made older versions obsolete, and contributors are more likely to be familiar with the newer version of ANTLR. I plan to take advantage of ANTLR's powerful generated parser and visitor code to build Checkstyle's abstract syntax tree, which is the heart of the Checkstyle API. This approach will promote a modular and more easily maintainable implementation going forward, due to the separation of business logic and grammar.