alecthomas/participle
Some data may be outdated — see provenance labels.
A parser library for Go observed · 2026-10-06
Health v2 · maintenance only
78/100
- Activity 98
- Release rhythm 40
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-10-21. Adoption (stars, forks) is never an input.
- gap_med: 3.5
- age_days: 3766
- days_rel: 576
- days_push: 15
- n_releases_24m: 3
Adoption not part of the score
3894 stars · 221 forks observed · 2026-10-06
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Participle is a parser and lexer library for Go that lets you define grammars declaratively using annotated Go struct tags, similar in style to encoding/json. It supports EBNF-style grammar syntax, custom lexers, union types, and detailed error reporting.
Use cases
- parse a custom config file format in Go
- build a DSL parser in Go
- write a lexer and parser for a small language
- parse structured text into Go structs
- generate an AST from source text in Go
- implement an ini or expression parser
When to choose
- you want idiomatic Go parsers defined via struct tags without code generation
- you need a lightweight parser library with good error reporting
- you are parsing a small-to-medium DSL or structured text format
When to avoid
- you need extremely high-performance parsing of huge inputs
- you need a full production-grade compiler frontend with advanced grammar features
- your grammar requires features outside Participle's limitations, such as complex context-sensitive parsing
Facets
library · maturity stable
parser developer-tools parsers developer-tools programming-languages go cross-platform lexer grammar ebnf ast struct-tags parser-combinator
1 source
- readme: https://github.com/alecthomas/participle · fetched 2026-10-06 · 0c7f10e76998
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| alecthomas/participle | main | 78 |
For agents
markdown · JSON · MCP: product_card(name="alecthomas/participle")
Data as of 2026-10-19T08:05:51.212177+00:00 · Report a problem