Lex
A Lex egy lexikális elemzők generálására szolgáló program , amelyet általában a yacc elemző generátorral együtt használnak . A Lex-et eredetileg Eric Schmidt és Mike Lesk írta , és a Unix operációs rendszerek szabványos lexergenerátora, és a POSIX szabvány része . Lex beolvassa a lexikális elemzőt leíró bemeneti adatfolyamot, és a C programozási nyelven adja ki a forráskódot .
Bemeneti fájl szerkezete
A lex fájl szerkezete hasonló a yacc fájléhoz; a fájl három blokkra van osztva, amelyeket egyenként két százalékos karaktert tartalmazó sorok választanak el:
Definíció blokk
%%
Szabályblokk
%%
C kód blokk
- A definíciós blokk makrókat és fejlécfájlokat tartalmaz. Bármilyen C kód beírása is megengedett ide - ez be lesz másolva a kapott fájlba.
- A szabályblokk a legfontosabb rész; mintákat ír le és hívásokat társít. A minták reguláris kifejezések . Amikor az értelmező a mintának megfelelő szöveget lát, végrehajtja a megadott kódot.
- A kódblokk C utasításokat és függvényeket tartalmaz, amelyek a generált fájlba másolódnak. Ezek az utasítások várhatóan tartalmazzák az előző blokk szabályai által meghívott kódot. Összetett elemzők esetében kényelmesebb lehet ezt a kódot egy külön fájlba helyezni, amely a fordítási szakaszban szerepel.
Lásd még
Linkek
Unix parancsok |
---|
|
GNU Coreutils |
---|
Fájl segédprogramok |
|
---|
Szöveges segédprogramok |
|
---|
Shell segédprogramok |
|
---|
|