[ubuntu-it] lex & yacc

Emiliano ing_eminux a yahoo.it
Dom 11 Set 2005 18:21:09 UTC


Il giorno dom, 11/09/2005 alle 20.04 +0200, Caterina Perri ha scritto:
> Ciao,
> installando php su apache2, mi viene richiesta l'esistenza di lex.
> Non e' installato sul sistema operativo, e neanche trovo il modo per
> installarlo.
> Potete illuminarmi?
> Grazie!
> Caterina

lex è un lexical analyser generator... una cosa per scandire i file e
generare dei token... è la prima cosa che fanno i compilatori.. serve
per controllare la sintassi di un dato linguaggio etc etc.
lex è la versione per unix scritta dalla AT&T... (roba storica ormai)
la controparte open-source si chiama flex... è una roba abbastanza
complicate e direi molto avanzata (non serve a niente se non stai
progettando un nuovo linguaggio o un compilatore) non so dirti perchè
php richieda questa cosa... a me non pare che la chiedesse...cmq ti
riporto la definizione di flex..."Flex is a fast lexical analyser
generator. It is a tool for generating programs that perform
pattern-matching on text. There are many applications for Flex,
including writing compilers in conjunction with GNU Bison. Flex is a
free implementation of the well known Lex program. It features a Lex
compatibility mode, and also provides several new features such as
exclusive start conditions."


yacc è invece un parser generator... un affare che ti permette di fare
la traduzione da un linguaggio sorgente (C per esempio) in un linguaggio
pozzo (linguaggio macchina di solito). anche yacc è la versione storica
per unix scritta dalla AT&T. la controparte open source si chiama
Bison... ti posto anche qui la definizione dal sito...
"Bison is a general-purpose parser generator that converts a grammar
description for an LALR context-free grammar into a C program to parse
that grammar"

per riferimenti http://www.gnu.org/software/flex/ per flex e
http://www.gnu.org/software/bison/ per bison...
-- 
eminux
Linux registered user #380522
Coltiva linux...tanto windows si pianta da solo...





Maggiori informazioni sulla lista ubuntu-it