Analiza leksykalna
From Wikipedia, the free encyclopedia
Analiza leksykalna – w informatyce proces rozdzielania programów źródłowych na jednostki logiczne (zwane leksemami) złożone z jednego lub więcej znaków, które łącznie mają jakieś znaczenie[1]. Przykładami leksemów mogą być słowa kluczowe (np. while), identyfikator lub liczba składająca się z cyfr. Rozdzielaniem programu źródłowego, na leksemy, zajmuje się lekser. Zazwyczaj lekser działa w parze z parserem, z którym wspólnie analizują składnię języków programowania, na przykład w kompilatorach, ale również w parserach HTML występujących w przeglądarkach internetowych.
Ściślej rzecz biorąc, lekser jest też rodzajem parsera. Składnia wielu języków programowania dzieli się na dwie części: składnię leksykalną (wewnętrzną konstrukcję tokenu), która jest przetwarzana przez lekser i składnię gramatyczną, która jest przetwarzana przez parser. Składnia leksykalna jest zazwyczaj wyrażeniem regularnym którego alfabet składa się z pojedynczych znaków kodu źródłowego. Składnia gramatyczna to zazwyczaj bezkontekstowy język, którego alfabet składa się z tokenów produkowanych przez lekser. Zwyczajowo analiza tekstu przebiega w wymienionych wyżej dwóch fazach, jednak lekser może być połączony z parserem w przetwarzaniu jednoprzebiegowym.