The 4.12.0 release is primarily about the new TypeScript target created by @ericvergnaud. There are also a number of fixes to the various targets, as you can see from the descriptions below.
Issues fixed
- github actions now fail for python2 and ubuntu clang and ubuntu swift (comp:runtime, comp:build, comp:testing)
- js mergeArrays output differs from java (atn-analysis, target:javascript)
- C++ target fails Performance/DropLoopEntryBranchInLRRule_4.txt (atn-analysis, type:bug, target:cpp)
- Wrong grammarFileName in generated code (code-gen, type:bug)
- C++ crashes on new test ParserExec/ListLabelsOnRuleRefStartOfAlt.txt (atn-analysis, type:bug, target:cpp)
- [JavaScript runtime] Bad field name, bad comments (type:bug)
Improvements, features
- Fully qualify std::move invocations to fix -Wunqualified-std-cast-call (type:improvement, target:cpp)
- Extract FileUtils updates by @ericvergnaud (type:improvement, cross-platform-issue, comp:testing)
- Extract unit test updates by @ericvergnaud needed for TypeScript (type:improvement, comp:testing)
- [Go target] Fix for #3926: Add accessors for tree navigation to interfaces in generated parser (trees-contexts, code-gen, type:improvement, target:go)
- GitHub Workflows security hardening (actions, type:improvement, comp:testing)
Pull requests grouped by target
csharp target
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
cpp target
- Fully qualify std::move invocations to fix -Wunqualified-std-cast-call (type:improvement, target:cpp)
- Cpp: cmake improvements (comp:build, target:cpp)
- Gcc version fix (comp:build, target:cpp, comp:testing)
- Fix cpp equals bug #3959 (atn-analysis, type:bug, target:cpp)
- Fix 3845 nullptr cpp (atn-analysis, type:bug, target:cpp)
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
- Updating the files in the Xcode project for ANTLR4 Cpp runtime. (target:cpp)
- Fixing reserve word NULL for cpp targets (grammars, target:cpp, type:cleanup)
- [C++] Fix the compiler errors reported by GCC 7 (target:cpp)
go target
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
- Remove unnecessary getter (target:go, type:cleanup)
- [Go target] Fix for #3926: Add accessors for tree navigation to interfaces in generated parser (trees-contexts, code-gen, type:improvement, target:go)
- fix: #3758 Extrememly poor performance on poorly written grammars (target:go, comp:performance)
- fix: Restore missing changes to v4 of go runtime (target:go, type:cleanup)
- [Go] Add Iterative tree walker in go (trees-contexts, target:go)
java target
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
javascript target
- Js support encoding in file stream + packaging issues (target:javascript)
- Fix js webpack issue (target:javascript)
- Javascript fix missing export (target:javascript)
- Fix issue 3965 (atn-analysis, target:javascript)
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
python2 target
- Python LexerNoViableAltException is created with messages (#4095) (target:python2, target:python3)
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
python3 target
- Python LexerNoViableAltException is created with messages (#4095) (target:python2, target:python3)
- Generate identical atn simulation output across targets to compare parsing functionality (atn-analysis, target:java, target:javascript, target:python2, target:python3, target:csharp, comp:doc, target:cpp, target:go, comp:testing)
swift target
- Small tweaks to Swift.stg to allow throwing operations in actions (actions, target:swift, type:cleanup)
- Fix two Swift profiling bugs (atn-analysis, target:swift)
- Don’t specify a default type for the exported Swift package library (comp:build, target:swift)
- Package.swift: provide an option to link against ANTLR 4 statically (comp:build, target:swift)
- Bring back the Package.swift in the project's root (actions, comp:build, target:swift)
php target
- php composer install (comp:build, comp:testing, target:php)
- Fix PHP test template and improve docs about debugging (atn-analysis, comp:doc, target:php)
- Add ATN tracing support for PHP target (target:php)
dart target
Contributors
- 14 items: Terence Parr (parrt)
- 12 items: ericvergnaud
- 2 items: Ken Domino (kaby76)
- 2 items: Marcos Passos (marcospassos)
- 2 items: Jeremiah Boyle (j3r3miah)
- 2 items: Nikolay Edigaryev (edigaryev)
- 2 items: Jim Idle (jimidle)
- 1 items: Daniel Snider (danielsnider)
- 1 items: Jordan Rupprecht (rupprecht)
- 1 items: Sofyan-SU
- 1 items: Mykola (Nickolas) Pokhylets (nickolas-pohilets)
- 1 items: Robert Adam (Krzmbrzl)
- 1 items: HS (hs-apotell)
- 1 items: Chris Kolbu (nesevis)
- 1 items: Tony Arnold (tonyarnold)
- 1 items: Brad B (BradB132)
- 1 items: Eric Mutta (ericmutta)
- 1 items: acetousk
- 1 items: Chris (chris-miner)
- 1 items: @TT (1sand0s)
- 1 items: FireWolf (0xFireWolf)
- 1 items: Gunnlaugur Thor Briem (gthb)
- 1 items: Alex (sashashura)
- 1 items: Hervé Boutemy (hboutemy)
- 1 items: Rishabh Arya (rishabh-arya95)