ANTLRWorks 2

ANTLRWorks 2 is a complete rewrite of the previous grammar tool using several new techniques developed at Tunnel Vision Labs. The core framework we use for NetBeans® development was originally created for this project, but easily extends to other languages and is the starting point for all of our NetBeans-based applications.

Development Time: 18 Months (including NetBeans framework)

Release Notes

Standalone Application or NetBeans Plugin

ANTLRWorks 2 is available both as a standalone application and as a plugin to NetBeans 7.3. For users who already have NetBeans 7.3 and wish to use ANTLRWorks 2 as an integrated plugin, please see the Release Notes below for special instructions.

Highly Responsive Code Completion

ANTLRWorks 2 is the first development enviroment to incorporate Tunnel Vision Labs' recent advances in highly responsive code completion — code completion features respond instantly as you type in a grammar. In the past, languages with dynamic typing and/or type inference posed significant limitations on IDEs to produce usable code completion behavior. ANTLRWorks 2 highlights the ability of our algorithms to overcome these limitations.

Navigation Features

ANTLRWorks 2 provides several standard navigation features in NetBeans. In addition to the Navigator window, ANTLRWorks 2 highlights references to the element under the caret (the "Mark Occurrences" feature) and allows the user to Ctrl+Click elements to jump to a declaration.

Unique Features

The performance and consistency of Tunnel Vision Labs' source analysis algorithms allows us to provide several additional features to help users understand large amounts of code with less effort. ANTLRWorks 2 allows users to hover over an element in a grammar to see a tooltip with information about the referenced rule.

Source Code Diagrams

While editing ANTLR grammar files, the Syntax Diagram window shows a visual representation of the current rule. This feature offers a natural representation of elements of a grammar, and is an example of providing custom features to augment characteristics of a particular language. As an added bonus, double clicking on an element in the source code diagram will immediately jump to the relevant source code.

Syntax diagram in ANTLRWorks 2
Syntax diagram for a rule in ANTLRWorks 2

Editor Hints

ANTLRWorks 2 provides editor hints to alert a developer to potential bugs or performance issues in a grammar which the grammar compiler does not currently detect. Since this type of static analysis is unique to each language, we work with both language creators and users to provide analysis features most likely to detect problematic code early in the development cycle. Current analysis features for grammars in ANTLRWorks include the following.

  • Errors and warnings reported by the ANTLR 4 tool are displayed "live" in the editor
  • Identifying implicit token definitions in a parser (probable bug)
  • Factor label out of set (performance hint)
  • Group set elements (performance hint)

Legal Mumbo-Jumbo

  • Oracle and NetBeans are registered trademarks of Oracle Corporation
  • ANTLR and StringTemplate are trademarks of Terence Parr
  • ANTLR 4 is co-authored by Terence Parr and Sam Harwell

Release Notes

v2.1 Released 8/28/13

This update release of ANTLRWorks 2 includes many bug fixes and supports ANTLR 4.1.

v2.0 Released 1/22/13

This is the first full release of ANTLRWorks 2. ANTLRWorks 2.0 uses the following components internally and for code generation tasks.

Plugin for NetBeans 7.3 Users (ANTLRWorks 2.0)

ANTLRWorks 2 is also available as a plugin for NetBeans 7.3. When used as a plugin, ANTLRWorks 2 provides the following additional features.

  • Ability to edit grammars which are part of a larger project (e.g. Java)
  • Ability to use additional standard and 3rd-party NetBeans plugins, including source control integration

To install this plugin, open the NetBeans 7.3 plugin manager and go to the Settings tab. Add an Update Center with the following settings. Afterwards, the plugins will be available under Available Plugins in the Tunnel Vision Labs category.

Release History

A complete release history for ANTLRWorks 2 is available on the project's Bitbucket Wiki.