Provided by:
manpages-it_2.80-3_all 
NOME
bison - Generatore GNU di analizzatore sintattico (sostituto di yacc)
SINTASSI
bison [ -b file-prefix ] [ --file-prefix=file-prefix ] [ -d ] [
--defines=defines-file ] [ -g ] [ --graph=graph-file ] [ -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
yacc [ opzioni e operandi similari ]
DESCRIZIONE
Bison è un generatore di analizzatore sintattico nello stile di
yacc(1). Può essere retrocompatibile con file di input disegnati per
yacc.
I file di input possono seguire la convenzione di yacc di terminare con
.y. Diversamente da yacc, i file generati non hanno nomi fissi, ma
usano invece il prefisso del file di input. Inoltre, se c’è la
necessità di inserire codice C++ nel file di input, si può terminare il
nome con un’estensione in stile C++ (.ypp o .y++), e bison seguirà la
propria estensione per nominare il file di output (.cpp o .c++). Per
esempio, un file di descrizione grammaticale chiamato parse.yxx
produrrà l’analizzatore generato in un file chiamato parse.tab.cxx,
invece di quello usato da yacc y.tab.c o dalle vecchie versioni di
Bison parse.tab.c.
Questa descrizione delle opzioni che può essere data a bison è adattata
dal nodo Invocation nel manuale bison.texinfo, che può essere
considerato autorevole.
Bison supporta entrambe le opzioni tradizionali a singola lettera e
nomi mnemonici di opzioni lunghe. I nomi di opzioni lunghe sono
indicati con -- invece che -. Le abbreviazioni per nomi di opzioni
sono permesse a patto che siano uniche. Quando un’opzione lunga prende
un argomento, come --file-prefix, connettere il nome di opzione e
l’argomento con =.
OPZIONI
-b file-prefix
--file-prefix=file-prefix
Specifica un prefisso da usare per tutti i nomi dei file di
output di bison. I nomi sono scelti come se il file di input si
chiamasse file-prefix.c.
-d
Scrive un file di output extra contenente definizioni macro per
i nomi di tipo token definiti nel tipo di valore di grammatica e
semantica YYSTYPE, oltre ad alcune dichiarazioni di variabili
esterne.
Se il file di output dell’analizzatore è chiamato name.c allora
questo file è chiamato name.h.
Questo file di output è essenziale se si desidera mettere la
definizione di yylex in un file sorgente separato, poiché yylex
deve poter fare riferimento ai codici di tipo token e alla
variabile yylval.
--defines=defines-file
Il comportamento di --defines è lo stesso dell’opzione -d La
sola differenza è che ha un argomento opzionale che è il nome
del nome del file di output.
-g
Emette una definizione VCG dell’autome grammaticale LALR(1)
calcolata da Bison. Se il file grammaticale è foo.y , il file di
output VCG sarà foo.vcg.
--graph=graph-file
Il comportamento di --graph è lo stesso dell’opzione -g è il
nome del file di output graph.
-k
--token-table
Questa opzione fa sì che il nome.tab.c di output includa un
elenco dei nomi token ordinati secondo i loro numeri token;
questo è definito nell’array yytname. Sono generate anche
#definizioni per YYNTOKENS, YYNNTS, YYNRULES, e YYNSTATES.
-l
--no-lines
Non mette alcuna #linea dei comandi del preprocessore nel file
dell’analizzatore sintattico. Normalmente bison li mette nel
file dell’analizzatore in modo tale che il compilatore C e i
debugger associeranno gli errori al rpoprio file sorgente, il
file grammaticale. questa opzione fa sì che essi associno gli
errori con il file analizzatore, trattandolo come un file
sorgente indipendente in sè stesso.
-n
--no-parser
Non genera il codice analizzatore nell’output; genera solo
dichiarazioni. Il file generato con nome.tab.c avrà solo
dichiarazioni di costanti. In aggiunta è generato un file di
nome.act contenente una dichiarazione contenente tutte le azioni
tradotte.
-o outfile
--output-file=outfile
Specifica il nome outfile per il file analizzatore.
Gli altri nomi di file di output sono costruiti da outfile come
descritto nelle opzioni -v e -d
-p prefix
--name-prefix=prefix
Rinomina i somboli esterni usati nell’analizzatore in modo che
essi inizino con prefix invece che yy. L’elenco preciso dei
simboli rinominati è yyparse, yylex, yyerror, yylval, yychar, e
yydebug.
Per esempio, se si usa -p c, i nomi divengono cparse, clex, e
così via.
-t
--debug
Nel file analizzatore definisce la macro YYDEBUG a 1 se non è
già definita, in modo che vengano compilati i servizi di
debugging.
-v
--verbose
Scrive un file di output extra contenente descrizioni prolisse
degli stati dell’analizzatore e cosa è fatto per ciascun tipo di
token look-ahead in quello stato.
Questo file descrive anche tutti i conflitti, sia quelli risolti
dalla precedenza degli operatori sia quelli irrisolti.
Il nome dei file è fatto rimuovendo .tab.c o .c dal nome del
file di output dell’analizzatore, e aggiungendo invece .output
Tuttavia, se il file di input è foo.y, allora il file
analizzatore parser è chiamato foo.tab.c per default. Come
conseguenza, il file di output prolisso è chiamato foo.output.
-V
--version
Stampa il numero di versione di bison ed esce.
-h
--help Stampa un sommario delle opzioni di bison ed esce.
-y
--yacc
--fixed-output-files
Equivalente a -o y.tab.c; il file analizzatore di output è
chiamato y.tab.c, e gli altri output sono chiamati y.output e
y.tab.h. Lo scopo di questa opzione è di imitare le convenzioni
di yacc sul nome dei file di output. Pertanto il seguente
script di shell può essere un sostituto di yacc ed è spesso
installato come yacc:
bison -y "$@"
VEDERE ANCHE
yacc(1)
Il Bison Reference Manual, incluso come file bison.texinfo nella
distribuzione sorgente di bison
DIAGNOSTICA
Autoesplicativa.
local BISON(1)