Dzisiaj jest 12 grudnia 2024 r.
Chcę dodać własny artykuł

Lex (informatyka)

Lex – Lekser w systemach uniksowych

Lex to standardowy program w systemach uniksowych, który służy do tworzenia lekserów, czyli programów przekształcających strumień znaków na symbole leksykalne. Lex wyodrębnia symbole, dopasowując ciąg wejściowy do wzorców określonych przez wyrażenia regularne. Każdemu wzorcowi można przypisać fragment kodu w języku C, który wykonuje konkretne akcje po zidentyfikowaniu symbolu. Alternatywną wersją programu jest flex, który również cieszy się dużą popularnością.

Struktura pliku lex

Program analizujący generowany jest z pliku zawierającego wzorce oraz fragmenty kodu w języku C. Plik ten, zazwyczaj z rozszerzeniem .l, składa się z trzech sekcji oddzielonych znakami %%:

  • Sekcja definicji
  • Sekcja reguł
  • Sekcja z kodem w języku C

Wynik działania programu

Domyślnym wynikiem działania programu lex, przy braku opcji -t, jest plik tekstowy o nazwie lex.yy.c. Zawiera on kod źródłowy wygenerowanego leksera. Po skompilowaniu tego pliku i połączeniu z biblioteką lex, powstaje program analizujący.

Lex i Yacc

Wynik działania programu lex często jest przekazywany do analizatorów składniowych, które sprawdzają zgodność strumienia wejściowego z regułami gramatycznymi. Najpopularniejszym połączeniem jest tandem programów lex i yacc, powszechnie stosowanych w systemach uniksowych.

Najnowsze aktualności: