Virtual Meetup - Introduction to ANTLR

Hi Community,

I am happy to announce that this Thursday (the 30th of September), Mike Cargal will hold a discussion about “Introduction to ANTLR”.

Also, remember that we changed the link to join the Meetup!

An introduction to ANTLR covering an overview of the parsing pipeline, basic ANTLR grammar, tooling, and processing the resulting parse trees. (influenced by recent efforts answering many StackOverflow ANTLR4 questions and dealing with misconceptions). We will attempt to provide a foundation to avoid many of the problems I’ve seen from StackOverflow questions and provide pointers working with (rather than against) ANTLR. The focus will be on a solid foundation for using ANTLR in a target-language agnostic fashion and won’t attempt to cover “all things ANTLR.”

Mike Cargal retired a bit over a year ago from a career in IT working for TSYS (a US company doing third-party processing for credit cards). In that role, one of the products he implemented (and re-implemented many years later in ANTLR) was Determinator; language clients use to inject their own logic into processing. The latest version parsed on the server in Java, but also in the browser using JavaScript, and provided with a text and graphical view of the logic. The text view, with syntax highlighting, code completion, error highlighting etc. and the graphical view allowing for full abilities to edit in the graphical view, including drag and drop re-arranging of logic, expressions etc. toggling between source and graphical views was continuously synchronized. This rewrite using ANTLR sparked an interest in ANTLR, and, in his retirement, he’s attempting to contribute in some small way to the ANTLR community (so far, mainly answering StackOverflow questions, which has been “enlightening”).

And if you are thinking of proposing a talk, it is time to come forward. Just let me know by replying to this message.

How to connect

To avoid other security issues is now necessary to register for the meeting. The registration should be necessary just once and be valid for all the next meetings you will participate in. I understand it is a little extra effort, but it would avoid problems like the ones we encountered:

Registration for the Virtual Meetup

After registering, you will receive a confirmation email containing information about joining the meeting. It will also permit you to add it to your calendar.


It is hosted on Zoom at 6 PM GMT+1/CEST (you can use this link to figure out which time is in your timezone: Dateful Time Zone Converter).


P.S. We get a recurring question: “Are presentations recorded?”. The answer is not, and the reasons are explained here On recording Virtual Meetups - #7 by voelter


Syntax diagrams for Mike’s %.g4 grammars

Our lead dev updated the %.g4 metagrammar for our tool (DiaGrammar), so this is what we get now.

Note that the trailing underscores on names are because internally our tool is case insensitive, so has to disambiguate things somehow. You’ll also see copy as our non-grammar-specific notation for value collection.

Directives like <assoc = right> render as none, which we’re discussing now. The issue is what our tool should do with things that don’t fit a standard diagram model, which may vary by metagrammar.