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
Zgłoszenia błędów proszę wysyłać (po angielsku) pod adresem <bug-bison@gnu.orgE>.
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 bison jest dostępna w formacie Texinfo. Jeśli program info i bison jest poprawnie zainstalowany, to polecenie

    info bison

powinno dać dostęp do pełnego podręcznika.

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Ł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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.