Les MANs Linux en français...
BISON
Section: User Commands (1)Updated: local
Index Retour au Menu Principal
NOM
bison - le générateur d'analyseur syntaxique du Projet GNU (substitut de yacc)SYNOPSIS
bison [ -b file-prefix ] [ --file-prefix=file-prefix ] [ -d ] [ --defines ] [ -g ] [ --graph ] [ -k ] [ --token-table ] [ -l ] [ --no-lines ] [ -n ] [ --no-parser ] [ -o outfile ] [ --output-file=outfile ] [ -p prefix ] [ --name-prefix=prefix ] [ -t ] [ --debug ] [ -v ] [ --verbose ] [ -V ] [ --version ] [ -y ] [ --yacc ] [ -h ] [ --help ] [ --fixed-output-files ] fileDESCRIPTION
Bison est un générateur d'analyseur syntaxique dans le style de yacc(1). Il se veut offrir une compatibilité ascendante avec les fichiers d'entrée écrits pour yacc.
Les fichiers d'entrée devront suivre la convention
yacc
des noms se terminant en
.y.
À l'inverse de
yacc,
les fichiers générés n'ont pas un nom prédestiné, mais utilisent le préfixe du
fichier d'entrée.
En outre, si vous avez besoin d'écrire du code
C++
dans votre fichier, vous pouvez terminer son nom par une extension à la C++
(.ypp ou .y++), et bison respectera votre extension pour nommer le fichier de sortie
(.cpp or .c++).
Par exemple, un fichier de description de grammaire nommé
parse.yxx
produira un analyseur dans un fichier nommé
parse.tab.cxx
, au lieu du
y.tab.c
de
yacc
ou du
parse.tab.c
des anciennes versions de
Bison.
La présente description des options de la commande bison est adaptée du noeud Invocation du manuel bison.texinfo, qui doit être considéré comme faisant autorité.
Bison supporte à la fois les options traditionelles à une lettre et les options à noms longs mnémoniques. Les noms longs sont indiqués par -- au lieu de -. Les noms abrégés sont permis pourvu qu'ils soient uniques. Lorsqu'une option longue prend un argument, comme --file-prefix, connectez le nom de l'option et l'argument avec =.
OPTIONS
- -b file-prefix
-
- --file-prefix=file-prefix
- Spécifie un préfixe à utiliser pour le nom de tous les fichiers bison générés. Les noms sont choisis comme si le fichier d'entrée était nommé file-prefix.c.
- -d
-
- --defines
-
Génère un fichier de sortie supplémentaire contenant des définitions de
macros pour les types de tokens de la grammaire, le type « valeur
sémantique »
YYSTYPE,
ainsi que quelques déclarations de variables
extern.
Si l'analyseur généré est nommé name.c , le fichier supplémentaire sera nommé name.h.
Ce fichier est essentiel si vous souhaitez définir yylex dans un fichier source séparé, car yylex doit pouvoir accéder aux codes des types de tokens et à la variable yylval.
- -g
-
- --graph
- Génère une définition VCG de l'automate de grammaire LALR(1) calculé par Bison. Si le fichier de grammaire est nommé foo.y , le fichie VCG en sortie sera nommé foo.vcg.
- -k
-
- --token-table
- Cette option force le fichier de sortie name.tab.c à inclure la liste des noms de tokens triée par numéro de token ; elle est définie dans le tableau yytname. Seront également générés des #defines pour YYNTOKENS, YYNNTS, YYNRULES, et YYNSTATES.
- -l
-
- --no-lines
- Interdit l'insertion de commandes préprocesseur #line dans le fichier analyseur. Habituellement, bison insère ces commandes de sorte que le compilateur C et les débogueurs associent d'éventuelles erreurs à votre fichier source, c'est-à-dire à la grammaire. Cette option les associera au fichier analyseur, le traitant comme un fichier source indépendant de plein droit.
- -n
-
- --no-parser
- Empêche la génération du code de l'analyseur vers le fichier de sortie ; ne génère que les déclarations. Le fichier name.tab.c généré ne comportera que des déclarations de constantes. De plus, un fichier name.act est produit qui contient un corps d'instruction switch avec toutes les actions traduites.
- -o outfile
-
- --output-file=outfile
-
Spécifie le nom
outfile
du fichier analyseur.
Le nom des autres fichiers en sortie est construit sur outfile comme décrit pour les options -v et -d .
- -p prefix
-
- --name-prefix=prefix
-
Renomme les symboles externes utilisés par l'analyseur de sorte qu'ils
commencent par
prefix
au lieu de
yy.
La liste exacte des symboles renommés est
yyparse,
yylex,
yyerror,
yylval,
yychar,
et
yydebug.
Par exemple, si vous utilisez -p c, les noms deviennent cparse, clex, et ainsi de suite.
- -t
-
- --debug
- Insère la définition de la macro YYDEBUG dans le fichier analyseur, de sorte que les facilités de débogage sont compilées.
- -v
-
- --verbose
-
Génère un fichier supplémentaire en sortie, qui contient la description
détaillée des états de l'analyseur et des actions entreprises pour chaque
token en prélecture dans cet état.
Ce fichier décrit également tous les conflits, à la fois ceux résolus par priorité d'opérateur et ceux non résolus.
Son nom est construit en enlevant .tab.c ou .c du nom du fichier analyseur, et en ajoutant .output à la place.
Ainsi si le fichier en entrée est foo.y, le fichier analyseur est appelé foo.tab.c par défaut. En conséquence, le fichier verbose est appelé foo.output.
- -V
-
- --version
- Affiche le numéro de version de bison et termine.
- -h
-
- --help
- Affiche un résumé des options de bison et termine.
- -y
-
- --yacc
-
- --fixed-output-files
-
Équivalent à
-o y.tab.c;
le fichier analyseur est appelé
y.tab.c,
et les autres sorties
y.output
et
y.tab.h.
Cette option a pour but d'émuler la convention de nommage de
yacc.
Ainsi le script shell suivant peut se substituer à
yacc :
-
bison -y $*
-
bison -y $*
FICHIERS
/usr/local/share/bison/bison.simple un analyseur simple/usr/local/share/bison/bison.hairy un analyseur plus complexe
VARIABLES D'ENVIRONNEMENT
- BISON_SIMPLE
- Si cette variable est définie, elle spécifie l'endroit où se trouve l'analyseur bison.simple
- BISON_HAIRY
- Si cette variable est définie, elle spécifie l'endroit où se trouve l'analyseur bison.hairy
VOIR AUSSI
yacc(1)Le Bison Reference Manual, inclus en tant que bison.texinfo dans la distribution source de bison
DIAGNOSTICS
(trivial)
Index
Time: 18:51:03 GMT, December 19, 2004