Provided by:
manpages-pl_20060617-2_all 
NAZWA
bison - generator parserów w wersji GNU (zastępuje program yacc)
SKŁADNIA
bison [ -b przedrostek-nazwy-pliku ] [ --file-prefix=przedrostek-nazwy-
pliku ] [ -d ] [ --defines ] [ -k ] [ --token-table ] [ -l ] [ --no-
lines ] [ -n ] [ --no-parser ] [ -o plik-wyjciowy ] [ --output-
file=plik-wyjciowy ] [ -p przedrostek ] [ --name-prefix=przedrostek ]
[ -r ] [ --raw ] [ -t ] [ --debug ] [ -v ] [ --verbose ] [ -V ] [
--version ] [ -y ] [ --yacc ] [ -h ] [ --help ] [ --fixed-output-files
] plik
OPIS
bison jest generatorem parserów w stylu programu yacc(1) i powinien być
zgodny z plikami wejściowymi stworzonym dla tego programu.
Pliki wejściowe powinny mieć rozszerzenie .y zgodnie z konwencją
programu yacc. W przeciwieństwie do plików tworzonych przez program
yacc, pliki wyjściowe nie mają stałego przedrostka nazw, lecz używają
przedrostka nazwy pliku wejściowego. Na przykład, plik z opisem
gramatyki o nazwie parse.y posłuży do stworzenia parsera w pliku o
nazwie parse.tab.c, zamiast y.tab.c, jak w programie yacc.
Ten opis opcji rozpoznawanych przez program bison został zaadaptowany z
rozdziału Invocation pochodzącego z opisu bison.texinfo, który powinien
być traktowany jako autorytatywne źródło informacji.
bison rozpoznaje zarówno tradycyjne, jednoliterowe opcje, jak i łatwe
do zapamiętania, długie nazwy opcji. Długie nazwy opcji rozpoczynają
się od --, zamiast -. Mogą być one skracane do takiej długości, aby
nadal były unikalne. Jeżeli po długiej opcji musi nastepować jej
parametr, musi on być połączony z nazwą opcji znakiem =.
OPCJE
-b przedrostek-pliku
--file-prefix=przedrostek pliku
Określa przedrostek nazwy pliku stosowany do wszystkich plików
wyjściowych. Nazwy są tworzone zgodnie z następującym wzorem:
file-prefix.c.
-d
--defines
Utwórz dodatkowy plik z definicjami makroinstrukcji dla nazw
symboli terminalnych zdefiniowanych w pliku gramatyki oraz z
definicją typu wartości semantycznej YYSTYPE, jak również z
deklaracjami zmiennych zewnętrznych.
Jeżeli plik z parserem nosi nazwę nazwa.c, to plik z definicjami
zostanie nazwany nazwa.h.
Ten plik jest niezbędny, jeżeli chcesz umieścić definicję
funkcji yylex w oddzielnym pliku źródłowym, ponieważ funkcja
yylex musi mieć dostęp do kodów symboli terminalnych oraz do
zmiennej yylval.
-r
--raw Numery symboli terminalnych znajdujące się w pliku nazwa.h są
zazwyczaj kompatybilne z programem Yacc. Jeżeli podana zostanie
ta opcja, użyta zostanie numeracja charakterystyczna dla
programu Bison. (numeracja programu Yacc rozpoczyna się od 257,
z wyjątkiem symboli jednoznakowych; Bison numeruje wszystkie
symbole po kolei poczynając od liczby 3).
-k
--token-table
Ta opcja powoduje, że w pliku name.tab.c znajdzie się lista
symboli terminalnych posortowana pod względem wartości symboli
(nie nazw); jest to zdefiniowane w tablicy yytname. W pliku
znajdą się również definicje stałych YYNTOKENS, YYNNTS,
YYNRULES, i YYNSTATES.
-l
--no-lines
Nie umieszczaj w pliku z parserem poleceń #line dla
preprocesora. Normalnie bison umieszcza je w tym pliku, aby
kompilator oraz debuggery wykazywały błędy w kontekście twojego
pliku źródłowego z gramatyką. Ta opcja powoduje, że błędy będą
wykazywane w kontekście pliku zawierającego parser, traktując go
jak niezależny plik na równych prawach.
-n
--no-parser
Nie generuj kodu parsera; generuj tylko deklaracje. Utworzony
plik name.tab.c będzie zawierał wyłącznie deklaracje stałych.
Dodatkowo, w pliku name.act znajdzie się wyrażenie switch
zawierające wszystkie przetłumaczone definicje akcji.
-o plik-wyjciowy
--output-file=plik-wyjciowy
Określ nazwę pliku wyjciowego zawierającego definicję parsera.
Nazwy pozostałych plików są tworzone z nazwy pliku wejciowego
zgodnie z zasadami opisanymi przy opcjach -v i -d.
-p przedrostek
--name-prefix=przedrostek
Przedrostek nazw zewnętrznych symboli używanych przez parser.
Zastępuje standardowy przedrostek yy. Symbole, których nazwy
ulegną zmianie, to yyparse, yylex, yyerror, yylval, yychar, i
yydebug.
Na przykład, jeżeli użyjesz opcji -p c, wówczas powyższe nazwy
będą miały postać cparse, clex, itd.
-t
--debug
Umieść w pliku z parserem makrodefinicję YYDEBUG aby
skompilowany został kod pomagający diagnozować problemy (debug
code).
-v
--verbose
Utwórz dodatkowy plik z dokładnym opisami stanów parsera i akcji
podejmowanych dla każdego kolejnego symbolu w tych stanach.
Ten plik opisuje również wszystkie konflikty; zarówno te
rozwikłane przez następstwo operatorów, jak i te nierozwikłane.
Nazwa pliku z opisem jest tworzona przez usunięcie .tab.c lub .c
z nazwy pliku zawierającego parser i dodanie .output.
Na przykład, jeżeli plikiem wejściowym jest foo.y, wówczas plik
zawierający parser nosi nazwę foo.tab.c. Plik z opisem stanów
będzie nazwany foo.output.
-V
--version
Wypisz numer wersji i zakończ działanie programu
-h
--help Wypisz spis opcji i zakończ działanie programu.
-y
--yacc
--fixed-output-files
Ma to samo działanie, co opcja -o y.tab.c; Plik zawierający
parser nosi nazwę y.tab.c, a pozostałe pliki y.output i y.tab.h.
Ta opcja powoduje naśladowanie konwencji programu yacc nazywania
plików. Poniższy skrypt może być używany jako program yacc:
bison -y $*
Długie nazwy opcji mogą być również poprzedzane przez `+' zamiast `--',
ze względu na kompatybilność z poprzednimi wersjami. W przyszłości ta
możliwość ma być usunięta, ponieważ jest niekompatybilna ze standardem
POSIX.2
PLIKI
/usr/local/lib/bison.simple prosty parser
/usr/local/lib/bison.hairy skomplikowany parser
ZOBACZ TAKŻE
yacc(1)
Opis Bison Reference Manual, zawarty w pliku bison.texinfo w
dystrybucji źródłowej programu bison
DIAGNOSTYKA
Wszystkiego można się łatwo domyślić.
local bison(1)