Meet ANTLR v4

antlr4

Change brings opportunities

Current post is affected by the fact that I started to work at Checkmarx company that specializes on static code analysis.

As it often happens starting new things brings unexpected opportunities and discoveries. One such discovery for me was ANTLR (ANother Tool for Language Recognition) that was written by professor Terence Parr.

The main purpose of the tool is to generate parsers based on provided grammar or as Terence Parr puts it at the ANTLR site

What is ANTLR?

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files. It’s widely used to build languages, tools, and frameworks. From a grammar, ANTLR generates a parser that can build and walk parse trees.

It is fun

From yesterday (12/8/2015) I’ve started to learn working with ANTLR v4 with the help of very detailed and down to earth The Definitive ANTLR 4 Reference book by Terence Parr.

If you’ll consider to read the book then you’d be better off by practicing with OS X or Linux since book’s examples are oriented to those operating systems. As David Ray puts it ‘who does still use Windows machines anyway?’

ANTLR v4 is fun to learn and practice especially if you previously had some experience with Java since the tool is written in Java itself.

Quick Start

OS X/ Linux (Ubuntu)

$ cd /usr/local/lib
$ sudo curl -O http://www.antlr.org/download/antlr-4.5.1-complete.jar
$ export CLASSPATH=".:/usr/local/lib/antlr-4.5.1-complete.jar:$CLASSPATH"
$ alias antlr4='java -jar /usr/local/lib/antlr-4.5.1-complete.jar'
$ alias grun='java org.antlr.v4.gui.TestRig'

Useful links

There are a couple of links that make you life more interesting and happier since Terence Parr, in my opinion, is not only a very insightful programmer but he’s also very entertaining lecturer.

Well, that’s it. Here come two talks that Terence gave in recent years that are related to parsers and ANTLR.

  1. Video – Why Program by Hand in Five Days what You Can Spend Five Years of Your Life Automating?  – 2011
  2. Video – The Quest for the One True Parser – 2015
  3. Video – ANTLR v4 with Terence Parr – 2013
  4. Book – The Definitive ANTLR 4 Reference – 2013
  5. Book – Language Implementation Patterns – 2009
  6. Thinks of contribution – ANTLR open source at GitHub.

Takeaways

  • Change keeps a surprise for your
  • ANTLR v4 is powerful and fun like never before
  • This post is a first part of a number of posts that I plan on the subject

 

Java Code Geeks

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s