BISON(1)

NOM
bison — un générateur d’analyseur syntaxique du projet GNU (remplacement de yacc)

SYNOPSIS
bison [OPTION]... FICHIER

DESCRIPTION
bison est un générateur d’analyseur syntaxique du style de yacc(1). Il doit être rétrocompatible avec les fichiers d’entrée conçus pour yacc(1).

Les fichiers d’entrée doivent respecter la convention de yacc(1) selon laquelle leur nom doit se terminer par « .y ». À la différence de yacc(1), le nom des fichiers générés n’est pas fixe : il contient le préfixe du fichier d’entrée. De plus, si vous devez ajouter du code C++ dans le fichier d’entrée, vous pouvez suffixer son nom par une extension associée à C++ (.ypp ou .y++) ; bison utilisera alors ce suffixe pour nommer le fichier de sortie (.cpp ou .c++). Par exemple, un fichier de description grammaticale nommé parse.yxx enregistrera l’analyseur syntaxique généré dans un fichier nommé parse.tab.cxx, au lieu du fichier y.tab.c qu’aurait généré yacc(1) ou du fichier parse.tab.c qu’auraient généré les anciennes versions de bison.

Cette description des options qui peuvent être utilisées avec bison est dérivée du nœud Invocation du manuel bison.texi, ce dernier devant être pris comme référence.

bison prend en charge les options dont le nom ne comporte qu’une seule lettre et celles possédant des noms long mnémoniques. Les noms d’option longs sont indiqués par « -- » à la place de « - » qui indique un nom d’option court. Les abréviations des noms d’option sont permises tant qu’elles conservent leur unicité. Lorsqu’une option accepte un argument, la version longue de son nom (comme --file-prefix) sera connectée à cet argument par un « = ».

bison génère un analyseur syntaxique LR déterministe ou LR généralisé (GLR) en utilisant des tables d'analyse LALR(1), IELR(1) ou LR(1) canoniques.

Les arguments obligatoires des options longues le sont aussi pour les options courtes. Cela est aussi vrai pour les arguments facultatifs.

  Modes opératoires :

-h, --help
    afficher l'aide-mémoire et quitter

-V, --version
    afficher les informations de version et quitter

--print-localedir
    afficher le répertoire contenant des données dépendant des paramètres régionaux et quitter

--print-datadir
    afficher le répertoire contenant des schémas et XSLT puis quitter

-u, --update
    appliquer les corrections au fichier de syntaxe source et quitter

-f, --feature[=FONCTIONNALITÉS]
    activer diverses fonctionnalités

  FONCTIONNALITÉS est une liste de mots séparés par des virgules parmi les suivants :

caret, diagnostics-show-caret
    montrer les erreurs avec des carets « ^ »

fixit, diagnostics-parseable-fixits
    montrer les corrections lisibles par la machine

syntax-only
    ne générer aucun fichier

all toutes les fonctionnalités précédentes

none
    désactiver toutes les fonctionnalités précédentes

  Diagnostics :

-W, --warnings[=CATÉGORIES]
    afficher les avertissements appartenant aux CATÉGORIES spécifiées

--color[=QUAND]
    quand colorer les diagnostics

--style=FICHIER
    spécifier le fichier CSS pour colorer les diagnostics

  Les catégories d’avertissements sont les suivantes :

conflicts-sr
    conflits S/R (activé par défaut)

conflicts-rr
    conflits R/R (activé par défaut)

counterexamples, cex
    générer des contre-exemples de conflit

dangling-alias
    alias de chaîne non rattachés à un symbole

deprecated
    constructions obsolètes

empty-rule
    règles vides sans %empty

midrule-values
    valeurs de règle intermédiaire non définies ou non utilisées

precedence
    priorité et associativité inutiles

yacc
    incompatibilités avec yacc(1) POSIX

other
    toutes les autres catégories d’avertissements (activé par défaut)

all toutes les catégories d’avertissements, sauf « counterexamples », « dangling-alias » et « yacc »

no-CATEGORY
    désactiver les catégories d’avertissements dans CATÉGORIES

none
    désactiver toutes les catégories d’avertissements

error[=CATÉGORIES]
    traiter les avertissements comme des erreurs

  QUAND peut prendre une des valeurs suivantes :

always, yes
    colorer la sortie

never, no
    ne pas colorer la sortie

auto, tty
    colorer si le dispositif de sortie est un tty

  Personnaliser l’analyseur syntaxique :

-L, --language=LANGAGE
    spécifier le langage de programmation de la sortie

-S, --skeleton=FICHIER
    spécifier le schéma à utiliser

-t, --debug
    instrumenter l’analyseur syntaxique pour le traçage (identique à -Dparse.trace)

--locations
    activer la prise en charge des emplacements

-D, --define=NOM[=VALEUR]
    similaire à « %define NOM VALEUR »

-F, --force-define=NOM[=VALEUR]
    outrepasser « %define NOM VALEUR »

-p, --name-prefix=PRÉFIXE
    ajouter le PRÉFIXE spécifié aux symboles externes (obsolète par rapport à -Dapi.prefix={PREFIX})

-l, --no-lines
    ne pas générer de directives « #line »

-k, --token-table
    inclure une table de noms de symbole

-y, --yacc
    simuler le comportement de yacc(1) POSIX

  Fichiers de sortie :

-H, --header=[FICHIER]
    produire aussi un fichier d’en-tête

-d  identique, mais il est impossible de spécifier un fichier (pour yacc(1) POSIX)

-r, --report=CHOSES
    produire également des détails sur l'automate

--report-file=FICHIER
    écrire le rapport dans FICHIER

-v, --verbose
    identique à « --report=state »

-b, --file-prefix=PRÉFIXE
    spécifier un PRÉFIXE pour les fichiers de sortie

-o, --output=FICHIER
    délivrer la sortie dans FICHIER

-g, --graph[=FICHIER]
    générer également un graphique de l'automate

--html[=FICHIER]
    générer également un rapport en HTML de l'automate

-x, --xml[=FICHIER]
    générer également un rapport en XML de l'automate

-M, --file-prefix-map=ANCIEN=NOUVEAU
    remplacer le préfixe ANCIEN par NOUVEAU lors de l’écriture des chemins de fichier dans les fichiers de sortie

  CHOSES est une liste de mots séparés par des virgules parmi les suivants :

states
    description des états

itemsets
    compléter les ensembles d'articles de base avec leur fermeture

lookaheads
    associer explicitement les symboles « lookahead » à des articles

solved
    décrire la résolution des conflits « shift/reduce »

counterexamples, cex
    générer des contre-exemples de conflit

all inclure toutes les informations précédentes

none
    désactiver la génération du rapport

AUTEUR
Écrit par Robert Corbett et Richard Stallman.

SIGNALER DES BOGUES
Envoyez vos rapports de bogue à <bug-bison@gnu.org>.
Page d’accueil de GNU Bison : <https://www.gnu.org/software/bison/>.
Aide générale pour l’utilisation des logiciels GNU : <https://www.gnu.org/gethelp/>.
Pour une documentation complète, exécutez la commande info bison.

COPYRIGHT
Copyright © 2021 Free Software Foundation, Inc.
C'est un logiciel libre ; consultez les sources pour les conditions de copie. Il n'y a AUCUNE garantie ; même pas de VALEUR MARCHANDE ou d'ADÉQUATION À UNE UTILISATION PARTICULIÈRE.

VOIR AUSSI
lex(1), flex(1), yacc(1).

La documentation complète de bison est entretenue sous la forme d’un manuel Texinfo. Si les programmes info et bison sont correctement installés sur votre système, la commande

    info bison

devrait vous donner accès au manuel complet.

TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-lorraine.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.