JabRef uses a grammar for the LaTeX-BST-Parser, which is based on antlr3. Antlr4 grammar is used for the search grammar:
However, @calixtus is currently working on porting the BST stuf to antlr4
Well, no guarantee for success. It’s really messy converting it, since in antlr3 the parser produced an ast, we walked through ‘manually’. In antlr4 we have a generic so called visitor provided by antlr to walk through the parsed tree with methods for each syntax symbol which can be overridden. That needs in some parts total rethinking of the state manager and how custom functions mix up with bst language constructs.
A lot to learn for me, but this is why I try to do this.