File: bison.1

package info (click to toggle)
man-pages-it 2.80-3
  • links: PTS
  • area: main
  • in suites: lenny, squeeze, wheezy
  • size: 1,660 kB
  • ctags: 13
  • sloc: makefile: 109
file content (364 lines) | stat: -rwxr-xr-x 7,255 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
.\" Traduzione da bison 2.0 di Giulio Daprel� <giulio@pluto.it>
.\" gennaio 2006
.TH BISON 1 local
.SH NOME
bison \- Generatore GNU di analizzatore sintattico (sostituto di yacc)
.SH SINTASSI
.B bison
[
.BI \-b  " file-prefix"
] [
.BI \-\-file-prefix= file-prefix
] [
.B \-d
] [
.BI \-\-defines= defines-file
] [
.B \-g
] [
.BI \-\-graph= graph-file
] [
.B \-k
] [
.B \-\-token-table
] [
.B \-l
] [
.B \-\-no-lines
] [
.B \-n
] [
.B \-\-no-parser
] [
.BI \-o " outfile"
] [
.BI \-\-output-file= outfile
] [
.BI \-p " prefix"
] [
.BI \-\-name-prefix= prefix
] [
.B \-t
] [
.B \-\-debug
] [
.B \-v
] [
.B \-\-verbose
] [
.B \-V
] [
.B \-\-version
] [
.B \-y
] [
.B \-\-yacc
] [
.B \-h
] [
.B \-\-help
] [
.B \-\-fixed-output-files
]
file
.br
.B yacc
[
.I "opzioni e operandi similari"
]
.SH DESCRIZIONE
.I Bison
� un generatore di analizzatore sintattico nello stile di
.IR yacc (1).
Pu� essere retrocompatibile con file di input disegnati
per
.IR yacc .
.PP
I file di input possono seguire la convenzione di
.I yacc
di terminare con
.BR .y .
Diversamente da
.IR 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
.I 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
.B parse.yxx
produrr� l'analizzatore generato in un file chiamato
.BR parse.tab.cxx ,
invece di quello usato da
.IR yacc
.B y.tab.c
o dalle vecchie versioni di
.I Bison
.BR parse.tab.c .
.PP
Questa descrizione delle opzioni che pu� essere data a
.I bison
� adattata dal nodo
.B Invocation
nel manuale
.B bison.texinfo,
che pu� essere considerato autorevole.
.PP
.I Bison
supporta entrambe le opzioni tradizionali a singola lettera e nomi
mnemonici di opzioni lunghe. I nomi di opzioni lunghe sono indicati con
.B \-\-
invece che
.BR \- .
Le abbreviazioni per nomi di opzioni sono permesse a patto che siano
uniche. Quando un'opzione lunga prende un argomento, come
.BR \-\-file-prefix ,
connettere il nome di opzione e l'argomento con
.BR = .
.SS OPZIONI
.TP
.BI \-b " file-prefix"
.br
.ns
.TP
.BI \-\-file-prefix= file-prefix
Specifica un prefisso da usare per tutti i nomi dei file di output di
.I bison.
I nomi sono scelti come se il file di input si chiamasse
\fIfile-prefix\fP\fB.c\fP.
.TP
.B \-d
.br
.ns
Scrive un file di output extra contenente definizioni macro per i nomi
di tipo token definiti nel tipo di valore di grammatica e semantica
.BR YYSTYPE ,
oltre ad alcune dichiarazioni di variabili
.B esterne.
.sp
Se il file di output dell'analizzatore � chiamato
.IB name .c
allora questo file � chiamato
\fIname\fP\fB.h\fP.
.sp
Questo file di output � essenziale se si desidera mettere la definizione di
.B yylex
in un file sorgente separato, poich�
.B yylex
deve poter fare riferimento ai codici di tipo token e alla variabile
.BR yylval .
.TP
.BI \-\-defines= defines-file
Il comportamento di
.B \-\-defines
� lo stesso dell'opzione
.B \-d
La sola differenza � che ha un argomento opzionale che � il
nome del nome del file di output.
.TP
.BI \-g
.br
.ns
Emette una definizione VCG dell'autome grammaticale LALR(1) calcolata da
Bison. Se il file grammaticale �
.BR foo.y
, il file di output VCG sar�
.BR foo.vcg .
.TP
.BI \-\-graph= graph-file
Il comportamento di
.BI \-\-graph
� lo stesso dell'opzione
.BI \-g
. La sola differenza � che ha un argomento opzionale che
� il nome del file di output graph.
.TP
.B \-k
.br
.ns
.TP
.B \-\-token-table
Questa opzione fa s� che il
.IB nome .tab.c
di output includa un elenco dei nomi
token ordinati secondo i loro numeri token; questo � definito nell'array
.IR yytname .
Sono generate anche
#definizioni per
.IR YYNTOKENS ,
.IR YYNNTS ,
.IR YYNRULES ,
e
.IR YYNSTATES .
.TP
.B \-l
.br
.ns
.TP
.B \-\-no-lines
Non mette alcuna
.B #linea
dei comandi del preprocessore nel file dell'analizzatore sintattico.
Normalmente
.I 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.
.TP
.B \-n
.br
.ns
.TP
.B \-\-no-parser
Non genera il codice analizzatore nell'output; genera solo
dichiarazioni. Il file generato con
.IB nome .tab.c
avr� solo dichiarazioni di costanti. In aggiunta � generato un file di
.IB nome .act
contenente una dichiarazione contenente tutte le
azioni tradotte.
.TP
.BI \-o " outfile"
.br
.ns
.TP
.BI \-\-output-file= outfile
Specifica il nome
.I outfile
per il file analizzatore.
.sp
Gli altri nomi di file di output sono costruiti da
.I outfile
come descritto nelle opzioni
.B \-v
e
.B \-d
.
.TP
.BI \-p " prefix"
.br
.ns
.TP
.BI \-\-name-prefix= prefix
Rinomina i somboli esterni usati nell'analizzatore in modo che essi inizino con
.I prefix
invece che
.BR yy .
L'elenco preciso dei simboli rinominati �
.BR yyparse ,
.BR yylex ,
.BR yyerror ,
.BR yylval ,
.BR yychar ,
e
.BR yydebug .
.sp
Per esempio, se si usa
.BR "\-p c" ,
i nomi divengono
.BR cparse ,
.BR clex ,
e cos� via.
.TP
.B \-t
.br
.ns
.TP
.B \-\-debug
Nel file analizzatore definisce la macro
.B YYDEBUG
a 1 se non � gi� definita,
in modo che vengano compilati i servizi di debugging.
.TP
.B \-v
.br
.ns
.TP
.B \-\-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.
.sp
Questo file descrive anche tutti i conflitti, sia quelli risolti dalla
precedenza degli operatori sia quelli irrisolti.
.sp
Il nome dei file � fatto rimuovendo
.B .tab.c
o
.B .c
dal nome del file di output dell'analizzatore, e aggiungendo invece
.B .output
.
.sp
Tuttavia, se il file di input �
.BR foo.y ,
allora il file analizzatore parser � chiamato
.B foo.tab.c
per default. Come conseguenza, il file di output
prolisso � chiamato
.BR foo.output .
.TP
.B \-V
.br
.ns
.TP
.B \-\-version
Stampa il numero di versione di
.I bison
ed esce.
.TP
.B \-h
.br
.ns
.TP
.B \-\-help
Stampa un sommario delle opzioni di
.I bison
ed esce.
.TP
.B \-y
.br
.ns
.TP
.B \-\-yacc
.br
.ns
.TP
.B \-\-fixed-output-files
Equivalente a
.BR "\-o y.tab.c" ;
il file analizzatore di output � chiamato
.BR y.tab.c ,
e gli altri output sono chiamati
.B y.output
e
.BR y.tab.h .
Lo scopo di questa opzione � di imitare le convenzioni di
.IR yacc
sul nome dei file di output.
Pertanto il seguente script di shell pu� essere un sostituto di
.I yacc
ed � spesso installato come
.IR yacc :
.sp
.RS
.ft B
bison \-y "$@"
.ft R
.sp
.RE
.SH VEDERE ANCHE
.IR yacc (1)
.br
Il
.IR "Bison Reference Manual" ,
incluso come file
.B bison.texinfo
nella distribuzione sorgente di
.I bison
.
.SH DIAGNOSTICA
Autoesplicativa.