Content-type: text/html Manpage of BISON

BISON

Section: User Commands (1)
Updated: local
Index Return to Main Contents
 

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 ] file  

DESCRIPTION

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 $*

 

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

NOM
SYNOPSIS
DESCRIPTION
OPTIONS
FICHIERS
VARIABLES D'ENVIRONNEMENT
VOIR AUSSI
DIAGNOSTICS

This document was created by man2html, using the manual pages.
Time: 20:41:52 GMT, July 10, 2005