Learn everything you need to parse, starting from scratch: you can start building a parser today.

If you need a parser to build something greater, we can help get you there faster. If you want to learn a cool technology, you found it!

Using ANTLR Like a Professional

Three Reasons to buy

Learn from professionals with years of experience in building languages.

Learn how to build parsers with the same technology used in the Groovy compiler, Apache Cassandra, the MySQL WorkBench and more.

Go from knowing nothing about parsing to being able to parse Python.

Parsing is Powerful

We build language tools for a living, and at the core what we do there is always a parser.

Nobody dreams of building a parser. You want to create a language or analyze your code, but to do that, you need a parser. A parser is the fundamental tool you need to make a computer understand code.

Being able to build parsers is a great skill to have in the toolbox of a developer, because parsers can be applied to solve several important problems.

In general, parsers allow to analyze a piece of text, structured in some specific language or format, and extract information out of it. Does it sound a bit vague? Let’s see something more concrete.

You can use parser to build:

  • Compilers
  • Interpreters
  • Transpilers
  • Editors
  • Tools for code analysis and automatic refactoring
  • Serialization, reading and conversion of data formats, etc.

ANTLR is the Best Way to Parse

ANTLR-ANother-Tool-for-Language-Recognition-icon

Just wanted to take the opportunity to say thanks. ANTLR is a BIG improvement over yacc/lex, and your support for it is most commendable. Managed to get my tired old brain around it in a day. Nice work!


Brad Cox, Inventor of Objective-C

As a developer, you know that the mark of a professional is knowing how to take advantage of the right tools to do more and better with less.

ANTLR is the parser generator tool you want to use to build your parser.

At the forefront of research, but also production ready and battle tested.

Created by Terence Parr and developed since 1989.

It is more than just a library.

ANTLR is a whole set of tools to help you be productive: from debugging grammars to visualizing the result of parsing.

It hides the complications and the details.

You do not need to know the theory behind parsing algorithms. You do not need to know what left-recursive expressions are or what is context-sensitive parsing. No need to write unnaturally complicated rules.
You can build any grammar you need to be productive and ANTLR will make it work.

Use it in every parsing project.

You can write just one grammar and let ANTLR generate parsers in many languages (Java, C#, Python, etc.)

Used by thousands of developers.

ANTLR powers software used by millions of people: the official Groovy compiler, the MySQL Workbench, Apache Cassandra, Hibernate, Apex, Jython, etc.

There is an entire repository full of grammars ready to use, containing data formats and common programming languages like SQL or Python.

On Completion of This Program, You’ll Walk Away With:

Federico Tomassetti
  • A complete course on parsing and ANTLR v4
  • Understanding the principles of parsing
  • Knowing how to parse programming languages and data formats
  • Being able to quickly create a parser with ANTLR
  • Getting started on building compilers
  • …with the knowledge of professionals that build parsers for a living

All the Content You Need

4 hours of video course for the Professional Edition, 3 and 1/2 in the Standard Edition

Handbooks for Best Practices and Patterns

5 examples grammars commented and explained

Up to 20 video lessons for the professional edition

Full slides and transcript available to download

The whole code in Python, JavaScript and C#

The Lessons

  • Introduction to Parsers. What are parsers and what they are good for. Explanation of the elements of a parser
  • Introduction to ANTLR v4 (free preview). Setting up ANTLR v4, the development environment and how to use the command line tools
  • Grammar. The basic format of a grammar and its elements. How to write Lexer and Parser rules and their typical patterns
  • Listeners and Visitors. What are Listeners and Visitors and how you can use them to manage the results of the parsing
  • Errors. Reporting errors and dealing with them
  • Testing. How to test grammars, listeners and visitors
  • Actions (free preview). The more advanced (but less clean) way to work the results of parsing
  • Semantic Predicates. What are semantic predicates and how to use them
  • How to Deal With Expressions. Why expressions are difficult to parse and two ways of dealing with them
  • Lexical Modes. What are lexical modes and how you can use them to parse documents with multiple languages
  • Tips and Tricks. A few tips and tricks to use ANTLR
  • Parsing Real Programming Languages. What are and how to solve typical issues with parsing a real programming language
  • Designing a Grammar. How to design a grammar, starting from scratch or from an existing one
  • What Comes Next. A short introduction to other elements you need to build a compiler and how to integrate them with ANTLR
  • (NEW) From Parse Tree to Abstract Syntax Tree. How to get from a parse tree to an Abstract Syntax Tree. Understanding the process and what things to transform
  • (NEW) Creating an AST. Full example of transforming a parse tree in an AST
  • (NEW) (Professional) Transforming Complex Parse Trees. Handling complex parse trees
  • (NEW) (Professional) Setting Up for Performance. The mistakes to avoid in the organization of your ANTLR setup and grammar
  • (NEW) (Professional) Changes to Improve Performance. The patterns to use and the ones to avoid in your grammar rules
  • (NEW) (Professional) Tweaking ANTLR to Improve Performance. How to tweak ANTLR to squeeze more performance from the same grammar

Testimonials

Federico Tomassetti has created an awesome ANTLR video course. It costs money but could be worth it for you, if you want to get up to speed quickly

April 11, 2018 – Terence Parr, Creator of ANTLR

I just finished watching the ‘Using ANTLR Like A Professional’ video course, and I can now see how I can rewrite our existing parsers!

August 17, 2020 – Norman Jaffe

I just bought ‘How to create a pragmatic, lightweight language’ book and I want to say thank you. I have ‘Using ANTLR Like A Professional course too. I’m not up to day with any of these materials because I’m learning parsing techniques first, specially building recursive descent parsers by hand (just for getting the ability) but I’m pretty sure I’ll be getting my hands dirty with these wonderful resources.

August 3, 2020 – Irwin Rodriguez

Guarantee

We are confident in the quality of our course, because hundreds of people have already bought it. This is why we can offer a solid guarantee.

Whatever version you decide to purchase, if you are not satisfied you can get a 100% refund, no explanation required. You just send us an email.

Course Options

Standard Version

  • The 3 and 1/2 HR+ video course
  • The whole code in Python, JavaScript and C# of the projects and examples in the video course
  • A 50+ pages manual with patterns and cheatsheets for ANTLR
  • 5 Example Grammars explained and commented ranging from data formats to programming languages (JSON, DOT, HTML, SQLite and Kotlin)
  • Subtitles and transcripts of all lessons in the video course
  • You can download all the slides used in the video course
  • Invitation to the reserved area of the Strumenta community on Language Engineering

Professional Version

  • The 4 HR+ video course
  • The Guide to Best practices for ANTLR
  • The whole code in Python, JavaScript and C# of the projects and examples in the video course
  • A 50+ pages manual with patterns and cheatsheets for ANTLR
  • 5 Example Grammars explained and commented ranging from data formats to programming languages (JSON, DOT, HTML, SQLite and Kotlin)
  • Subtitles and transcripts of all lessons in the video course
  • You can download all the slides used in the video course
  • Invitation to the reserved area of the Strumenta community on Language Engineering

Frequently Asked Questions

The example code is not in my favorite language. Will the course be useful to me?

The most important code of an ANTLR software is the grammar, which is language independent. That is the code that defines the parser. However, we recognize it is also important to understand the patterns and how to design the code that uses the parser.

That is why the course has examples with full code in Python, JavaScript and C#. We think these languages cover all the different styles of programming for the languages supported by ANTLR (Java, C#, Python, JavaScript, Go, C++, Swift, PHP, Dart).

With the example code, and what you learn in this course, you should be able to use the knowledge gained for every language supported by ANTLR.

We are a company. Are there specific offerings for training our employees?

You can download the course brochure or write us at [email protected] to receive more information on enterprise licenses.

Where I can get more information?

Just ask us. We are ready to answer. If you want to know more or have questions about the course, you can contact us at [email protected].

Do you offer ANTLR consulting?

To learn more about that you can read the different services related to ANTLR Consulting.

How can I get an invoice?

You should receive an invoice when purchasing the course, when applicable.

I tried to buy the course, but my credit card did not work. Can you fix this?

We rely on a third-party to safely process payments. Unfortunately sometimes the payment fail. For security reasons, the payment processor cannot share the precise explanation because a payment fails. This help page contain some common reasons that can help you troubleshoot the issue.

If you still have problems, we can sell you the course directly, just send us an email. You will receive the exact same course and the course will still be delivered through Teachable, so you will receive all updates and improvements we make.

I want to learn ANTLR, but I cannot afford the course. Can you help me?

We understand that people that are not going to use ANTLR professionally might not afford the course. So, we created a list of common issues and useful patterns to speed up your learning in our ANTLR FAQ and Cheatsheet.

It lacks the structure and depth of our course but, coupled with our mega tutorial, can help you in using ANTLR proficiently.