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).
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 i kończy pracę
- --print-datadir
- wyświetla katalog zawierający szkielety i XSLT i kończy pracę
- -u, --update
- nanosi poprawki w pliku źródłowym gramatyki i kończy pracę
- -f, --feature[=FUNKCJE]
- aktywuje różne funkcje programu
FUNKCJE to lista rozdzielonych przecinkami słów spośród:¶
- caret, diagnostics-show-caret
- błędy ze wskazaniami
- fixit, diagnostics-parseable-fixits
- poprawki czytelne dla maszyny
- syntax-only
- bez generowania żadnego pliku
- all
- wszystkie powyższe
- none
- wyłączenie wszystkich powyższych
Diagnostyka:¶
- -W, --warnings[=KATEGORIA]
- zgłasza ostrzeżenia dotyczące danej kategorii
- --color[=KIEDY]
- określa czy kolorować informacje diagnostyczne
- --style=PLIK
- określa PLIK CSS do kolorowania diagnostyki
Kategorie ostrzeżeń obejmują:¶
- conflicts-sr
- konflikty S/R (włączone domyślnie)
- conflicts-rr
- konflikty R/R (włączone domyślnie)
- counterexamples, cex
- generowanie kontrprzykładów konfliktów
- dangling-alias
- aliasy łańcuchów nie przywiązane do symbolu
- deprecated
- przestarzałe konstrukcje
- empty-rule
- puste reguły bez %empty
- midrule-values
- nie ustawione lub nie użyte wartości pośrednie
- precedence
- bezużyteczne pierwszeństwo i asocjacja
- yacc
- niezgodność z POSIX Yacc
- other
- wszystkie pozostałe ostrzeżenia (włączone domyślnie)
- all
- wszystkie ostrzeżenia oprócz 'counterexamples', 'dangling-alias' i 'yacc'
- no-KATEGORIA
- wyłączenie ostrzeżeń z KATEGORII
- none
- wyłączenie wszystkich ostrzeżeń
- error[=KATEGORIA]
- traktowanie ostrzeżeń jako błędów
KIEDY może być jednym z:¶
- always, yes
- kolorowanie wyjścia
- never, no
- bez kolorowania wyjścia
- auto, tty
- kolorowanie, jeśli urządzeniem wyjściowym jest tty
Dostrajanie analizatora 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
- -y, --yacc
- emuluje POSIX Yacc
Pliki wyjściowe:¶
- -H, --header=[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
- --html[=PLIK]
- produkuje także raport HTML na temat automatu
- -x, --xml[=PLIK]
- produkuje także raport XML na temat automatu
- -M, --file-prefix-map=STARY=NOWY podmiana prefiksu STARY na NOWY przy zapisie ścieżek
- w plikach wyjściowych
TEMATY to lista rozdzielonych przecinkami słów spośród:¶
- states
- opis stanów
- itemsets
- uzupełnienie zbiorów elementów podstawowych ich domknięciem
- lookaheads
- bezpośrednie wiązanie wyszukiwanych symboli leksykalnych z elementami
- solved
- opis rozwiązywania konfliktów przesunięcie/redukcja
- counterexamples, cex
- generowanie kontrprzykładów konfliktów
- all
- dołączenie wszystkich powyższych informacji
- none
- wyłączenie raportu
AUTOR¶
Napisany przez Roberta Corbetta i Richarda Stallmana.
ZGŁASZANIE BŁĘDÓW¶
O błędach programu poinformuj
<bug-bison@gnu.org>.
Strona internetowa GNU Bison: <https://www.gnu.org/software/bison/>.
Ogólna pomoc dotycząca oprogramowania GNU:
<https://www.gnu.org/gethelp/>.
Dla pełnej dokumentacji, uruchom: info bison.
PRAWA AUTORSKIE¶
Copyright © 2021 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.
wrzesień 2021 | GNU Bison 3.8.2 |