Wat is Lexical Analysis?

Lexicale analyse is het proces van het nemen van een reeks tekens - of, eenvoudiger, tekst - en het omzetten in betekenisvolle groepen die tokens worden genoemd. Deze methode wordt gebruikt in een breed scala aan toepassingen, van het interpreteren van computertalen tot de analyse van boeken. Lexicale analyse is niet synoniem met parseren; het is eerder de eerste stap van het totale parseerproces en het creëert grondstof voor later gebruik.

De bouwstenen van tokens, ook wel lexemes genoemd, kunnen op vele manieren worden gegenereerd, afhankelijk van de grammatica die nodig is voor lexicale analyse. Een bekend voorbeeld hiervan is het splitsen van zinnen op woorden; dit wordt vaak gedaan door zinnen over ruimtes te splitsen. Elke doorlopende reeks tekens die zonder spaties wordt gegenereerd, is een lexeme. Tekststrings kunnen worden opgesplitst in een of meerdere soorten tekens, waardoor meerdere versies van lexemes met verschillende complexiteit worden gecreëerd. Tokens worden gegenereerd nadat elk lexeme is geëvalueerd en gekoppeld met de bijbehorende waarde; per definitie verwijzen tokens naar deze koppeling, niet alleen naar het lexeme.

Lexicale analyse, enigszins contra-intuïtief, verwijdert een tekststring van zijn context. Het doel is alleen om bouwstenen te genereren voor verder onderzoek, niet om te bepalen of die stukken geldig of ongeldig zijn. In het geval van computertaalinterpretatie gebeurt validatie door syntaxisanalyse en kan validatie van tekst worden uitgevoerd in termen van context of inhoud. Als een invoertekenreeks volledig is verdeeld in geschikte lexemen en elk van die lexemen een geschikte waarde heeft, wordt de analyse als succesvol beschouwd.

Zonder context of de mogelijkheid om validatie uit te voeren, kan lexicale analyse niet betrouwbaar worden gebruikt om fouten in de invoer te vinden. Aan een lexicale grammatica kunnen foutwaarden zijn toegewezen aan specifieke lexemes, en een dergelijke analyse kan ook illegale of misvormde tokens detecteren. Hoewel het vinden van een illegaal of misvormd token een ongeldige invoer aangeeft, heeft dit geen invloed op de geldigheid van de andere tokens en is het dus niet strikt een soort validatie.

Hoewel lexicale analyse een integraal onderdeel van veel algoritmen is, moet deze vaak in combinatie met andere methoden worden gebruikt om betekenisvolle resultaten te creëren. Als u bijvoorbeeld een tekstreeks opsplitst in woorden om frequenties te bepalen, wordt lexeme-creatie gebruikt, maar lexeme-creatie alleen kan het aantal keren dat een bepaalde lexeme in invoer verschijnt niet volgen. Lexicale analyse kan op zichzelf nuttig zijn als de lexemen zelf opmerkelijk zijn, maar grote hoeveelheden invoer kunnen analyse van onbewerkte lexemen bemoeilijken vanwege de hoeveelheid gegevens.

ANDERE TALEN

heeft dit artikel jou geholpen? bedankt voor de feedback bedankt voor de feedback

Hoe kunnen we helpen? Hoe kunnen we helpen?