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)
6 bison \- generator parserów w wersji GNU (zastêpuje program yacc)
10 .BI \-b " przedrostek-nazwy-pliku"
12 .BI \-\-file-prefix= przedrostek-nazwy-pliku
30 .BI \-o " plik-wyj¶ciowy"
32 .BI \-\-output-file= plik-wyj¶ciowy
34 .BI \-p " przedrostek"
36 .BI \-\-name-prefix= przedrostek
62 .B \-\-fixed-output-files
67 jest generatorem parserów w stylu programu
69 i powinien byæ zgodny z plikami wej¶ciowymi stworzonym dla tego programu.
71 Pliki wej¶ciowe powinny mieæ rozszerzenie
73 zgodnie z konwencj± programu
75 W przeciwieñstwie do plików tworzonych przez program
77 pliki wyj¶ciowe nie maj± sta³ego przedrostka nazw, lecz u¿ywaj± przedrostka
78 nazwy pliku wej¶ciowego. Na przyk³ad, plik z opisem gramatyki o nazwie
80 pos³u¿y do stworzenia parsera w pliku o nazwie
87 Ten opis opcji rozpoznawanych przez program
89 zosta³ zaadaptowany z rozdzia³u
93 który powinien byæ traktowany jako autorytatywne ¼ród³o informacji.
96 rozpoznaje zarówno tradycyjne, jednoliterowe opcje, jak i ³atwe do
97 zapamiêtania, d³ugie nazwy opcji.
98 D³ugie nazwy opcji rozpoczynaj± siê od
102 Mog± byæ one skracane do takiej d³ugo¶ci, aby nadal by³y
103 unikalne. Je¿eli po d³ugiej opcji musi nastepowaæ jej parametr, musi on byæ
104 po³±czony z nazw± opcji znakiem
108 .BI \-b " przedrostek-pliku"
112 .BI \-\-file-prefix= "przedrostek pliku"
113 Okre¶la przedrostek nazwy pliku stosowany do wszystkich plików wyj¶ciowych.
114 Nazwy s± tworzone zgodnie z nastêpuj±cym wzorem:
115 \fIfile-prefix\fB.c\fR.
122 Utwórz dodatkowy plik z definicjami makroinstrukcji dla nazw symboli
123 terminalnych zdefiniowanych w pliku gramatyki oraz z definicj± typu warto¶ci
126 jak równie¿ z deklaracjami zmiennych zewnêtrznych.
128 Je¿eli plik z parserem nosi nazwê \fInazwa\fB.c\fR, to plik z definicjami
129 zostanie nazwany \fInazwa\fB.h\fR.
131 Ten plik jest niezbêdny, je¿eli chcesz umie¶ciæ definicjê funkcji
133 w oddzielnym pliku ¼ród³owym, poniewa¿ funkcja
135 musi mieæ dostêp do kodów symboli terminalnych oraz do zmiennej
143 Numery symboli terminalnych znajduj±ce siê w pliku \fInazwa\fB.h\fR s±
144 zazwyczaj kompatybilne z programem Yacc. Je¿eli podana zostanie ta opcja,
145 u¿yta zostanie numeracja charakterystyczna dla programu Bison. (numeracja
146 programu Yacc rozpoczyna siê od 257, z wyj±tkiem symboli jednoznakowych;
147 Bison numeruje wszystkie symbole po kolei poczynaj±c od liczby 3).
154 Ta opcja powoduje, ¿e w pliku \fIname\fB.tab.c\fR znajdzie siê lista symboli
155 terminalnych posortowana pod wzglêdem warto¶ci symboli (nie nazw); jest to
156 zdefiniowane w tablicy
158 W pliku znajd± siê równie¿ definicje sta³ych
170 Nie umieszczaj w pliku z parserem poleceñ
172 dla preprocesora. Normalnie
174 umieszcza je w tym pliku, aby kompilator oraz debuggery wykazywa³y b³êdy w
175 kontek¶cie twojego pliku ¼ród³owego z gramatyk±. Ta opcja powoduje, ¿e b³êdy
176 bêd± wykazywane w kontek¶cie pliku zawieraj±cego parser, traktuj±c go jak
177 niezale¿ny plik na równych prawach.
184 Nie generuj kodu parsera; generuj tylko deklaracje. Utworzony plik
185 \fIname\fB.tab.c\fR bêdzie zawiera³ wy³±cznie deklaracje sta³ych. Dodatkowo,
186 w pliku \fIname\fB.act\fR znajdzie siê wyra¿enie switch zawieraj±ce
187 wszystkie przet³umaczone definicje akcji.
189 .BI \-o " plik-wyj¶ciowy"
193 .BI \-\-output-file= plik-wyj¶ciowy
195 .I "pliku wyj¶ciowego"
196 zawieraj±cego definicjê parsera.
198 Nazwy pozosta³ych plików s± tworzone z nazwy
199 .I "pliku wej¶ciowego"
200 zgodnie z zasadami opisanymi przy opcjach
206 .BI \-p " przedrostek"
210 .BI \-\-name-prefix= przedrostek
211 Przedrostek nazw zewnêtrznych symboli u¿ywanych przez parser. Zastêpuje
212 standardowy przedrostek
214 Symbole, których nazwy ulegn± zmianie, to
223 Na przyk³ad, je¿eli u¿yjesz opcji
225 wówczas powy¿sze nazwy bêd± mia³y postaæ
235 Umie¶æ w pliku z parserem makrodefinicjê
237 aby skompilowany zosta³ kod pomagaj±cy diagnozowaæ problemy (debug code).
244 Utwórz dodatkowy plik z dok³adnym opisami stanów parsera i akcji
245 podejmowanych dla ka¿dego kolejnego symbolu w tych stanach.
247 Ten plik opisuje równie¿ wszystkie konflikty; zarówno te rozwik³ane przez
248 nastêpstwo operatorów, jak i te nierozwik³ane.
250 Nazwa pliku z opisem jest tworzona przez usuniêcie
254 z nazwy pliku zawieraj±cego parser i dodanie
257 Na przyk³ad, je¿eli plikiem wej¶ciowym jest
259 wówczas plik zawieraj±cy parser nosi nazwê
261 Plik z opisem stanów bêdzie nazwany
269 Wypisz numer wersji i zakoñcz dzia³anie programu
276 Wypisz spis opcji i zakoñcz dzia³anie programu.
286 .B \-\-fixed-output-files
287 Ma to samo dzia³anie, co opcja
289 Plik zawieraj±cy parser nosi nazwê
295 Ta opcja powoduje na¶ladowanie konwencji programu
298 Poni¿szy skrypt mo¿e byæ u¿ywany jako program
308 D³ugie nazwy opcji mog± byæ równie¿ poprzedzane przez
309 `+' zamiast `\-\-', ze wzglêdu na kompatybilno¶æ z poprzednimi wersjami.
310 W przysz³o¶ci ta mo¿liwo¶æ ma byæ usuniêta, poniewa¿ jest niekompatybilna ze
313 /usr/share/bison/bison.simple prosty parser
315 /usr/share/bison/bison.hairy skomplikowany parser
320 .IR "Bison Reference Manual" ,
323 w dystrybucji ¼ród³owej programu
326 Wszystkiego mo¿na siê ³atwo domy¶liæ.