Skip to main content

Co je to lexikální analýza?

Lexikální analýza je proces užívání řetězce znaků mdash;nebo jednodušeji text mdash;a přeměňování na smysluplné skupiny zvané tokeny.Tato metodika má použití v celé řadě aplikací, od interpretace počítačových jazyků po analýzu knih.Lexikální analýza není synonymem pro analýzu;Spíše se jedná o první krok z celkového procesu analýzy a vytváří surovinu pro pozdější použití.

Stavební kameny žetonů, také nazývané lexémy, lze generovat mnoha způsoby, v závislosti na gramatice potřebné pro lexikální analýzu.Společným příkladem je rozdělení vět slovy;To se často provádí rozdělením vět kolem prostorů.Každá kontinuální řetězec znaků generovaných bez mezer je Lexeme.Textové řetězce lze rozdělit na jeden nebo mnoho typů znaků a vytvářet více verzí lexémů s různou složitostí.Tokeny jsou generovány po vyhodnocení každého Lexeme a spáru s jeho odpovídající hodnotou;Podle definice se tokeny týkají tohoto párování, nejen na Lexeme.Jeho účelem je pouze generovat stavební bloky pro další studium, nikoli zjistit, zda jsou tyto kusy platné nebo neplatné.V případě interpretace počítačového jazyka se ověření provádí analýzou syntaxe a ověření textu lze provést z hlediska kontextu nebo obsahu.Pokud je vstupní řetězec zcela rozdělen do příslušných lexémů a každý z těchto lexémů má vhodnou hodnotu, je analýza považována za úspěšnou..Lexikální gramatika může mít hodnoty chyb přiřazených ke specifickým lexémům a taková analýza může také detekovat nelegální nebo malformované žetony.Přestože nalezení nelegálního nebo malformovaného tokenu signalizuje neplatný vstup, nemá žádný vliv na to, zda jsou ostatní žetony platné, a proto to není přísně typ validace.

Ačkoli lexikální analýza je nedílnou součástí mnoha algoritmů, musí točasto se používají ve spojení s jinými metodikami k vytvoření smysluplných výsledků.Například rozdělení textového řetězce do slov pro stanovení frekvencí využívá tvorbu Lexeme, ale samotné tvorba Lexeme nemůže sledovat, kolikrát se ve vstupu objeví konkrétní Lexeme.Lexikální analýza může být užitečná sama o sobě, pokud si jsou samotné lexémy, ale velká část vstupu by mohla ztěžovat analýzu surových lexémů kvůli objemu dat