pkg.soopen package index

brew / Rang 6563

bnfc mit Homebrew, apt, pacman installieren

Prüfe Installationswege, Executables, Metadaten und Sicherheitshinweise für bnfc in AI-Agent-Workflows.

Installation

Weitere Installationsbefehle

macOS

Homebrewverifiziert · 100%
brew install bnfc

local Homebrew formula metadata

Überblick

Paketzusammenfassung

BNF Converter

Befehle und Aliase

  • bnfc

Verlauf

Projektgeschichte und Nutzung

BNFC, the BNF Converter, is a compiler-construction tool that turns a Labelled BNF grammar into a compiler front end: abstract syntax, lexer, parser, pretty-printer, test bench, and documentation.

Projektgeschichte

BNFC started at Chalmers and the University of Gothenburg. A 2004 Haskell workshop demonstration by Markus Forsberg and Aarne Ranta says Forsberg and Ranta began development in 2002 as a tool generating Haskell.

The same source records that Michael Pellauer retargeted BNFC to C, C++, and Java in 2003, moving it from a Haskell-only generator toward a multilingual compiler-front-end generator.

Modern BNFC documentation describes the LBNF formalism independently of any one output language, and the project now advertises generation for Haskell, Agda, C, C++, Java, OCaml, XML representations, and Pygments syntax highlighters.

Adoptionsgeschichte

BNFC found adoption in programming-languages courses, research prototypes, and small language implementations where the grammar is the most stable artifact and hand-written front ends would be repetitive.

Its package-manager footprint is narrower than mainstream parser generators but meaningful: Homebrew, Debian/Ubuntu, Arch, and Haskell package ecosystems carry it for developers who want an executable generator rather than a library-only parser toolkit.

Wie es verwendet wird

A user writes an LBNF grammar, runs bnfc, and then compiles the generated lexer/parser and abstract-syntax code with the target language's usual parser tooling, such as Alex and Happy for Haskell or Flex/Bison-style tools for C-family output.

BNFC is especially useful when the same grammar should produce both implementation artifacts and a readable language specification, keeping parser code, AST constructors, pretty printers, and documentation aligned.

Warum Paket-Nerds sich dafür interessieren

BNFC is package-nerd-significant because it packages an academic compiler-construction idea as a practical command-line generator. It is not just yacc with another syntax; its labeled grammar rules become typed abstract syntax across target languages.

For language-tooling nerds, BNFC sits in the interesting space between parser generators, syntax-specification formalisms, and teaching tools. It makes a grammar file the source of truth for several generated artifacts that are otherwise easy to let drift.

Its long survival in package managers matters because many compiler-course and research tools depend on old but useful grammar generators being installable without reconstructing a Chalmers-era toolchain by hand.

Zeitleiste

  • 2002: Forsberg and Ranta start BNFC as a Haskell-generating tool.
  • 2003: BNFC is retargeted to C, C++, and Java by Michael Pellauer.
  • 2004: BNFC is demonstrated at the ACM SIGPLAN Haskell workshop.
  • 2010s: BNFC migrates into modern package managers and public GitHub maintenance.
  • 2020s: BNFC documentation lists target-language support including Haskell, Agda, C, C++, Java, and OCaml.

Related projects

  • Alex and Happy: Haskell lexer and parser tools often used with BNFC's Haskell backend.
  • Flex and Bison: traditional lexer/parser tools related to BNFC's C/C++ style generated front ends.
  • ANTLR, yacc, and Menhir: parser-generator neighbors with different grammar models and target ecosystems.
  • LBNF: the Labelled BNF grammar formalism used by BNFC.

Sicherheitslage

Risikostufe: grün

narrow executable package without higher-risk signals.

Risikoklassifikator

grün Risiko · niedrig Konfidenz · appliance

Warum

  • narrow executable package without higher-risk signals

Signale

  • metadata:no-higher-risk-signals

Installationsverhalten

  • Es wurden keine Homebrew-Bottle-Metadaten erfasst.

Empfohlene Prüfung

Prüfe vor unbeaufsichtigter Agent-Nutzung, ob das Tool Klartext-Credentials liest, Remote-Zustand schreibt, Artefakte veröffentlicht oder Plugins ausführt.

Executables

Installierte Executables

BefehlArtSichtbarkeitHinweis
bnfcExecutableindexiertes ExecutableAus dem lokalen Executable-Index erkannt.

Aktualität

Version und Aktualität

Diese Signale trennen das Alter der Seitengenerierung, Aktivität des Paketmanagers und Upstream-Release-Vergleich. Versionsrückstand wird nur gemeldet, wenn eine Evidenz-URL und vergleichbare Versionen vorhanden sind.

Seite generiert2026-08-03
Manager-Version2.9.6.3
Manager aktualisiert2026-07-22
lokale Datenunbekannt
Upstreamnicht verfügbar
neueste erkannte Versionnicht erkannt
  • OKEs wurden keine Aktualitätswarnungen generiert.

Installationsmetadaten

Paketmetadaten

Paketschlüsselbrew:bnfc
Version2.9.6.3
PaketmanagerHomebrew
Homepagehttps://github.com/BNFC/bnfc
Repositoryhttps://github.com/BNFC/bnfc
Zuletzt aktualisiert2026-07-22T02:42:18Z
Pulseupdated
Bottlenicht erfasst
Dienstkeiner deklariert

Source-Datenbank-Treffer

Andere Paketmanager-Einträge

Treffer stammen aus externen Paketmanager-Indizes und bleiben von lokalen Automic-Vault-Paketlinks getrennt.

Debian apt95%

bnfc 2.9.5-1

Compiler front-end generator based on Labelled BNF

https://bnfc.digitalgrammars.com/

sudo apt install bnfc
  • Section: devel
  • Architecture: amd64
  • 3 Abhängigkeiten
  • normalized package name match
  • Abgeglichen nach: Bnfc
Debian stable package indexes · deb.debian.org · Debian stable package indexes: bnfc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Ubuntu apt95%

bnfc 2.9.5-1

Compiler front-end generator based on Labelled BNF

https://bnfc.digitalgrammars.com/

sudo apt install bnfc
  • Section: universe/devel
  • Architecture: amd64
  • 3 Abhängigkeiten
  • normalized package name match
  • Abgeglichen nach: Bnfc
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: bnfc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

bnfc 2.9.6.3-35

A compiler front-end generator.

https://bnfc.digitalgrammars.com/

sudo pacman -S bnfc
  • License: BSD-3-Clause
  • Architecture: x86_64
  • 2 Abhängigkeiten
  • 3 optionale Abhängigkeiten
  • normalized package name match
  • Abgeglichen nach: Bnfc
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: bnfc from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

Quellspur

Aus Repository-Daten generiert

Diese Seite wird von av-web aus dem privaten Paket-SQLite-Artefakt bereitgestellt, das scripts/generate-pkg-sqlite.py erstellt.

Verwendete Quellen

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