Yacc(1) generator analizatorów składni LALR(1)

SKŁADNIA

yacc [ -dlrtv ] [ -b przedrostek_pliku ] [ -p przedrostek_symbolu ] nazwapliku

OPIS

Uwaga! To tłumaczenie może być nieaktualne!

Yacc czyta opis gramatyki z pliku nazwapliku i generuje dla niej analizator składni LR(1). Analizatory składają się z zestawu tabel analizy LALR(1) i procedury sterującej napisanej w języku C. Yacc zazwyczaj zapisuje tabele analizy i funkcję sterującą do pliku y.tab.c.

Dostępne są następujące opcje:

-b przedrostek_pliku
Opcja -b zmienia przedrostek, który jest doklejany do wyjściowych nazw plików. Nowym przedrostkiem staje się przedrostek_pliku. Domyślnym przedrostkiem jest znak y.
-d
Opcja -d powoduje zapisanie pliku nagłówkowego y.tab.h.
-l
Jeśli nie poda się opcji -l, yacc wstawi do generowanego kodu dyrektywy #line. Dyrektywy te umożliwiają kompilatorowi C wiązanie błędów w generowanym kodzie z oryginalnym kodem użytkownika. Jeśli podana jest opcja -l, yacc nie będzie wstawiał dyrektyw #line. Dyrektywy #line, podawane przez użytkownika zostaną zachowane.
-p przedrostek_symbolu
Opcja -p zmienia przedrostek doklejany do symboli generowanych przez yacc na łańcuch określony przez przedrostek_symbolu. Domyślnym przedrostkiem jest łańcuch yy.
-r
Opcja -r powoduje, że yacc tworzy oddzielne pliki z kodem i tabelami. Plik z kodem jest nazywany y.code.c, a plik z tabelami y.tab.c.
-t
Opcja -t zmienia dyrektywy preprocesora, generowane przez yacc tak, że do skompilowanego kodu zostaną załączone instrukcje debuggujące.
-v
Opcja -v powoduje wyświetlenie czytelnego dla człowieka opisu generowanego analizatora do pliku y.output.

Jeśli ustawiona jest zmienna środowiskowa TMPDIR, to łańcuch wskazany przez TMPDIR będzie używany jako nazwa katalogu plików tymczasowych.

PLIKI

y.code.c
y.tab.c
y.tab.h
y.output
/tmp/yacc.aXXXXXX
/tmp/yacc.tXXXXXX
/tmp/yacc.uXXXXXX

DIAGNOSTYKA

Jeśli istnieją nieredukowalne reguły, to ich liczba jest zgłaszana na stderr. Jeśli istnieją konflikty z LALR(1), to ich liczba zgłaszana jest na stderr.

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 1 yacc

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.