bison - manuel de référence, options, exemples de commandes


NOM

bison - Générateur d'analyseur de projet GNU (remplacement de yacc)

SYNOPSIS

bison [OPTION]... FILE

DESCRIPTION

Bison est un générateur d'analyseur dans le style de yacc(1). Il doit être compatible avec les fichiers d'entrée conçus pour yacc.

Les fichiers d'entrée doivent suivre la convention yacc de se terminer par .y. Contrairement à yacc, les fichiers générés n'ont pas de noms fixes, mais utilisent à la place le préfixe du fichier d'entrée. De plus, si vous avez besoin de mettre du code C++ dans le fichier d'entrée, vous pouvez terminer son nom par une extension de type C++ (.ypp ou .y++), alors bison suivra votre extension pour nommer la sortie fichier (.cpp ou .c++). Par exemple, un fichier de description de grammaire nommé parse.yxx produirait l'analyseur généré dans un fichier nommé parse.tab.cxx, au lieu de yacc y.tab.c ou parse.tab.c de l'ancienne version de Bison.

Cette description des options qui peuvent être données à bison est adaptée du nœud Invocation dans le manuel bison.texi, qui doit être pris comme faisant autorité.

Bison prend en charge les options traditionnelles à une seule lettre et les noms d'option longs mnémoniques. Les noms d'option longs sont indiqués par -- au lieu de -. Les abréviations des noms d'options sont autorisées tant qu'elles sont uniques. Lorsqu'une option longue prend un argument, comme --file-prefix, connectez le nom de l'option et l'argument avec =.

Générez un analyseur LR déterministe ou LR généralisé (GLR) en utilisant des tables d'analyseur LALR(1), IELR(1) ou canonique LR(1).

Les arguments obligatoires pour les options longues sont également obligatoires pour les options courtes. Il en va de même pour les arguments optionnels.

Modes de fonctionnement :

-h, --help

afficher cette aide et quitter

-V, --version

Affiche les informations de version et quitte

--print-localedir

répertoire de sortie contenant les données dépendant des paramètres régionaux et sortie

--print-datadir

répertoire de sortie contenant les squelettes et XSLT et sortie

-u, --update

appliquer les correctifs au fichier de grammaire source et quitter

-f, --feature[=FEATURES]

activer diverses fonctionnalités

FEATURES est une liste de mots séparés par des virgules pouvant inclure :

caret, diagnostics-show-caret

afficher les erreurs avec des carets

fixit, diagnostics-parseable-fixits

afficher les correctifs lisibles par machine

syntax-only

ne génère aucun fichier

all

tout ce qui précède

none

désactiver tout ce qui précède

Diagnostique:

-W, --warnings[=CATEGORY]

signaler les avertissements relevant de la CATÉGORIE

--color[=WHEN]

s'il faut coloriser les diagnostics

--style=FILE

spécifier le FICHIER CSS pour les diagnostics du coloriseur

Les catégories d'avertissement incluent :

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 conflits

dangling-alias

alias de chaîne non attaché à un symbole

deprecated

constructions obsolètes

empty-rule

règles vides sans %empty

midrule-values

valeurs de règle médiane non définies ou inutilisées

precedence

priorité et associativité inutiles

yacc

incompatibilités avec POSIX Yacc

other

tous les autres avertissements (activés par défaut)

all

tous les avertissements sauf 'contre-exemples', 'dangling-alias' et 'yacc'

no-CATEGORY

désactiver les avertissements dans CATEGORY

none

désactiver tous les avertissements

error[=CATEGORY]

traiter les avertissements comme des erreurs

QUAND peut être l'un des suivants :

always, yes

coloriser la sortie

never, no

ne pas coloriser la sortie

auto, tty

coloriser si le périphérique de sortie est un tty

Réglage de l'analyseur :

-L, --language=LANGUAGE

spécifier le langage de programmation de sortie

-S, --skeleton=FILE

spécifier le squelette à utiliser

-t, --debug

instrument l'analyseur pour le traçage identique à '-Dparse.trace'

--locations

activer la prise en charge de la localisation

-D, --define=NAME[=VALUE]

similaire à '%define NAME VALUE'

-F, --force-define=NAME[=VALUE]

remplacer '%define NAME VALUE'

-p, --name-prefix=PREFIX

ajouter PREFIX aux symboles externes obsolètes par '-Dapi.prefix={PREFIX}'

-l, --no-lines

ne génère pas de directives '#line'

-k, --token-table

inclure une table de noms de jetons

-y, --yacc

émuler POSIX Yacc

Fichiers de sortie :

-H, --header=[FILE]

produire également un fichier d'en-tête

-d

de même mais ne peut pas spécifier FILE (pour POSIX Yacc)

-r, --report=THINGS

produire également des détails sur l'automate

--report-file=FILE

écrire un rapport dans FILE

-v, --verbose

identique à '--report=état'

-b, --file-prefix=PREFIX

spécifier un PREFIX pour les fichiers de sortie

-o, --output=FILE

laisser la sortie dans FILE

-g, --graph[=FILE]

produit également un graphe de l'automate

--html[=FILE]

génère également un rapport HTML de l'automate

-x, --xml[=FILE]

génère également un rapport XML de l'automate

-M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when writing file paths

dans les fichiers de sortie

THINGS est une liste de mots séparés par des virgules qui peuvent inclure :

states

décrire les états

itemsets

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

lookaheads

associer explicitement des jetons d'anticipation aux éléments

solved

décrire décaler/réduire les conflits résoudre

counterexamples, cex

générer des contre-exemples de conflits

all

inclure toutes les informations ci-dessus

none

désactiver le rapport

AUTEUR

Écrit par Robert Corbett et Richard Stallman.

SIGNALER DES BOGUES

Signalez les bogues à bug-bison@gnu.org.
Page d'accueil de GNU Bison : https://www.gnu.org/software/bison/.
Aide générale sur l'utilisation du logiciel GNU : https://www.gnu.org/gethelp/.
Pour une documentation complète, lancez : info bison.

DROITS D'AUTEUR

Copyright © 2021 Free Software Foundation, Inc.
C'est un logiciel gratuit ; voir la source pour les conditions de copie. Il n'y a AUCUNE garantie; pas même pour la QUALITÉ MARCHANDE ou l'ADAPTATION À UN USAGE PARTICULIER.

VOIR ÉGALEMENT

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

The full documentation for bison is maintained as a Texinfo manual. If the info and bison programs are properly installed at your site, the command

info bison

should give you access to the complete manual.