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