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 ] plikOPIS
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 $*
-
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/.