pkg.soopen package index

brew / rang 6567

Installer bnfc avec Homebrew, apt, pacman

Consultez les chemins d'installation, exécutables, métadonnées et notes de sécurité de bnfc pour les workflows d'agents IA.

installation

Commandes d'installation supplémentaires

macOS

Homebrewvérifié · 100%
brew install bnfc

local Homebrew formula metadata

aperçu

Résumé du paquet

BNF Converter

Commandes et alias

  • bnfc

historique

Historique du projet et usages

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.

Historique du projet

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.

Historique d'adoption

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.

Modes d'utilisation

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.

Pourquoi les passionnés de paquets s'y intéressent

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.

Chronologie

  • 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.

posture de sécurité

Niveau de risque : vert

narrow executable package without higher-risk signals.

Classificateur de risque

risque vert · confiance faible · appliance

Pourquoi

  • narrow executable package without higher-risk signals

Signaux

  • metadata:no-higher-risk-signals

Comportement d'installation

  • Aucun hook post-install Homebrew n’est enregistré dans les métadonnées de formule.
  • Les métadonnées de bottle Homebrew sont disponibles pour 6 plateformes.
  • S’installe avec 1 dépendances d’exécution.
  • Les métadonnées de compilation listent 3 dépendances de compilation.

Revue recommandée

Avant une utilisation sans surveillance par un agent, vérifiez si l'outil lit des identifiants en clair, écrit un état distant, publie des artefacts ou lance des plugins.

exécutables

Exécutables installés

CommandeTypeExpositionNote
bnfccliexécutable global

fraîcheur

Version et fraîcheur

Ces signaux séparent l'âge de génération de la page, l'activité du gestionnaire de paquets et la comparaison avec les versions amont. Un retard de version n'est signalé que lorsqu'une URL de preuve et des versions comparables sont présentes.

page générée2026-08-04
version du gestionnaire2.9.6.3
gestionnaire mis à jour2026-07-22
données localesOK
amontnot checked
dernière version détectéenon détecté

https://github.com/BNFC/bnfc

métadonnées d'installation

Métadonnées du paquet

Clé du paquetbrew:bnfc
Version2.9.6.3
Gestionnaire de paquetsHomebrew
Page du gestionnaire de paquetshttps://formulae.brew.sh/formula/bnfc
Page d'accueilhttps://github.com/BNFC/bnfc
Dépôthttps://github.com/BNFC/bnfc
LicenceBSD-3-Clause
Archive sourcehttps://github.com/BNFC/bnfc/archive/refs/tags/v2.9.6.3.tar.gz
Dernière mise à jour2026-07-22T02:42:18Z
Pulseupdated
Dépendancesgmp
Dépendances de compilationcabal-install, ghc, sphinx-doc
Bibliothèques fournies par macOSlibffi
Bouteilledisponible (sur arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
post-install Homebrewnon défini
Serviceaucun déclaré

faits du registre

Détails de la base source

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebnfc
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

correspondances dans les bases sources

Autres enregistrements de gestionnaires de paquets

Les correspondances proviennent d’index externes de gestionnaires de paquets et restent séparées des liens de paquets Automic Vault locaux.

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 Dépendances
  • normalized package name match
  • Correspondance par : 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 Dépendances
  • normalized package name match
  • Correspondance par : 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 Dépendances
  • 3 dépendances optionnelles
  • normalized package name match
  • Correspondance par : 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

piste source

Généré depuis les données du dépôt

Cette page est servie par av-web depuis l'artéfact SQLite privé des paquets généré par scripts/generate-pkg-sqlite.py.

Sources utilisées

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