yacc

Autres langues

Langue: pl

Autres versions - même langue

Version: 15 lipca 1990 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

NAZWA

Yacc - generator analizatorów sk³adni LALR(1)

SK£ADNIA

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

OPIS

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.