antlr4
New Dart runtime for ANTLR4.
4.13.2
270K downloads/mo
#46 most downloaded on pub.dev
antlr/antlr4
What this package is like to depend on
Last release 2 years ago
no release in 18 months
Ships fairly regularly
a new release about every 5 months
Most releases are documented
notes for 9 of 12 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
15 releases · first in 2020
0 releases in the last 12 months
see the full history below
Release timeline
15 releases · Jan 2020 to Aug 2024Releases
latest 15-
4.13.204 Aug 2024Release notes
Open source →Minor updates release.
Pull requests grouped by target
cpp target
- [Cpp] Use target_include_dirs for cmake targets (target:cpp)
- Update C++ documentation to state that C++17 is required (comp:doc, target:cpp)
go target
- fix go-target.md, remove duplicate 'get' (comp:doc, target:go)
javascript target
- fix(javascript): fix types not being recognized for NodeNext module resolution (target:javascript)
- [Javascript] Fix broken package entrypoints (target:javascript, type:cleanup)
python3 target
- name 'state' conflict with Python3 runtime. (target:python3)
Contributors
- 1 items: njnobles
- 1 items: Andreas Buhr (andreasbuhr)
- 1 items: Eric Vergnaud (ericvergnaud)
- 1 items: Gökhan Kurt (KurtGokhan)
- 1 items: johannesheesterman
- 1 items: Alex Miller (Codex-)
- 1 items: GP4cK
- 1 items: Alessandro Gatti (agatti)
- 1 items: cyqw
- 1 items: css521 (css521)
-
4.13.105 Sep 2023Release notes
Open source →Pull requests grouped by target
csharp target
- [CSharp] Fix for #4386 -- change signatures for ReportAttemptingFullContext() and ReportContextSensitivity() to be identical to all other targets (target:csharp, type:cleanup)
go target
- Move GetText(), SetText(), and String() from CommonToken to BaseToken (target:go, type:cleanup)
- Restore "Obtained from string" source name. (target:go, type:cleanup)
- fix: Fix very minor code issues spotted by goreportcard.com (target:go, type:cleanup)
java target
- Java: suppress
this-escapewarning introduced in JDK 21. (actions, target:java)
javascript target
- Adds default targets for babel configuration (target:javascript)
- fix dependabot warnings (target:javascript, type:cleanup)
swift target
- [SWIFT] Add Antlr4Dynamic product (target:swift)
- Cleanup duplicate SwiftTarget code (target:swift, type:cleanup)
dart target
- [Dart] Fix for #4320--export additional types (type:bug, target:dart)
Contributors
- 2 items: Ken Domino (kaby76)
- 2 items: Jerry Berg (googleberg)
- 2 items: ericvergnaud
- 1 items: Yichen Yan (oraluben)
- 1 items: Grzegorz Spryszyński (GrzegorzSpryszynski-TomTom)
- 1 items: tison (tisonkun)
- 1 items: Nacho Cordón (ncordon)
- 1 items: Hervé Boutemy (hboutemy)
- 1 items: Jim Idle (jimidle)
-
4.13.024 May 2023Release notes
Open source →This is primarily change to the Go target itself and its release location, which has moved to https://github.com/antlr4-go/antlr. The code still lives and this repository, but for release purposes we've created a new organization and repository so that Go users can pull versions down according to the repository and label rules
Issues fixed
- antlr4 jar doubled in size in 4.9.3 (unicode, comp:performance)
- Go: exponentially bad/absymal performance as of ... (type:bug, target:go)
- Go runtime panic (type:bug, target:go)
Improvements, features
- Update LexerATNSimulator.cs with virtual Consume (type:improvement, target:csharp)
- Feature/fixembedding (type:improvement, target:go, comp:performance)
- Provide Javascript port of TokenStreamRewriter (type:feature, target:javascript, target:typescript)
Pull requests grouped by target
csharp target
- Update LexerATNSimulator.cs with virtual Consume (type:improvement, target:csharp)
cpp target
- Optimize the concurrent performance of Cpp target by more than 10 times (target:cpp, comp:performance, threading)
- Issue #4185: Too many artifacts fail to upload (comp:build, target:cpp, comp:testing)
- Limit use of Posix threads to Unix (target:cpp, threading)
- cmake: Fix output dir for Visual Studio generator (comp:build, target:cpp)
- Cpp: Remove code duplication (target:cpp, type:cleanup)
go target
- Feature/newrepo - Transition Go code to new runtime repo (target:go)
- Feature/docsNew release documentation and release notes for Go (comp:doc, target:go)
- Change closureCheckingStopState from recursive to iterative (target:go)
- Export generated data structures (target:go)
- fix: Allow CommonTokenStream to reset properly (target:go)
- feat: Adds actual usable @ actions to the go templates (target:go)
- Feat: Clean up go input streams to be a little more efficient (target:go)
- Add support to Golang codegen for booleans (target:go)
- Clean up go runtime testrig (target:go, comp:testing)
- feat: More reasonable wins in performance (target:go)
- Feature/memory (target:go, comp:performance)
- More performance improvements (target:go, comp:performance)
- Improve PredictionContext performance, fix bugs (target:go)
- Don't Panic! 50% plus performance improvement (target:go, comp:performance)
- Fix the prediction cache and the comparison algorithms from the legacy code (target:go)
- Improve runtime performance of the Go runtime test suite (target:go, comp:performance)
- Fix #3967 Merge of Prediction Context arrays was broken (target:go)
- Feature/fixembedding (type:improvement, target:go, comp:performance)
- Feature/docclean Greatly improve the godoc comments in the runtime (comp:doc, target:go)
- Feature/gotestfix (target:go)
- Feature/gotestfix Fixes Go runtime test suite (target:go, comp:testing, type:cleanup)
- Feature/fix 4150 - prevent invalid codegen in Go (type:bug, target:go)
- Remove redundant source code from go runtime (target:go, type:cleanup)
- fix: Some code that should have been destined for /v4 was instead put… (target:go, type:cleanup)
javascript target
- [JavaScript] Exporting syntaxErrorsCount (target:javascript)
- [Javascript] Added support for commonjs in nodejs package (target:javascript)
- do not modify String.prototype in js package (target:javascript)
- Provide Javascript port of TokenStreamRewriter (type:feature, target:javascript, target:typescript)
python3 target
- Minor typo (target:python3)
- Remove redundant name check in multiple files (target:python3)
- [Python3] Move the metadata into
PEP 621-compliantpyproject.toml. (comp:build, target:python3)
Contributors
- 23 items: Jim Idle (jimidle)
- 4 items: ericvergnaud
- 2 items: HS (hs-apotell)
- 2 items: Josua Frank (Sharknoon)
- 2 items: Robert Adam (Krzmbrzl)
- 1 items: Rodrigo Antonio Godinho da Silva (killerall)
- 1 items: Tao Wang (wangtao9)
- 1 items: Michael de Hoog (mdehoog)
- 1 items: Ivan Kochurkin (KvanTTT)
- 1 items: Mikołaj Podbielski (mikolajpod)
- 1 items: Ahmad Tameem (Tameem97)
- 1 items: Adrian Jutrowski (Tarjei400)
- 1 items: Jon Harris (jharris4)
- 1 items: Alberto Simões (cxambs)
- 1 items: KOLANICH (KOLANICH)
- 1 items: hieunguyen2211
- 1 items: Leonardo Sarmiento (Leo1690)
- 1 items: Prashant-Jagtap
- 1 items: kirides
- 1 items: Terence Parr (parrt)
- 1 items: Eiríkur Fannar Torfason (eirikur-grid)
-
4.12.019 Feb 2023Release notes
Open source →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)
-
4.11.107 Sep 2022Release notes
Open source →Just fixes 4.11.0 release issue. I forgot to change runtime tool version so it didn't say SNAPSHOT.
Release notes
Open source →4.11.1 (just fixes 4.11.0 release issue)
Compare
Choose a tag to compare
-
4.11.007 Sep 2022Release notes
Open source →4.11.0 consist primarily:
- a major rebuild of the Go target by Jim Idle. Please see Go target doc for more information, as it now requires the go module stuff.
- huge internal refractoring of testing and various target speed improvements by Ivan Kochurkin
- Getting all targets to run on all operating systems using github actions by HS.
The details by type and target follow.
Issues fixed
- Disable failing CI tests in master (comp:build, comp:testing)
- Create accessor for Go-based IntervalSet.intervals (target:go)
- Grammar Name Conflict Golang with SPARQL issue (target:go, type:cleanup)
- Dependency declaration error in ANTLR 4.10.1 (comp:build)
- Drop old version of Visual Studio C++ (2013, 2015, 2017) (comp:build, target:cpp)
- Circular grammar inclusion causes stack overflow in the tool. (comp:tool, type:bug)
- Cpp, Go, JavaScript, Python2/3: Template rendering error. (code-gen, comp:runtime, target:java, target:javascript, target:python2, target:python3, target:go)
Improvements, features
- Augment error message during testing to include full cause of problem. (type:improvement, comp:testing)
- Include swift & tool verification in CI workflow (type:improvement, comp:build, cross-platform-issue, target:swift)
- Issue #3783: CI Check Builds (type:improvement, comp:build, cross-platform-issue, comp:testing)
- Parallel lock free testing, remove potential deadlocks, cache static data, go to descriptor via test (comp:runtime, type:improvement, comp:testing)
- update getting-started doc (type:improvement, comp:doc)
- Getting Started has error (type:improvement, comp:doc)
- new nuget directory for building ANTLR4 C++ runtime as 3 Nuget packages (type:improvement, comp:build, target:cpp)
- Add interp tool like TestRig (comp:tool, type:feature)
- Issue 3720: Java 2 Security issue (type:improvement, target:java)
- Cpp: Disable warnings for external project (type:bug, type:improvement, target:cpp)
- Fix Docker README for arm OS user (type:improvement, comp:doc)
Pull requests grouped by target
csharp target
- Runtime tests fixes (C++, Python, PHP, C#) (target:python2, target:python3, target:csharp, target:cpp, comp:testing, target:php)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
cpp target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- Cpp: Link to threads library (comp:build, target:cpp)
- [C++] Remove libuuid dependency (comp:build, target:cpp, type:cleanup)
- Fix CMake syntax for variable expansion (comp:build, cross-platform-issue, target:cpp)
- Don't make class SementicContext::Empty final. (cross-platform-issue, target:cpp)
- new nuget directory for building ANTLR4 C++ runtime as 3 Nuget packages (type:improvement, comp:build, target:cpp)
- Runtime tests fixes (C++, Python, PHP, C#) (target:python2, target:python3, target:csharp, target:cpp, comp:testing, target:php)
- Cpp: Disable warnings for external project (type:bug, type:improvement, target:cpp)
- FindANTLR: Fix version RegEx (type:bug, comp:build, target:cpp)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
- Improve ExternalProject cmake file (actions, comp:build, target:cpp)
- Windows specific fixes (comp:build, cross-platform-issue, target:cpp)
go target
- feat: Add a deprecation message to the existing v1 module (target:go, type:cleanup)
- Feature/gomod4110 (target:go, type:cleanup)
- Optimize go tests runner and renable CircleCI go tests (comp:build, target:go, comp:testing)
- fix: #2016 Fix Go template list reference, go runtime and got test te… (target:go, type:cleanup)
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- doc: Start improving docs for #1374 (comp:doc, target:go, type:cleanup)
- fix: #2016 - Generate correct iGo code for lists in a grammar, such a… (grammars, target:go)
- fix: #2826 Go template is incorrect for dynamic scopes (type:bug, target:go)
- fix: #3758 Allow for string being a keyword and fix go template to us… (target:go, type:cleanup)
- feat: Reduce initial memory allocations for collections (parsers, target:go)
- Feature/newhash (target:go, comp:performance)
- fix: Fixes for https://github.com/antlr/antlr4/issues/3718 (type:bug, target:go, type:cleanup)
- Add Go accessor for IntervalSet.intervals (target:go)
- Ensure that only the tokens needed are fetched (target:java, target:go, comp:performance)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
java target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- Add
@SuppressWarnings("CheckReturnValue")to prevent error_prone lib errors. (target:java) - Fixing bug identified by https://github.com/antlr/antlr4/discussions/… (target:java, type:cleanup)
- Ensure that only the tokens needed are fetched (target:java, target:go, comp:performance)
- Issue 3720: Java 2 Security issue (type:improvement, target:java)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
- Fix OSGi imports (comp:build, target:java)
javascript target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- add license prefix (target:javascript)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
python2 target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- [py2] Fix SyntaxError due to F string (type:bug, target:python2)
- [Python 3] use build and twine to publish source and wheel (comp:build, target:python2, target:python3)
- Fix #3508: Document the $parser attribute and its use in target-agnostic grammars. (target:python2, target:python3, comp:doc)
- Runtime tests fixes (C++, Python, PHP, C#) (target:python2, target:python3, target:csharp, target:cpp, comp:testing, target:php)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
- Restore support for py3.5 by removing f-string in setup.py (target:python2)
python3 target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- [Python 3] use build and twine to publish source and wheel (comp:build, target:python2, target:python3)
- Fix #3508: Document the $parser attribute and its use in target-agnostic grammars. (target:python2, target:python3, comp:doc)
- Runtime tests fixes (C++, Python, PHP, C#) (target:python2, target:python3, target:csharp, target:cpp, comp:testing, target:php)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
swift target
- Fix 2016 round 2 (type:bug, target:java, target:javascript, target:python2, target:python3, target:swift, target:cpp, target:go)
- Include swift & tool verification in CI workflow (type:improvement, comp:build, cross-platform-issue, target:swift)
- Swift runtime tests run on Windows! (comp:build, target:swift, comp:testing)
- [Swift] let the Swift Package Manager choose between static or dynamic linking (comp:build, target:swift)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
- Update Swift Package to support static library (comp:build, target:swift)
php target
- Runtime tests fixes (C++, Python, PHP, C#) (target:python2, target:python3, target:csharp, target:cpp, comp:testing, target:php)
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
dart target
- Constant folding for Python and other runtimes (code-gen, target:java, target:javascript, target:python2, target:python3, target:csharp, target:swift, target:cpp, target:go, target:dart, comp:performance, target:php)
Contributors
- 11 items: Jim Idle (jimidle)
- 10 items: Terence Parr (parrt)
- 10 items: Ivan Kochurkin (KvanTTT)
- 6 items: HS (hs-apotell)
- 4 items: Robert Adam (Krzmbrzl)
- 2 items: James Taylor (JamesRTaylor)
- 2 items: Nicksxs (Nicksxs)
- 1 items: Tim McCormack (timmc)
- 1 items: Travis Thieman (thieman)
- 1 items: Qijia Liu (eagleoflqj)
- 1 items: Ross Patterson (RossPatterson)
- 1 items: ericvergnaud
- 1 items: Bryan Tan (Technius)
- 1 items: Henner Zeller (hzeller)
- 1 items: GCer-Hidenori
- 1 items: Eduardo Hernández Valdez (saucesaft)
- 1 items: 100mango
- 1 items: Mark Symons (msymons)
- 1 items: Francis ANDRE (zosrothko)
- 1 items: Guillaume (Candide7)
- 1 items: Tristan Swadell (TristonianJones)
- 1 items: Will Dazey (dazey3)
- 1 items: uji (uji)
- 1 items: Robert Varga (rovarga)
- 1 items: Hell_Ghost (HellGhost)
- 1 items: Alex Mykyta (amykyta3)
- 1 items: Nikolay Ognyanov (nikolayo)
- 1 items: Andrew Pashkin (AndreiPashkin)
-
4.10.119 Apr 2022 -
4.10.014 Apr 2022Nothing published for this version
-
4.9.306 Nov 2021 -
4.9.3-dev.114 Oct 2021 pre-releaseNothing published for this version
-
4.9.211 Mar 2021 -
4.9.105 Jan 2021Nothing published for this version
-
4.9.024 Nov 2020Nothing published for this version
-
4.8.0-dev.230 May 2020 pre-releaseNothing published for this version
-
4.8.0-dev.119 Jan 2020 pre-releaseNothing published for this version