antlr/antlr4

ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 minute ago
Added to GitGenius on September 3rd, 2026
Created on February 4th, 2010
Open Issues & Pull Requests: 1,086 (-3)
GitHub issues: Enabled
Number of forks: 3,462
Total Stargazers: 18,996 (+0)
Total Subscribers: 371 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.4 hours
Mean response time: 88.9 days
90th percentile: 113.7 days
Tracked items: 120

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 2% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 126
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 777 days
Stale 30+ days: 121
Stale 90+ days: 110

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • comp:performance (2)
  • status:not-fixing (2)
  • type:feature (2)
  • atn-analysis (1)
  • comp:build (1)
  • comp:tool (1)
  • error-handling (1)
  • grammars (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ANTLR is a parser generator that reads a grammar and produces a parser capable of building parse trees and generating listener or visitor interfaces for processing structured text and binary files.

The tool solves the problem of building language recognition systems by automating parser construction from formal grammar definitions. Rather than hand-coding parsers, developers write a grammar specification and ANTLR generates the parsing logic, along with tree traversal interfaces that make it straightforward to implement custom logic for handling recognized language constructs.

ANTLR suits projects that need to parse domain-specific languages, build compilers or interpreters, or process structured data formats. Its primary strength is support for ten target languages—C++, C#, Dart, Go, Java, JavaScript, PHP, Python, Swift, and TypeScript—with synchronized releases ensuring consistency across all runtimes. This multi-language capability distinguishes it from single-target parser generators. The tool is appropriate for teams building language tools, frameworks, or any system requiring robust parsing of custom syntax. Note that ANTLR's versioning deviates from semantic versioning: minor version updates may include breaking changes and require parser regeneration, while only patch versions guarantee backwards compatibility.

The project maintains a substantial adopter base, with nearly all open issues originating from external users rather than the core team. Maintainers respond to new issues and pull requests within a day. Work in the issue tracker centers on performance improvements, feature requests, and issues marked as not fixing, reflecting a mature project focused on incremental refinement rather than foundational changes.