Ross ROSS = Recommend OSS · open-source software intelligence for agents

alecthomas/participle

A parser library for Go observed · 2026-08-28

github.com/alecthomas/participle · Go · MIT (permissive) observed · 2026-08-28

Health v2 · maintenance only

79/100

  • Activity 99
  • 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-09-03. Adoption (stars, forks) is never an input.

  • gap_med: 3.5
  • age_days: 3718
  • days_rel: 528
  • days_push: 7
  • n_releases_24m: 3

Full methodology

Adoption not part of the score

3878 stars · 212 forks observed · 2026-08-28

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

Member repositories

RepositoryRoleHealth v2
alecthomas/participlemain79

For agents

markdown · JSON · MCP: product_card(name="alecthomas/participle")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem