pkg.soopen package index

brew / rang 6563

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

  • Aucune métadonnée de bottle Homebrew n’a été enregistrée.

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
bnfcexécutableexécutable indexéDécouvert depuis l'index local des exécutables.

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-03
version du gestionnaire2.9.6.3
gestionnaire mis à jour2026-07-22
données localesinconnu
amontnon disponible
dernière version détectéenon détecté
  • OKAucun avertissement de fraîcheur n'a été généré.

métadonnées d'installation

Métadonnées du paquet

Clé du paquetbrew:bnfc
Version2.9.6.3
Gestionnaire de paquetsHomebrew
Page d'accueilhttps://github.com/BNFC/bnfc
Dépôthttps://github.com/BNFC/bnfc
Dernière mise à jour2026-07-22T02:42:18Z
Pulseupdated
Bouteillenon enregistré
Serviceaucun déclaré

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
  • pkg.so package database
  • pkgdb category and tag curation