Lex (informatyka) - Google

Lex (informatyka)

Z Wikipedii

Skocz do: nawigacji, szukaj

Lex to standardowy program w systemach uniksowych służący do tworzenia tzw. lekserów czyli programów przekształcających wejściowy strumień znaków na symbole (jednostki leksykalne). Program lex wyodrębnia symbole dopasowując ciąg wejściowy do wzorców określonych przez wyrażenia regularne. Z każdym ze wzorców można powiązać odpowiedni fragment programu napisany w języku C odpowiedzialny za wykonanie konkretnej akcji w przypadku odnalezienia symbolu.

Obok oryginalnego programu lex napisanego przez Erica Schmidta i Mikea Leska ogromną popularnością cieszy się wersja GNU o nazwie flex.

Spis treści

[edytuj] Struktura pliku lex

Program analizujący generowany jest na podstawie pliku zawierającego wzorce (wyrażenia regularne zgodne ze standardem IEEE Std 1003.1-2001) oraz fragmenty kodu w języku C. Zazwyczaj plik ten ma rozszerzenie .l (małe L) i składa się z trzech części oddzielonych od siebie znakami %%:

sekcja definicji
%%
sekcja reguł
%%
sekcja z kodem w języku C

[edytuj] Wynik działania programu

Wynikiem działania programu lex jeżeli nie użyto opcji -t jest plik tekstowy o nazwie lex.yy.c zawierający kod źródłowy (w języku C) wygenerowanego leksera. Po skompilowaniu tego pliku i połączeniu z biblioteką lex powstaje właściwy program analizujący.

[edytuj] Lex i Yacc

Bardzo często wynik działania programu lex jest przekazywany do analizatorów składniowych (parser) czyli programów sprawdzających zgodność strumienia wejściowego z określonymi regułami gramatycznymi. Najpopularniejszy taki tandem to programy lex i yacc szeroko stosowane w systemach uniksowych.

[edytuj] Zobacz też

[edytuj] Linki zewnętrzne


Hiszpania: pięć bramek "Barcy", hat-trick 19-latka
W spotkaniu 38. kolejki hiszpańskiej Primera Divosion Real Murcia przegrał przed własną publicznością z FC Barceloną 3:5 (1:3).
MÅš: brÄ…zowy medal dla Finlandii
W spotkaniu o trzecie miejsce rozgrywanych w Kanadzie mistrzostw świata w hokeju na lodzie Finlandia pokonała Szwecję 4:0 (2:0, 0:0, 2:0).
Mityng Grand Prix IAAF w Dakarze
Najlepsze wyniki mityngu Grand Prix IAAF w Dakarze uzyskali w pchnięciu kulą Jamajczyk Dorian Scott - 20,52 i Niemka Nadine Kleinert - 19,51.
Olympique Lyon mistrzem Francji!
W spotkaniu 38. kolejki francuskiej Ligue 1 AJ Auxerre przegrało przed własną publicznością z Olympique Lyon 1:3 (0:2). Dzięki temu zwycięstwu podopieczni Alaina Perrina po raz siódmy z rzędu zdobyli tytuł mistrza Francji.
Liga hokeja na trawie: niespodziewana porażka Pocztowca
Hokeiści na trawie Grunwaldu Poznań awansowali do finału mistrzostw Polski. W drugim półfinale pomiędzy Pocztowcem Poznań a AZS AWF Poznań po dwóch spotkaniach jest remis 1-1.
Linki: Strona g³ówna