1 .\" {PTM/LK/0.1/29-09-1998/"generator parserów"}
2 .\" T³umaczenie: 29-09-1998 £ukasz Kowalczyk (lukow@tempac.okwf.fuw.edu.pl)
5 bison \- generator parserów w wersji GNU (zastêpuje program yacc)
9 .BI \-b " przedrostek-nazwy-pliku"
11 .BI \-\-file-prefix= przedrostek-nazwy-pliku
29 .BI \-o " plik-wyj¶ciowy"
31 .BI \-\-output-file= plik-wuj¶ciowy
33 .BI \-p " przedrostek"
35 .BI \-\-name-prefix= przedrostek
61 .B \-\-fixed-output-files
66 jest generatorem parserów w stylu programu
68 i powinien byæ zgodny z plikami wej¶ciowymi stworzonym dla tego programu.
70 Pliki wej¶ciowe powinny mieæ rozszerzenie
72 zgodnie z konwencj± programu
74 W przeciwieñstwie do plików tworzonych przez program
76 pliki wuj¶ciwe nie maj± sta³ego przedrostka nazw, lecz u¿ywaj± przedrostka
77 nazwy pliku wej¶ciowego. Na przyk³ad, plik z opisem gramatyki o nazwie
79 pos³u¿y do stworzenia parsera w pliku o nazwie
86 Ten opis opcji rozpoznawanych przez program
88 zosta³ zaadaptowany z rozdzia³u
92 który powinien byæ traktowany jako autorytatywne ¼ród³o informacji.
95 rozpoznaje zarówno tradycyjne, jednoliterowe opcje, jak i ³atwe do
96 zapamiêtania, d³ugie nazwy opcji.
97 D³ugie nazwy opcji rozpoczynaj± siê od
101 Mog± byæ one skracane do takiej d³ugo¶ci, aby nadal by³y
102 unikalne. Je¿eli po d³ugiej opcji musi nastepowaæ jej parametr, musi on byæ
103 po³±czony z nazw± opcji znakiem
107 .BI \-b " przedrostek-pliku"
111 .BI \-\-file-prefix= "przedrostek pliku"
112 Okre¶la przedrostek nazwy pliku stosowany do wszystkich plików wyj¶ciowych.
113 Nazwy s± tworzone zgodnie z nastêpuj±cym wzorem:
114 \fIfile-prefix\fB.c\fR.
121 Utwórz dodatkowy plik z definicjami makrointrukcji dla nazw symboli
122 terminalnych zdefiniowanych w pliku gramatyki oraz z definicj± typu warto¶ci
125 jak równie¿ z deklaracjami zmiennych zewnêtrznych.
127 Je¿eli plik z parserem nosi nazwê \fInazwa\fB.c\fR, to plik z definicjami
128 zostanie nazwany \fInazwa\fB.h\fR.
130 Ten plik jest niezbêdny, je¿eli chcesz umie¶ciæ definicjê funkcji
132 w oddzielnym pliku ¼ród³owym, poniewa¿ funkcja
134 musi mieæ dostêp do kodów symboli terminalnych oraz do zmiennej
142 Numery symboli terminalnych znajduj±ce siê w pliku \fInazwa\fB.h\fR s±
143 zazwyczaj kompatybilne z programem Yacc. Je¿eli podana zostanie ta opcja,
144 u¿yta zostanie numeracja charakterystyczna dla programu Bison. (numeracja
145 programu Yacc rozpoczyna siê od 257, z wyj±tkiem symboli jednoznakowych;
146 Bison numeruje wszystkie symbole po kolei poczynaj±c od liczby 3).
153 Ta opcja powoduje, ¿e w pliku \fIname\fB.tab.c\fR znajdzie siê lista symboli
154 terminalnych posortowana pod wzglêdem warto¶ci symboli (nie nazw); jest to
155 zdefiniowane w tablicy
157 W pliku znajd± siê równie¿ definicje sta³ych
169 Nie umieszczaj w pliku z parserem poleceñ
171 dla preprocesora. Normalnie
173 umieszcza je w tym pliku, aby kompilator oraz debuggery wykazywa³y b³êdy w
174 kontek¶cie twojego pliku ¼ród³owego z gramatyk±. Ta opcja powoduje, ¿e b³êdy
175 bêd± wykazywane w kontek¶cie pliku zawieraj±cego parser, traktuj±c go jak
176 niezale¿ny plik na równych prawach.
183 Nie generuj kodu parsera; generuj tylko deklaracje. Utworzony plik
184 \fIname\fB.tab.c\fR bêdzie zawiera³ wy³±cznie deklaracje sta³ych. Dodatkowo,
185 w pliku \fIname\fB.act\fR znajdzie siê wyra¿enie switch zawieraj±ce
186 wszystkie przet³umaczone definicje akcji.
188 .BI \-o " plik-wyj¶ciowy"
192 .BI \-\-output-file= plik-wyj¶ciowy
194 .I "pliku wyj¶ciowego"
195 zawieraj±cego definicjê parsera.
197 Nazwy pozosta³ych plików s± tworzone z nazwy
198 .I "pliku wej¶ciowego"
199 zgodnie z zasadami opisanymi przy opcjach
205 .BI \-p " przedrostek"
209 .BI \-\-name-prefix= przedrostek
210 Przedrostek nazw zewnêtrznych symboli u¿ywanych przez parser. Zastêpuje
211 standardowy przedrostek
213 Symbole, których nazwy ulegn± zmianie, to
222 Na przyk³ad, je¿eli u¿yjesz opcji
224 wówczas powy¿sze nazwy bêd± mia³y postaæ
234 Umie¶æ w pliku z parserem makrodefinicjê
236 aby skompilowany zosta³ kod pomagaj±cy diagnozowaæ problemy (debug code).
243 Utwórz dodatkowy plik z dok³adnym opisami stanów parsera i akcji
244 podejmowanych dla ka¿dego kolejnego symbolu w tych stanach.
246 Ten plik opisuje równie¿ wszystkie konflikty; zarówno te rozwik³ane przez
247 nastêpstwo operatorów, jak i te nierozwik³ane.
249 Nazwa pliku z opisem jest tworzona przez usuniêcie
253 z nazwy pliku zawieraj±cego parser i dodanie
256 Na przyk³ad, je¿eli plikiem wej¶ciowym jest
258 wówczas plik zawierj±cy parser nosi nazwê
260 Plik z opisem stanów bêdzie nazwany
268 Wypisz numer wersji i zakoñcz dzia³anie programu
275 Wypisz spis opcji i zakoñcz dzia³anie programu.
285 .B \-\-fixed-output-files
286 Ma to samo dzia³anie, co opcja
288 Plik zawieraj±cy parser nosi nazwê
294 Ta opcja powoduje na¶ladowanie konwencji programu
297 Poni¿szy skrypt mo¿e byc u¿ywany jako program
307 D³ugie nazwy opcji mog± byæ równie¿ poprzedzane przez
308 `+' zamiast `\-\-', ze wzglêdu na kompatybilno¶æ z poprzednimi wersjami.
309 W przysz³o¶ci ta mo¿liwo¶æ ma byæ usuniêta, poniewa¿ jest niekompatybilna ze
312 /usr/share/bison/bison.simple prosty parser
314 /usr/share/bison/bison.hairy skomplikowany parser
319 .IR "Bison Reference Manual" ,
322 w dystrybucji ¼ród³owej programu
325 Wszystkiego mo¿na siê ³atwo domy¶liæ.