NAZWA
Yacc - 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/.