ruby/prism
Prism Ruby parser observed · 2026-10-20
Health v2 · maintenance only
89/100
- Activity 100
- Release rhythm 68
- 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: 25
- age_days: 1492
- days_rel: 217
- days_push: 1
- n_releases_24m: 10
Adoption not part of the score
1039 stars · 196 forks observed · 2026-10-20
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Prism is a portable, error-tolerant parser for the Ruby programming language written in dependency-free C99. It provides a shared library (libprism) with bindings for Ruby, Rust, Java, and JavaScript/WASM, and is bundled with CRuby 3.3+.
Use cases
- parse Ruby source code into an AST
- build Ruby linters or static analysis tools
- lex and tokenize Ruby files
- run a Ruby parser in the browser via WASM
- parse Ruby code from Rust or Java
- handle syntax errors gracefully in Ruby tooling
When to choose
- you need a fast, dependency-free Ruby parser
- you're building developer tooling for Ruby (linters, formatters, analyzers)
- you need error-tolerant parsing of incomplete or invalid Ruby code
- you need Ruby parsing in a non-Ruby language or in the browser
When to avoid
- you need a full Ruby interpreter or runtime, not just a parser
- you're on CRuby < 3.3 and can't install gems
- you need to evaluate or execute Ruby code
Facets
library · maturity stable
parser compiler developer-tools cli serialization programming-languages parsers developer-tools c ruby rust jvm wasm cross-platform cli ruby-parser ast lexer error-tolerant c99 language-tooling syntax-tree command-line
2 sources
- readme: https://github.com/ruby/prism · fetched 2026-10-20 · ea21a507b3dd
- homepage: https://ruby.github.io/prism/ · fetched 2026-08-29 · fc72adeaac37
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| ruby/prism | main | 89 |
For agents
Data as of 2026-10-19T08:05:51.212177+00:00 · Report a problem