Lexikalni scanery

Alexandr Malusek malusek na hroch.ujf.cas.cz
Úterý Listopad 3 12:21:18 CET 1998


prudek na sol.cz (Milos Prudek) writes:

> Zeptam se na neco z uzivatelskeho hlediska: je nutne mit nainstalovany
> bison, byacc a ostatni utility (v prislusne skupine RH5.1 instalace),
> kdyz na mem pocitaci delam obcas kompilaci beznych programu (sendmail,
> pop3 server, portslave apod.),

Zminim se jen o flexu a bisonovi: V alespon 99% ;-) neni nutne je
mit. Je dobrym zvykem, ze v distribucich jsou spolu se zdrojovymi
soubory pro lex (.l) a yacc (.y) i odpovidajici vygenerovane .h a .c
soubory, takze bezny uzivatel vystaci s cc a tyto nastroje
nepotrebuje.

Nicmene program make je muze volat, pokud je datum posledni modifikace
souboru .l nebo .y novejsi, nez odpovidajicich .c a .h souboru. Ke
spatnemu nastaveni data mi obcas dochazelo pri rozbalovani
archivu. Pak stacilo zadat neco jako "touch *.c *.h" a pri nasledne
kompilaci se jiz flex ani bison nevolal.

Utility jsou to sice mocne, ale male, takze na disku mnoho mista
nezabiraji. Zkuste si napr.:

$ du -sk `rpm -ql flex`
$ du -sk `rpm -ql bison`

Pripadne pro celkove zabrane misto na disku:

$ du -sk `rpm -ql flex` | awk '{s+=$1} END {print s}'
348  # KB

$ du -sk `rpm -ql bison` | awk '{s+=$1} END {print s}'
170  # KB

--
A. Malusek  (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux