table of contents
BISON(1) | Polecenia użytkownika | BISON(1) |
NAZWA¶
bison - generator parserów w wersji GNU (zastępuje program yacc)
SKŁADNIA¶
bison [OPCJA]... 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.texi, 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 =.
Tworzy deterministyczny analizator składni LR lub uogólniony LR (GLR) używając tablic LALR(1), IELR(1) lub kanonicznej LR(1). Wsparcie dla IELR(1) i kanonicznego LR(1) jest eksperymentalne.
Argumenty, które są obowiązkowe dla długich opcji, są również obowiązkowe dla krótkich. To samo dotyczy argumentów opcjonalnych.
Tryby działania:¶
- -h, --help
- wyświetla ten tekst i kończy pracę
- -V, --version
- wyświetla informacje o wersji i kończy działanie
- --print-localedir
- wyświetla katalog z danymi dotyczącymi lokalizacji
- --print-datadir
- wyświetla katalog zawierający szkielety i XSLT
- -y, --yacc
- emuluje POSIX Yacc
- -W, --warnings[=KATEGORIA]
- zgłasza ostrzeżenia dotyczące danej kategorii
- -f, --feature[=FUNKCJA]
- aktywuje różne funkcje programu
Analizator składni:¶
- -L, --language=JĘZYK
- używa wyjściowy język programowania
- -S, --skeleton=PLIK
- używa podanego szkieletu
- -t, --debug
- produkuje analizator do śledzenia to samo, co '-Dparse.trace'
- --locations
- włącza obliczanie lokacji
- -D, --define=NAZWA[=WARTOŚĆ]
- podobnie jak '%define NAZWA WARTOŚĆ'
- -F, --force-define=NAZWA[=WARTOŚĆ]
- nadpisuje '%define NAZWA WARTOŚĆ'
- -p, --name-prefix=PREFIKS
- dopisuje początkowy PREFIKS do zewnętrznych symboli zastąpione przez '-Dapi.prefix=PREFIKS'
- -l, --no-lines
- zabrania tworzenia dyrektyw '#line'
- -k, --token-table
- dołącza tablicę nazw symboli leksykalnych
Wyjście:¶
- --defines[=PLIK]
- produkuje także plik nagłówkowy
- -d
- podobnie, ale bez podania PLIKU (dla POSIX Yacc)
- -r, --report=LISTA
- produkuje także szczegóły na temat automatu
- --report-file=PLIK
- zapisuje raport do PLIKU
- -v, --verbose
- to samo co '--report=state'
- -b, --file-prefix=PREFIKS
- ustaw PREFIKS dla plików wyjściowych
- -o, --output=PLIK
- przekierowuje wyjście do PLIKU
- -g, --graph[=PLIK]
- produkuje także graf automatu
- -x, --xml[=PLIK]
- produkuje także raport XML na temat automatu (schemat XML jest eksperymentalny)
Kategorie ostrzeżeń obejmują:¶
- 'midrule-values'
- nie ustawione lub nie użyte wartości pośrednie
- 'yacc'
- niezgodność z POSIX Yacc
- 'conflicts-sr'
- konflikty S/R (włączone domyślnie)
- 'conflicts-rr'
- konflikty R/R (włączone domyślnie)
- 'deprecated'
- przestarzałe konstrukcje
- 'empty-rule'
- puste reguły bez %empty
- 'precedence'
- bezużyteczne pierwszeństwo i asocjacja
- 'other'
- wszystkie pozostałe ostrzeżenia (włączone domyślnie)
- 'all'
- wszystkie ostrzeżenia oprócz 'yacc'
- 'no-KATEGORIA'
- wyłączenie ostrzeżeń z KATEGORII
- 'none'
- wyłączenie wszystkich ostrzeżeń
- 'error[=KATEGORIA]'
- traktowanie ostrzeżeń jako błędów
TEMATY to lista rozdzielonych przecinkami słów spośród:¶
- 'state'
- opis stanów
- 'itemset'
- uzupełnienie zbiorów elementów podstawowych ich domknięciem
- 'lookahead'
- bezpośrednie wiązanie wyszukiwanych symboli leksykalnych z elementami
- 'solved'
- opis rozwiązywania konfliktów przesunięcie/redukcja
- 'all'
- dołączenie wszystkich powyższych informacji
- 'none'
- wyłączenie raportu
FUNKCJA stanowi słowa przedzielone przecinkami. Dopuszczalne są następujące słowa:¶
- 'caret'
- błędy ze wskazaniami
- 'all'
- wszystkie powyższe
- 'none'
- wyłączenie wszystkich powyższych
AUTOR¶
Napisany przez Roberta Corbetta i Richarda Stallmana.
ZGŁASZANIE BŁĘDÓW¶
O błędach programu poinformuj
<bug-bison@gnu.org>.
Strona domowa GNU Bison: <http://www.gnu.org/software/bison/>.
Ogólna pomoc dotycząca oprogramowania GNU:
<http://www.gnu.org/gethelp/>.
O błędach tłumaczenia poinformuj
<translation-team-pl@lists.sourceforge.net>.
Dla pełnej dokumentacji, uruchom: info bison.
PRAWA AUTORSKIE¶
Copyright © 2015 Free Software Foundation, Inc.
Jest to wolne oprogramowanie; warunki rozpowszechniania znajdują
się w źródle programu. NIE ma gwarancji, nawet
PRZYDATNOŚCI HANDLOWEJ czy PRZYDATNOŚCI DO
OKREŚLONEGO CELU.
ZOBACZ TAKŻE¶
Pełna dokumentacja dla programu bison jest utrzymywana jako podręcznik Texinfo. Jeśli programy info oraz bison są właściwie zainstalowane, polecenie
- info bison
powinno dać dostęp do pełnego podręcznika.
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Łukasz Kowalczyk <lukow@tempac.okwf.fuw.edu.pl> i Robert Luberda <robert@debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
styczeń 2015 | bison 3.0.4 |