github antlr/antlr4 4.3

latest releases: 4.13.1, 4.13.0, 4.12.0...
9 years ago

Major Milestone Release

ANTLR 4.3 is a major feature and bugfix update to ANTLR 4. For most users upgrading from ANTLR 4.2, this is a source- and binary-compatible update. However, to maximize the benefits provided by the update, we highly recommend that you regenerate your lexers and parsers using the latest version of the Tool.

Download Binaries

Download ANTLR jars at the antlr.org site.

Documentation

Summary of Changes

You can view all issues closed for this release here, and all commits for this release here.

Features

Improvements

  • Improved support for additional targets (#554, #566, #569, #609, #610)
  • Add clearDFA() method to easily clear the DFA cache (#584)
  • Improved documentation

Bug Fixes

  • Fix issue with tokens named ATN (#561)
  • Fix generated JavaDoc for listener and visitor methods for context objects created by labeled alternatives in a rule (#543)
  • Fix errors in support for parsing off-channel tokens (#544, #622, #626)
  • Fix references that alias the enclosing rule name (#571)
  • Fix issues with use of <assoc=right> (#542)
  • Fix issues with unsupported and/or ignored semantic predicates (#588, #590)
  • Allow multiple actions and/or predicates to appear at the end of alternatives in a left-recursive rule (#625)
  • Fix bugs in infrequently used IntervalSet code (#623)
  • Fix issues with file encoding handling (#563, #618)

Breaking Changes

  • Within an embedded action or semantic predicate, references to the enclosing rule can no longer be written as $ruleName. Instead, use the special symbol $ctx to refer to the enclosing rule. Parsers already generated from grammars prior to this change are not affected, but the grammar will need to be updated prior to generating code with ANTLR 4.3. This change was required as part of correcting #571.
  • IntervalSet.getMinElement now returns the first element, even if that element is negative. Code which relied on this method to return a non-negative value even if the set contained negative values will need to be updated.

Related Projects

The following tables list several related projects, along with the version number corresponding to this release. The tables will be updated as each of the projects release updates to support this release of ANTLR 4.

IDE Support

Project Release which Supports ANTLR 4.3
ANTLRWorks 2
IntelliJ Plugin
Eclipse Plugin
Visual Studio Extension 1.2.1

Alternate Language Targets

Project Release which Supports ANTLR 4.3
ANTLR 4 "Optimized" fork 4.3-opt
C# Target 4.3

Don't miss a new antlr4 release

NewReleases is sending notifications on new releases.