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 <[email protected]>.
 
Strona internetowa GNU Bison: <https://www.gnu.org/software/bison/>.
 
Ogólna pomoc dotycząca oprogramowania GNU: <https://www.gnu.org/gethelp/>.
O błędach tłumaczenia poinformuj <https://translationproject.org/team/pl.html>.
 
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 <[email protected]> i Robert Luberda <[email protected]>
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 [email protected]

Recommended readings

Pages related to bison you should read also: