bison(1) 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

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/.