# Install abnfgen with Homebrew, apk

Quickly generate random documents that match an ABFN grammar. Version 0.21 via Homebrew; verified 2026-05-26. Also installable with apk: sudo apk add abnfgen.

## Install

```sh
sudo av install brew:abnfgen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install abnfgen
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add abnfgen
```

  Evidence: Alpine Linux edge package indexes: abnfgen from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

## Package facts

- **Package key:** brew:abnfgen
- **Package manager:** Homebrew
- **Version:** 0.21
- **Source summary:** Quickly generate random documents that match an ABFN grammar
- **Homepage:** <https://www.quut.com/abnfgen/>
- **Last updated:** 2026-05-26T23:37:46-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- abnfgen (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.21
## Project history and usage

abnfgen is a small Unix-style command-line generator that reads ABNF grammars and produces random documents matching those grammars for parser and protocol testing.

### Project history

The official page presents abnfgen as an alpha tool, copyrighted but free for any use, with version 0.21 offered as the current tarball release. Its bundled manual page is dated 4 March 2002, reflecting the tool's long-standing role in ABNF test-case generation.

### Adoption history

The official distribution is a source tarball that requires a C compiler and a Unix-like environment. The input package facts show that Homebrew and Alpine package it, which fits its niche as a compact test-data generator used from shell scripts and packaging systems.

### How it is used

abnfgen takes one or more grammar files and generates text from the selected start symbol. Its options include coverage-oriented generation, deterministic random seeds, output file counts, recursion depth limits, tentative definitions, and strict modes for rejecting extensions beyond the referenced ABNF syntax.

### Why package nerds care

Package maintainers care about abnfgen because it is a focused C utility with no documented runtime service or credentials, and it solves a practical standards-testing problem: generating concrete examples from ABNF grammars commonly used in RFCs and protocol specifications.

### Timeline

- 2002: Official manual page date for abnfgen(1).
- 2026: Official page lists abnfgen 0.21 as the current version.

### Related projects

- The official page and manual connect abnfgen to ABNF as used in RFC 4234-era Internet standards grammar descriptions and mention RFC 7405 string-literal handling.

### Sources

- Official quut.com abnfgen(1) manual: options, grammar behavior, and 4 March 2002 manpage date.
- Official quut.com project page: purpose, use cases, alpha status, current tarball, Unix-like build requirement.
- input source_facts.package-manager: Homebrew and Alpine package names.


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- apk - abnfgen - 0.21-r0: normalized package name match | Alpine Linux edge package indexes: abnfgen from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | ABNF-grammar test case generator | https://www.quut.com/abnfgen/
- apk - abnfgen-doc - 0.21-r0: normalized package name match | Alpine Linux edge package indexes: abnfgen-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | ABNF-grammar test case generator (documentation) | https://www.quut.com/abnfgen/


## Combined YAML source

View the package source record on GitHub. [combined/abnfgen.yml](https://github.com/mxcl/pkgdb/blob/main/combined/abnfgen.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
