GNU Bison

générateur polyvalent d'analyseurs syntaxiques (parser)
GNU Bison
Description de l'image Official gnu.svg.

Informations
Créateur Robert P. Corbett (d)Voir et modifier les données sur Wikidata
Développé par Projet GNU
Première version [1]Voir et modifier les données sur Wikidata
Dernière version 3.8.1 (11 septembre 2021)
Dépôt git.savannah.gnu.org/cgit/bison.gitVoir et modifier les données sur Wikidata
Écrit en CVoir et modifier les données sur Wikidata
Système d'exploitation GNU/Linux et BSDVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Formats lus GNU Bison grammar (d) et GNU Bison grammar (with rem) (d)Voir et modifier les données sur Wikidata
Formats écrits GNU Bison grammar (d) et GNU Bison grammar (with rem) (d)Voir et modifier les données sur Wikidata
Type Analyseur syntaxique
Licence Licence publique générale GNU version 3 ou ultérieureVoir et modifier les données sur Wikidata
Documentation www.gnu.org/software/bison/manualVoir et modifier les données sur Wikidata
Site web www.gnu.org/software/bison/

GNU Bison est l'implémentation GNU du compilateur de compilateur yacc, spécialisé dans la génération d'analyseurs syntaxiques.

Scénarios d'utilisation modifier

L'utilisation d'un analyseur syntaxique s'impose sur du code écrit par exemple en C ou C++ lorsqu'on a besoin de remplacer des classes ou autres références par des adaptateurs, ou des appels de fonctions, ou à partir d'autres classes et/ou fonctions. Dans ce schéma, GNU Bison peut analyser le code source et remplacer toutes les instances de classes et les fonctions, y compris ses arguments.

On peut par ailleurs associer Bison à l'analyseur lexical Flex, version libre de Lex.

Langages de programmation supportés modifier

GNU Bison peut générer du code C, C++ ou Java, lequel pourra par la suite être compilé.

Notes et références modifier

  1. Robert P. Corbett, Static Semantics and Compiler Error Recovery, (thèse de doctorat), , [lire en ligne], consulté le  

Annexes modifier

Bibliographie modifier

Lien externe modifier