bison - instrukcja obsługi, opcje, przykłady poleceń


NAZWA

bison - Generator parsera Projektu GNU (zamiennik yacc)

STRESZCZENIE

bison [OPTION]... FILE

OPIS

Bison to generator parsera w stylu yacc(1). Powinien być kompatybilny w górę z plikami wejściowymi zaprojektowanymi dla yacc.

Pliki wejściowe powinny być zgodne z konwencją yacc i kończyć się na .y. W przeciwieństwie do yacc, wygenerowane pliki nie mają ustalonych nazw, zamiast tego używają przedrostka pliku wejściowego. Co więcej, jeśli chcesz umieścić kod C++ w pliku wejściowym, możesz zakończyć jego nazwę rozszerzeniem podobnym do C++ (.ypp lub .y++), wtedy bison zastosuje się do twojego rozszerzenia, aby nazwać wynik plik (.cpp lub .c++). Na przykład plik opisu gramatyki o nazwie parse.yxx wygenerowałby wygenerowany parser w pliku o nazwie parse.tab.cxx zamiast yacc y.tab.c lub parse.tab.c starej wersji Bison.

Ten opis opcji, które można nadać bison, został zaadaptowany z węzła Inwokacja w podręczniku bison.texi, który należy traktować jako autorytatywny.

Bison obsługuje zarówno tradycyjne jednoliterowe opcje, jak i mnemoniczne długie nazwy opcji. Długie nazwy opcji są oznaczone -- zamiast -. Skróty nazw opcji są dozwolone, o ile są unikalne. Gdy długa opcja wymaga argumentu, na przykład --file-prefix, połącz nazwę opcji i argument za pomocą =.

Wygeneruj deterministyczny LR lub uogólniony parser LR (GLR) wykorzystujący tabele parsera LALR(1), IELR(1) lub kanoniczny LR(1).

Argumenty obowiązkowe dla opcji długich są również obowiązkowe dla opcji krótkich. To samo dotyczy opcjonalnych argumentów.

Tryby pracy:

-h, --help

wyświetl tę pomoc i wyjdź

-V, --version

wyprowadź informacje o wersji i wyjdź

--print-localedir

katalog wyjściowy zawierający dane zależne od ustawień regionalnych i wyjście

--print-datadir

katalog wyjściowy zawierający szkielety i XSLT i wyjdź

-u, --update

zastosuj poprawki do źródłowego pliku gramatyki i wyjdź

-f, --feature[=FEATURES]

aktywować różne funkcje

CECHY to lista słów oddzielonych przecinkami, która może zawierać:

caret, diagnostics-show-caret

pokaż błędy z karetkami

fixit, diagnostics-parseable-fixits

pokaż poprawki do odczytu maszynowego

syntax-only

nie generuj żadnego pliku

all

wszystkie powyższe

none

wyłącz wszystkie powyższe

Diagnostyka:

-W, --warnings[=CATEGORY]

zgłaszaj ostrzeżenia należące do KATEGORII

--color[=WHEN]

czy pokolorować diagnostykę

--style=FILE

określ PLIK CSS do diagnostyki colorizera

Kategorie ostrzeżeń obejmują:

conflicts-sr

Konflikty S/R (domyślnie włączone)

conflicts-rr

Konflikty R/R (domyślnie włączone)

counterexamples, cex

generować kontrprzykłady konfliktów

dangling-alias

aliasy łańcuchowe nie dołączone do symbolu

deprecated

przestarzałe konstrukcje

empty-rule

puste reguły bez %empty

midrule-values

nieustawione lub niewykorzystane wartości reguły środkowej

precedence

bezużyteczne pierwszeństwo i asocjatywność

yacc

niezgodności z POSIX Yacc

other

wszystkie inne ostrzeżenia (domyślnie włączone)

all

wszystkie ostrzeżenia z wyjątkiem „kontrprzykładów”, „dangling-alias” i „yacc”

no-CATEGORY

wyłącz ostrzeżenia w KATEGORII

none

wyłącz wszystkie ostrzeżenia

error[=CATEGORY]

traktować ostrzeżenia jako błędy

KIEDY może być jednym z następujących:

always, yes

pokoloruj wydruk

never, no

nie koloryzuj wyjścia

auto, tty

colorize, jeśli urządzeniem wyjściowym jest tty

Strojenie parsera:

-L, --language=LANGUAGE

określić wyjściowy język programowania

-S, --skeleton=FILE

określ szkielet do użycia

-t, --debug

oprzyrząduj parser do śledzenia tak samo jak „-Dparse.trace”

--locations

włączyć obsługę lokalizacji

-D, --define=NAME[=VALUE]

podobny do „%define NAME VALUE”

-F, --force-define=NAME[=VALUE]

zastąp „% zdefiniuj NAZWĘ WARTOŚĆ”

-p, --name-prefix=PREFIX

dodaj PREFIKS do zewnętrznych symboli wycofanych przez „-Dapi.prefix={PREFIX}”

-l, --no-lines

nie generuj dyrektyw „#line”.

-k, --token-table

zawierać tabelę nazw tokenów

-y, --yacc

emuluj POSIX Yacc

Pliki wyjściowe:

-H, --header=[FILE]

również utworzyć plik nagłówkowy

-d

podobnie, ale nie można określić PLIKU (dla POSIX Yacc)

-r, --report=THINGS

wytwarzać również szczegóły dotyczące automatu

--report-file=FILE

zapisz raport do PLIKU

-v, --verbose

to samo co '--report=state'

-b, --file-prefix=PREFIX

określ PREFIKS dla plików wyjściowych

-o, --output=FILE

pozostaw wyjście do PLIKU

-g, --graph[=FILE]

wyprowadź również wykres automatu

--html[=FILE]

wygeneruje również raport HTML automatu

-x, --xml[=FILE]

wygeneruje również raport XML automatu

-M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when writing file paths

w plikach wyjściowych

RZECZY to lista słów oddzielonych przecinkami, które mogą obejmować:

states

opisz stany

itemsets

uzupełnij podstawowe zestawy przedmiotów wraz z ich zamknięciem

lookaheads

jawnie powiąż tokeny wyprzedzające z przedmiotami

solved

opisz rozwiązywanie konfliktów przesunięcia/zmniejszenia

counterexamples, cex

generować kontrprzykłady konfliktów

all

zawierać wszystkie powyższe informacje

none

wyłącz raport

AUTOR

Napisane przez Roberta Corbetta i Richarda Stallmana.

ZGŁASZANIE BŁĘDÓW

Zgłoś błędy na adres .
Strona domowa GNU Bison: .
Ogólna pomoc dotycząca oprogramowania GNU: .
Aby uzyskać pełną dokumentację, uruchom: info bison.

PRAWA AUTORSKIE

Prawa autorskie © 2021 Free Software Foundation, Inc.
To jest wolne oprogramowanie; zobacz źródło warunków kopiowania. NIE ma gwarancji; nawet dla PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU.

ZOBACZ TEŻ

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

The full documentation for bison is maintained as a Texinfo manual. If the info and bison programs are properly installed at your site, the command

info bison

should give you access to the complete manual.