Co je to lexikální analýza?
Lexical Analysis je proces užívání řetězce znaků - nebo jednodušší text - a přeměny na smysluplné skupiny nazývané 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, mohou být generovány 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; podleDefinice, tokeny odkazují na toto párování, nejen 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.
Bez kontextu nebo schopnosti provádět ověření nelze lexikální analýzu spolehlivě použít k nalezení chyb ve vstupu. 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 podepisujeAL neplatný vstup, nemá žádný vliv na to, zda jsou ostatní tokeny platné, a proto se nejedná o přísně typ ověření.
Ačkoli lexikální analýza je nedílnou součástí mnoha algoritmů, musí být často používána 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é tvorby 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 jsou samotné lexémy, ale velké množství vstupu by mohlo znesnadnit analýzu surových lexémů kvůli objemu dat.