bionic (1) bison.1.gz

Provided by: manpages-it_3.73-2_all bug

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)