# javacc/javacc

JavaCC - a parser generator for building parsers from grammars. It can generate code in Java, C++ and C#.

Repository: https://github.com/javacc/javacc
Canonical: https://ross.abutalabs.com/products/javacc
Homepage: https://javacc.org
Language: Java
License: BSD-3-Clause
License Family: permissive
Last push: 2025-06-24T17:44:05+00:00

## Health v2 (maintenance only)
Score: 35/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 28, release rhythm 8, longevity 100
- inputs: {"age_days": 3696, "days_push": 435, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1278, forks 252 (observed 2026-08-28T04:04:13.457457+00:00)

## What it is
JavaCC is a parser generator that reads grammar specifications and generates recursive-descent parsers in Java, C++, or C#. It includes supporting tools like JJTree for tree building and requires no runtime dependency once parsers are generated.

## Use cases
- generate a parser for a custom DSL in Java
- build a compiler frontend from a grammar file
- parse a custom configuration or query language
- generate a lexer and parser for a programming language
- create an AST builder for a structured text format
- port a grammar to C++ or C# parser code

## When to choose
- you need a pure-Java parser with no runtime dependency
- you want top-down recursive-descent parsing with LL(k) lookahead
- you need to generate parsers in Java, C++, or C# from one grammar
- you want mature, well-documented tooling with tree building included

## When to avoid
- you need bottom-up LALR parsing like YACC/Bison provides
- your grammar relies heavily on left recursion
- you need parsers in languages other than Java, C++, or C#
- you want a parser combinator library embedded in host code rather than generated code

## Facets
- artifact type: cli-tool
- maturity: stable
- function: parser, compiler, developer-tools
- domain: parsers, programming-languages, developer-tools, compilers
- platform: jvm, cross-platform, cli
- tags: parser-generator, javacc, recursive-descent, ll-k, grammar, jjtree, code-generation

## Member repositories
- javacc/javacc (main) score 35

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:13.457457+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T05:02:45.717530+00:00, confidence not recorded.
  - readme: https://github.com/javacc/javacc (fetched 2026-08-28T04:04:13.457457+00:00, sha 46b0722d9ce7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
