Scroll to navigation

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:

wyświetla ten tekst i kończy pracę
wyświetla informacje o wersji i kończy działanie
wyświetla katalog z danymi dotyczącymi lokalizacji i kończy pracę
wyświetla katalog zawierający szkielety i XSLT i kończy pracę
nanosi poprawki w pliku źródłowym gramatyki i kończy pracę
aktywuje różne funkcje programu

FUNKCJE to lista rozdzielonych przecinkami słów spośród:

błędy ze wskazaniami
poprawki czytelne dla maszyny
bez generowania żadnego pliku
wszystkie powyższe
wyłączenie wszystkich powyższych

Diagnostyka:

zgłasza ostrzeżenia dotyczące danej kategorii
określa czy kolorować informacje diagnostyczne
określa PLIK CSS do kolorowania diagnostyki

Kategorie ostrzeżeń obejmują:

konflikty S/R (włączone domyślnie)
konflikty R/R (włączone domyślnie)
generowanie kontrprzykładów konfliktów
aliasy łańcuchów nie przywiązane do symbolu
przestarzałe konstrukcje
puste reguły bez %empty
nie ustawione lub nie użyte wartości pośrednie
bezużyteczne pierwszeństwo i asocjacja
niezgodność z POSIX Yacc
wszystkie pozostałe ostrzeżenia (włączone domyślnie)
wszystkie ostrzeżenia oprócz 'counterexamples', 'dangling-alias' i 'yacc'
wyłączenie ostrzeżeń z KATEGORII
wyłączenie wszystkich ostrzeżeń
traktowanie ostrzeżeń jako błędów

KIEDY może być jednym z:

kolorowanie wyjścia
bez kolorowania wyjścia
kolorowanie, jeśli urządzeniem wyjściowym jest tty

Dostrajanie analizatora składni:

używa wyjściowy język programowania
używa podanego szkieletu
produkuje analizator do śledzenia to samo, co '-Dparse.trace'
włącza obliczanie lokacji
podobnie jak '%define NAZWA WARTOŚĆ'
nadpisuje '%define NAZWA WARTOŚĆ'
dopisuje początkowy PREFIKS do zewnętrznych symboli zastąpione przez '-Dapi.prefix={PREFIKS}'
zabrania tworzenia dyrektyw '#line'
dołącza tablicę nazw symboli leksykalnych
emuluje POSIX Yacc

Pliki wyjściowe:

produkuje także plik nagłówkowy
podobnie, ale bez podania PLIKU (dla POSIX Yacc)
produkuje także szczegóły na temat automatu
zapisuje raport do PLIKU
to samo co '--report=state'
ustaw PREFIKS dla plików wyjściowych
przekierowuje wyjście do PLIKU
produkuje także graf automatu
produkuje także raport HTML na temat automatu
produkuje także raport XML na temat automatu
w plikach wyjściowych

TEMATY to lista rozdzielonych przecinkami słów spośród:

opis stanów
uzupełnienie zbiorów elementów podstawowych ich domknięciem
bezpośrednie wiązanie wyszukiwanych symboli leksykalnych z elementami
opis rozwiązywania konfliktów przesunięcie/redukcja
generowanie kontrprzykładów konfliktów
dołączenie wszystkich powyższych informacji
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

lex(1), flex(1), yacc(1).

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