]> git.pld-linux.org Git - packages/bison.git/blob - bison.1.pl
- updated to 2.1
[packages/bison.git] / bison.1.pl
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)
3 .\" $Id$
4 .TH bison 1 local
5 .SH NAZWA
6 bison \- generator parserów w wersji GNU (zastêpuje program yacc)
7 .SH SK£ADNIA
8 .B bison
9 [
10 .BI \-b  " przedrostek-nazwy-pliku"
11 ] [
12 .BI \-\-file-prefix= przedrostek-nazwy-pliku
13 ] [
14 .B \-d
15 ] [
16 .B \-\-defines
17 ] [
18 .B \-k
19 ] [
20 .B \-\-token-table
21 ] [
22 .B \-l
23 ] [
24 .B \-\-no-lines
25 ] [
26 .B \-n
27 ] [
28 .B \-\-no-parser
29 ] [
30 .BI \-o " plik-wyj¶ciowy"
31 ] [
32 .BI \-\-output-file= plik-wyj¶ciowy
33 ] [
34 .BI \-p " przedrostek"
35 ] [
36 .BI \-\-name-prefix= przedrostek
37 ] [
38 .B \-r
39 ] [
40 .B \-\-raw
41 ] [
42 .B \-t
43 ] [
44 .B \-\-debug
45 ] [
46 .B \-v
47 ] [
48 .B \-\-verbose
49 ] [
50 .B \-V
51 ] [
52 .B \-\-version
53 ] [
54 .B \-y
55 ] [
56 .B \-\-yacc
57 ] [
58 .B \-h
59 ] [
60 .B \-\-help
61 ] [
62 .B \-\-fixed-output-files
63 ]
64 plik
65 .SH OPIS
66 .I bison
67 jest generatorem parserów w stylu programu
68 .IR yacc (1)
69 i powinien byæ zgodny z plikami wej¶ciowymi stworzonym dla tego programu.
70 .PP
71 Pliki wej¶ciowe powinny mieæ rozszerzenie 
72 .B .y
73 zgodnie z konwencj± programu
74 .IR yacc .
75 W przeciwieñstwie do plików tworzonych przez program
76 .IR yacc ,
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
79 .B parse.y
80 pos³u¿y do stworzenia parsera w pliku o nazwie
81 .BR parse.tab.c ,
82 zamiast
83 .BR y.tab.c ,
84 jak w programie
85 .IR yacc .
86 .PP
87 Ten opis opcji rozpoznawanych przez program
88 .I bison
89 zosta³ zaadaptowany z rozdzia³u
90 .B Invocation
91 pochodz±cego z opisu
92 .BR bison.texinfo ,
93 który powinien byæ traktowany jako autorytatywne ¼ród³o informacji.
94 .PP
95 .I bison
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
99 .BR \-\- ,
100 zamiast
101 .BR \- .
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
105 .BR = .
106 .SS OPCJE
107 .TP
108 .BI \-b " przedrostek-pliku"
109 .br
110 .ns
111 .TP
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.
116 .TP
117 .B \-d
118 .br
119 .ns
120 .TP
121 .B \-\-defines
122 Utwórz dodatkowy plik z definicjami makroinstrukcji dla nazw symboli
123 terminalnych zdefiniowanych w pliku gramatyki oraz z definicj± typu warto¶ci
124 semantycznej
125 .BR YYSTYPE ,
126 jak równie¿ z deklaracjami zmiennych zewnêtrznych.
127 .sp
128 Je¿eli plik z parserem nosi nazwê \fInazwa\fB.c\fR, to plik z definicjami 
129 zostanie nazwany \fInazwa\fB.h\fR.
130 .sp
131 Ten plik jest niezbêdny, je¿eli chcesz umie¶ciæ definicjê funkcji
132 .B yylex
133 w oddzielnym pliku ¼ród³owym, poniewa¿ funkcja
134 .B yylex
135 musi mieæ dostêp do kodów symboli terminalnych oraz do zmiennej
136 .BR yylval .
137 .TP
138 .B \-r
139 .br
140 .ns
141 .TP
142 .B \-\-raw
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).
148 .TP
149 .B \-k
150 .br
151 .ns
152 .TP
153 .B \-\-token-table
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 
157 .IR yytname .
158 W pliku znajd± siê równie¿ definicje sta³ych
159 .IR YYNTOKENS ,
160 .IR YYNNTS ,
161 .IR YYNRULES ,
162
163 .IR YYNSTATES .
164 .TP
165 .B \-l
166 .br
167 .ns
168 .TP
169 .B \-\-no-lines
170 Nie umieszczaj w pliku z parserem poleceñ 
171 .B #line 
172 dla preprocesora. Normalnie 
173 .I bison
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.
178 .TP
179 .B \-n
180 .br
181 .ns
182 .TP
183 .B \-\-no-parser
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.
188 .TP
189 .BI \-o " plik-wyj¶ciowy"
190 .br
191 .ns
192 .TP
193 .BI \-\-output-file= plik-wyj¶ciowy
194 Okre¶l nazwê 
195 .I "pliku wyj¶ciowego" 
196 zawieraj±cego definicjê parsera.
197 .sp
198 Nazwy pozosta³ych plików s± tworzone z nazwy
199 .I "pliku wej¶ciowego"
200 zgodnie z zasadami opisanymi przy opcjach
201 .B \-v
202 i
203 .BR \-d .
204
205 .TP
206 .BI \-p " przedrostek"
207 .br
208 .ns
209 .TP
210 .BI \-\-name-prefix= przedrostek
211 Przedrostek nazw zewnêtrznych symboli u¿ywanych przez parser. Zastêpuje
212 standardowy przedrostek
213 .BR yy .
214 Symbole, których nazwy ulegn± zmianie, to
215 .BR yyparse ,
216 .BR yylex ,
217 .BR yyerror ,
218 .BR yylval ,
219 .BR yychar , 
220 i
221 .BR yydebug .
222 .sp
223 Na przyk³ad, je¿eli u¿yjesz opcji
224 .BR "\-p c" ,
225 wówczas powy¿sze nazwy bêd± mia³y postaæ
226 .BR cparse ,
227 .BR clex ,
228 itd.
229 .TP
230 .B \-t
231 .br
232 .ns
233 .TP
234 .B \-\-debug
235 Umie¶æ w pliku z parserem makrodefinicjê
236 .B YYDEBUG
237 aby skompilowany zosta³ kod pomagaj±cy diagnozowaæ problemy (debug code).
238 .TP
239 .B \-v
240 .br
241 .ns
242 .TP
243 .B \-\-verbose
244 Utwórz dodatkowy plik z dok³adnym opisami stanów parsera i akcji
245 podejmowanych dla ka¿dego kolejnego symbolu w tych stanach.
246 .sp
247 Ten plik opisuje równie¿ wszystkie konflikty; zarówno te rozwik³ane przez
248 nastêpstwo operatorów, jak i te nierozwik³ane.
249 .sp
250 Nazwa pliku z opisem jest tworzona przez usuniêcie
251 .B .tab.c
252 lub
253 .B .c
254 z nazwy pliku zawieraj±cego parser i dodanie
255 .BR .output .
256 .sp
257 Na przyk³ad, je¿eli plikiem wej¶ciowym jest
258 .BR foo.y ,
259 wówczas plik zawieraj±cy parser nosi nazwê
260 .BR foo.tab.c .
261 Plik z opisem stanów bêdzie nazwany
262 .BR foo.output .
263 .TP
264 .B \-V
265 .br
266 .ns
267 .TP
268 .B \-\-version
269 Wypisz numer wersji i zakoñcz dzia³anie programu
270 .TP
271 .B \-h
272 .br
273 .ns
274 .TP
275 .B \-\-help
276 Wypisz spis opcji i zakoñcz dzia³anie programu.
277 .TP
278 .B \-y
279 .br
280 .ns
281 .TP
282 .B \-\-yacc
283 .br
284 .ns
285 .TP
286 .B \-\-fixed-output-files
287 Ma to samo dzia³anie, co opcja
288 .BR "\-o y.tab.c" ;
289 Plik zawieraj±cy parser nosi nazwê
290 .BR y.tab.c ,
291 a pozosta³e pliki
292 .B y.output
293 i
294 .BR y.tab.h .
295 Ta opcja powoduje na¶ladowanie konwencji programu 
296 .I yacc
297 nazywania plików.
298 Poni¿szy skrypt mo¿e byæ u¿ywany jako program
299 .IR yacc :
300 .sp
301 .RS
302 .ft B
303 bison \-y $*
304 .ft R
305 .sp
306 .RE
307 .PP
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
311 standardem POSIX.2
312 .SH PLIKI
313 /usr/share/bison/bison.simple   prosty parser
314 .br
315 /usr/share/bison/bison.hairy    skomplikowany parser
316 .SH ZOBACZ TAK¯E
317 .IR yacc (1)
318 .br
319 Opis
320 .IR "Bison Reference Manual" ,
321 zawarty w pliku
322 .B bison.texinfo
323 w dystrybucji ¼ród³owej programu
324 .I bison
325 .SH DIAGNOSTYKA
326 Wszystkiego mo¿na siê ³atwo domy¶liæ.
This page took 0.074583 seconds and 3 git commands to generate.