4.3
版本发布时间: 2014-06-19 10:58:43
antlr/antlr4最新发布版本:4.13.2(2024-08-04 03:28:03)
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
- Parser profiler (#583)
- Tool/Runtime version mismatch detection (#572, #601, #634, #635)
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 |