BISON(1) Commandes de l'utilisateur BISON(1) NOM bison -- un generateur d'analyseur syntaxique du projet GNU (remplacement de yacc) SYNOPSIS bison [OPTION]... FICHIER DESCRIPTION bison est un generateur d'analyseur syntaxique du style de yacc(1). Il doit etre retrocompatible avec les fichiers d'entree concus pour yacc(1). Les fichiers d'entree doivent respecter la convention de yacc(1) selon laquelle leur nom doit se terminer par << .y >>. A la difference de yacc(1), le nom des fichiers generes n'est pas fixe : il contient le prefixe du fichier d'entree. De plus, si vous devez ajouter du code C++ dans le fichier d'entree, vous pouvez suffixer son nom par une extension associee a 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 nomme parse.yxx enregistrera l'analyseur syntaxique genere dans un fichier nomme parse.tab.cxx, au lieu du fichier y.tab.c qu'aurait genere yacc(1) ou du fichier parse.tab.c qu'auraient genere les anciennes versions de bison. Cette description des options qui peuvent etre utilisees avec bison est derivee du noeud Invocation du manuel bison.texi, ce dernier devant etre pris comme reference. bison prend en charge les options dont le nom ne comporte qu'une seule lettre et celles possedant des noms long mnemoniques. Les noms d'option longs sont indiques par << -- >> a la place de << - >> qui indique un nom d'option court. Les abreviations des noms d'option sont permises tant qu'elles conservent leur unicite. Lorsqu'une option accepte un argument, la version longue de son nom (comme --file-prefix) sera connectee a cet argument par un << = >>. bison genere un analyseur syntaxique LR deterministe ou LR generalise (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 operatoires : -h, --help afficher l'aide-memoire et quitter -V, --version afficher les informations de version et quitter --print-localedir afficher le repertoire contenant des donnees dependant des parametres regionaux et quitter --print-datadir afficher le repertoire contenant des schemas et XSLT puis quitter -u, --update appliquer les corrections au fichier de syntaxe source et quitter -f, --feature[=FONCTIONNALITES] activer diverses fonctionnalites FONCTIONNALITES est une liste de mots separes 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 generer aucun fichier all toutes les fonctionnalites precedentes none desactiver toutes les fonctionnalites precedentes Diagnostics : -W, --warnings[=CATEGORIES] afficher les avertissements appartenant aux CATEGORIES specifiees --color[=QUAND] quand colorer les diagnostics --style=FICHIER specifier le fichier CSS pour colorer les diagnostics Les categories d'avertissements sont les suivantes : conflicts-sr conflits S/R (active par defaut) conflicts-rr conflits R/R (active par defaut) counterexamples, cex generer des contre-exemples de conflit dangling-alias alias de chaine non rattaches a un symbole deprecated constructions obsoletes empty-rule regles vides sans %empty midrule-values valeurs de regle intermediaire non definies ou non utilisees precedence priorite et associativite inutiles yacc incompatibilites avec yacc(1) POSIX other toutes les autres categories d'avertissements (active par defaut) all toutes les categories d'avertissements, sauf << counterexamples >>, << dangling-alias >> et << yacc >> no-CATEGORY desactiver les categories d'avertissements dans CATEGORIES none desactiver toutes les categories d'avertissements error[=CATEGORIES] 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 specifier le langage de programmation de la sortie -S, --skeleton=FICHIER specifier le schema a utiliser -t, --debug instrumenter l'analyseur syntaxique pour le tracage (identique a -Dparse.trace) --locations activer la prise en charge des emplacements -D, --define=NOM[=VALEUR] similaire a << %define NOM VALEUR >> -F, --force-define=NOM[=VALEUR] outrepasser << %define NOM VALEUR >> -p, --name-prefix=PREFIXE ajouter le PREFIXE specifie aux symboles externes (obsolete par rapport a -Dapi.prefix={PREFIX}) -l, --no-lines ne pas generer 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-tete -d identique, mais il est impossible de specifier un fichier (pour yacc(1) POSIX) -r, --report=CHOSES produire egalement des details sur l'automate --report-file=FICHIER ecrire le rapport dans FICHIER -v, --verbose identique a << --report=state >> -b, --file-prefix=PREFIXE specifier un PREFIXE pour les fichiers de sortie -o, --output=FICHIER delivrer la sortie dans FICHIER -g, --graph[=FICHIER] generer egalement un graphique de l'automate --html[=FICHIER] generer egalement un rapport en HTML de l'automate -x, --xml[=FICHIER] generer egalement un rapport en XML de l'automate -M, --file-prefix-map=ANCIEN=NOUVEAU remplacer le prefixe ANCIEN par NOUVEAU lors de l'ecriture des chemins de fichier dans les fichiers de sortie CHOSES est une liste de mots separes par des virgules parmi les suivants : states description des etats itemsets completer les ensembles d'articles de base avec leur fermeture lookaheads associer explicitement les symboles << lookahead >> a des articles solved decrire la resolution des conflits << shift/reduce >> counterexamples, cex generer des contre-exemples de conflit all inclure toutes les informations precedentes none desactiver la generation du rapport AUTEUR Ecrit par Robert Corbett et Richard Stallman. SIGNALER DES BOGUES Envoyez vos rapports de bogue a . Page d'accueil de GNU Bison : . Aide generale pour l'utilisation des logiciels GNU : . Pour une documentation complete, executez la commande info bison. COPYRIGHT Copyright (C) 2021 Free Software Foundation, Inc. C'est un logiciel libre ; consultez les sources pour les conditions de copie. Il n'y a AUCUNE garantie ; meme pas de VALEUR MARCHANDE ou d'ADEQUATION A UNE UTILISATION PARTICULIERE. VOIR AUSSI lex(1), flex(1), yacc(1). La documentation complete de bison est entretenue sous la forme d'un manuel Texinfo. Si les programmes info et bison sont correctement installes sur votre systeme, la commande info bison devrait vous donner acces au manuel complet. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . GNU Bison 3.8.2 Septembre 2021 BISON(1)