Contact
Impressum
Why this name?
pdf

YACC

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.

pdf
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

No Banana Union - No Software Patents