Scroll to navigation

bison(1) General Commands Manual bison(1)

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-wyjściowy ] [ --output-file=plik-wyjściowy ] [ -p przedrostek ] [ --name-prefix=przedrostek ] [ -r ] [ --raw ] [ -t ] [ --debug ] [ -v ] [ --verbose ] [ -V ] [ --version ] [ -y ] [ --yacc ] [ -h ] [ --help ] [ --fixed-output-files ] plik

OPIS

Uwaga! To tłumaczenie może być nieaktualne!
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-wyjściowy
 
--output-file=plik-wyjściowy
Określ nazwę pliku wyjściowego zawierającego definicję parsera.
Nazwy pozostałych plików są tworzone z nazwy pliku wejściowego 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ć.

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 1 bison
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
local