Engelberg/instaparse
None observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4959
- days_rel: n/a
- days_push: 825
- n_releases_24m: 0
Adoption not part of the score
2822 stars · 153 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Instaparse is a Clojure/ClojureScript library that turns context-free grammars written in standard EBNF or ABNF notation into executable parsers that map input strings to parse trees. It handles any context-free grammar, including left-recursive and ambiguous ones, and offers hiccup/enlive output, lookahead extensions, full parse enumeration, and detailed error reporting.
Use cases
- parse strings with a context-free grammar in Clojure
- turn an EBNF or ABNF grammar into a working parser
- build a parser for a small DSL without hand-writing a lexer
- handle left-recursive or ambiguous grammars and enumerate all parses
- debug a grammar that fails to match a string
- produce parse trees in hiccup or enlive format
- extend a grammar with lookahead and negative lookahead
When to choose
- You want to go from a written grammar to an executable parser with almost no boilerplate in Clojure or ClojureScript
- Your grammar is left-recursive, ambiguous, or otherwise hard for hand-rolled or LL/LR tools to handle
- You need to inspect all possible parses while designing or debugging a grammar
- You prefer declarative EBNF/ABNF notation over building parsers combinator by combinator
When to avoid
- You need a hand-tuned lexer/parser generator for maximum throughput on very large inputs
- You require strict PEG semantics or streaming/incremental parsing
- You are working outside Clojure/ClojureScript (JVM or JavaScript runtimes)
- Regular expressions are sufficient for your pattern-matching needs
Facets
library · maturity stable
parser parsers programming-languages developer-tools jvm browser clojure clojurescript context-free-grammar ebnf abnf parser-combinator parse-tree parser-generator peg-lookahead ambiguous-grammars dsl-parsing nodejs
1 source
- readme: https://github.com/Engelberg/instaparse · fetched 2026-08-28 · d7fc30396eda
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| Engelberg/instaparse | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="Engelberg/instaparse")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem