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
|
.\" {PTM/LK/0.1/29-09-1998/"generator parserw"}
.\" Tumaczenie: 29-09-1998 ukasz Kowalczyk (lukow@tempac.okwf.fuw.edu.pl)
.\" $Id: bison.1,v 1.2 2002/08/16 10:47:44 robert Exp $
.TH bison 1 local
.SH NAZWA
bison \- generator parserw w wersji GNU (zastpuje program yacc)
.SH SKADNIA
.B bison
[
.BI \-b " przedrostek-nazwy-pliku"
] [
.BI \-\-file-prefix= przedrostek-nazwy-pliku
] [
.B \-d
] [
.B \-\-defines
] [
.B \-k
] [
.B \-\-token-table
] [
.B \-l
] [
.B \-\-no-lines
] [
.B \-n
] [
.B \-\-no-parser
] [
.BI \-o " plik-wyjciowy"
] [
.BI \-\-output-file= plik-wyjciowy
] [
.BI \-p " przedrostek"
] [
.BI \-\-name-prefix= przedrostek
] [
.B \-r
] [
.B \-\-raw
] [
.B \-t
] [
.B \-\-debug
] [
.B \-v
] [
.B \-\-verbose
] [
.B \-V
] [
.B \-\-version
] [
.B \-y
] [
.B \-\-yacc
] [
.B \-h
] [
.B \-\-help
] [
.B \-\-fixed-output-files
]
plik
.SH OPIS
.I bison
jest generatorem parserw w stylu programu
.IR yacc (1)
i powinien by zgodny z plikami wejciowymi stworzonym dla tego programu.
.PP
Pliki wejciowe powinny mie rozszerzenie
.B .y
zgodnie z konwencj programu
.IR yacc .
W przeciwiestwie do plikw tworzonych przez program
.IR yacc ,
pliki wyjciowe nie maj staego przedrostka nazw, lecz uywaj przedrostka
nazwy pliku wejciowego. Na przykad, plik z opisem gramatyki o nazwie
.B parse.y
posuy do stworzenia parsera w pliku o nazwie
.BR parse.tab.c ,
zamiast
.BR y.tab.c ,
jak w programie
.IR yacc .
.PP
Ten opis opcji rozpoznawanych przez program
.I bison
zosta zaadaptowany z rozdziau
.B Invocation
pochodzcego z opisu
.BR bison.texinfo ,
ktry powinien by traktowany jako autorytatywne rdo informacji.
.PP
.I bison
rozpoznaje zarwno tradycyjne, jednoliterowe opcje, jak i atwe do
zapamitania, dugie nazwy opcji.
Dugie nazwy opcji rozpoczynaj si od
.BR \-\- ,
zamiast
.BR \- .
Mog by one skracane do takiej dugoci, aby nadal byy
unikalne. Jeeli po dugiej opcji musi nastepowa jej parametr, musi on by
poczony z nazw opcji znakiem
.BR = .
.SS OPCJE
.TP
.BI \-b " przedrostek-pliku"
.br
.ns
.TP
.BI \-\-file-prefix= "przedrostek pliku"
Okrela przedrostek nazwy pliku stosowany do wszystkich plikw wyjciowych.
Nazwy s tworzone zgodnie z nastpujcym wzorem:
\fIfile-prefix\fB.c\fR.
.TP
.B \-d
.br
.ns
.TP
.B \-\-defines
Utwrz dodatkowy plik z definicjami makroinstrukcji dla nazw symboli
terminalnych zdefiniowanych w pliku gramatyki oraz z definicj typu wartoci
semantycznej
.BR YYSTYPE ,
jak rwnie z deklaracjami zmiennych zewntrznych.
.sp
Jeeli plik z parserem nosi nazw \fInazwa\fB.c\fR, to plik z definicjami
zostanie nazwany \fInazwa\fB.h\fR.
.sp
Ten plik jest niezbdny, jeeli chcesz umieci definicj funkcji
.B yylex
w oddzielnym pliku rdowym, poniewa funkcja
.B yylex
musi mie dostp do kodw symboli terminalnych oraz do zmiennej
.BR yylval .
.TP
.B \-r
.br
.ns
.TP
.B \-\-raw
Numery symboli terminalnych znajdujce si w pliku \fInazwa\fB.h\fR s
zazwyczaj kompatybilne z programem Yacc. Jeeli podana zostanie ta opcja,
uyta zostanie numeracja charakterystyczna dla programu Bison. (numeracja
programu Yacc rozpoczyna si od 257, z wyjtkiem symboli jednoznakowych;
Bison numeruje wszystkie symbole po kolei poczynajc od liczby 3).
.TP
.B \-k
.br
.ns
.TP
.B \-\-token-table
Ta opcja powoduje, e w pliku \fIname\fB.tab.c\fR znajdzie si lista symboli
terminalnych posortowana pod wzgldem wartoci symboli (nie nazw); jest to
zdefiniowane w tablicy
.IR yytname .
W pliku znajd si rwnie definicje staych
.IR YYNTOKENS ,
.IR YYNNTS ,
.IR YYNRULES ,
i
.IR YYNSTATES .
.TP
.B \-l
.br
.ns
.TP
.B \-\-no-lines
Nie umieszczaj w pliku z parserem polece
.B #line
dla preprocesora. Normalnie
.I bison
umieszcza je w tym pliku, aby kompilator oraz debuggery wykazyway bdy w
kontekcie twojego pliku rdowego z gramatyk. Ta opcja powoduje, e bdy
bd wykazywane w kontekcie pliku zawierajcego parser, traktujc go jak
niezaleny plik na rwnych prawach.
.TP
.B \-n
.br
.ns
.TP
.B \-\-no-parser
Nie generuj kodu parsera; generuj tylko deklaracje. Utworzony plik
\fIname\fB.tab.c\fR bdzie zawiera wycznie deklaracje staych. Dodatkowo,
w pliku \fIname\fB.act\fR znajdzie si wyraenie switch zawierajce
wszystkie przetumaczone definicje akcji.
.TP
.BI \-o " plik-wyjciowy"
.br
.ns
.TP
.BI \-\-output-file= plik-wyjciowy
Okrel nazw
.I "pliku wyjciowego"
zawierajcego definicj parsera.
.sp
Nazwy pozostaych plikw s tworzone z nazwy
.I "pliku wejciowego"
zgodnie z zasadami opisanymi przy opcjach
.B \-v
i
.BR \-d .
.TP
.BI \-p " przedrostek"
.br
.ns
.TP
.BI \-\-name-prefix= przedrostek
Przedrostek nazw zewntrznych symboli uywanych przez parser. Zastpuje
standardowy przedrostek
.BR yy .
Symbole, ktrych nazwy ulegn zmianie, to
.BR yyparse ,
.BR yylex ,
.BR yyerror ,
.BR yylval ,
.BR yychar ,
i
.BR yydebug .
.sp
Na przykad, jeeli uyjesz opcji
.BR "\-p c" ,
wwczas powysze nazwy bd miay posta
.BR cparse ,
.BR clex ,
itd.
.TP
.B \-t
.br
.ns
.TP
.B \-\-debug
Umie w pliku z parserem makrodefinicj
.B YYDEBUG
aby skompilowany zosta kod pomagajcy diagnozowa problemy (debug code).
.TP
.B \-v
.br
.ns
.TP
.B \-\-verbose
Utwrz dodatkowy plik z dokadnym opisami stanw parsera i akcji
podejmowanych dla kadego kolejnego symbolu w tych stanach.
.sp
Ten plik opisuje rwnie wszystkie konflikty; zarwno te rozwikane przez
nastpstwo operatorw, jak i te nierozwikane.
.sp
Nazwa pliku z opisem jest tworzona przez usunicie
.B .tab.c
lub
.B .c
z nazwy pliku zawierajcego parser i dodanie
.BR .output .
.sp
Na przykad, jeeli plikiem wejciowym jest
.BR foo.y ,
wwczas plik zawierajcy parser nosi nazw
.BR foo.tab.c .
Plik z opisem stanw bdzie nazwany
.BR foo.output .
.TP
.B \-V
.br
.ns
.TP
.B \-\-version
Wypisz numer wersji i zakocz dziaanie programu
.TP
.B \-h
.br
.ns
.TP
.B \-\-help
Wypisz spis opcji i zakocz dziaanie programu.
.TP
.B \-y
.br
.ns
.TP
.B \-\-yacc
.br
.ns
.TP
.B \-\-fixed-output-files
Ma to samo dziaanie, co opcja
.BR "\-o y.tab.c" ;
Plik zawierajcy parser nosi nazw
.BR y.tab.c ,
a pozostae pliki
.B y.output
i
.BR y.tab.h .
Ta opcja powoduje naladowanie konwencji programu
.I yacc
nazywania plikw.
Poniszy skrypt moe by uywany jako program
.IR yacc :
.sp
.RS
.ft B
bison \-y $*
.ft R
.sp
.RE
.PP
Dugie nazwy opcji mog by rwnie poprzedzane przez
`+' zamiast `\-\-', ze wzgldu na kompatybilno z poprzednimi wersjami.
W przyszoci ta moliwo ma by usunita, poniewa jest niekompatybilna ze
standardem POSIX.2
.SH PLIKI
/usr/local/lib/bison.simple prosty parser
.br
/usr/local/lib/bison.hairy skomplikowany parser
.SH ZOBACZ TAKE
.IR yacc (1)
.br
Opis
.IR "Bison Reference Manual" ,
zawarty w pliku
.B bison.texinfo
w dystrybucji rdowej programu
.I bison
.SH DIAGNOSTYKA
Wszystkiego mona si atwo domyli.
|