Skip to main content

Vad är lexikal analys?

Lexikal analys är processen att ta en rad tecken mdash;eller, enklare, text mdash;och konvertera det till meningsfulla grupper som kallas tokens.Denna metod har använt i en mängd olika applikationer, från att tolka datorspråk till analys av böcker.Lexikal analys är inte synonymt med analys;Snarare är det det första steget i den totala analysprocessen, och det skapar råmaterial för senare användning.

Byggnadsblocken för tokens, även kallade lexemes, kan genereras på många sätt, beroende på grammatiken som krävs för lexikal analys.Ett vanligt exempel på detta är att dela meningar med ord;Detta görs ofta genom att dela meningar runt utrymmen.Varje kontinuerlig sträng av tecken som genereras utan utrymmen är ett lexem.Textsträngar kan delas på en eller många typer av tecken, vilket skapar flera versioner av lexemer med varierande komplexitet.Tokens genereras efter att varje lexem har utvärderats och parats med motsvarande värde;Per definition hänvisar tokens till denna parning, inte bara lexemet.

Lexikal analys, något motintuitivt, remsar en textsträng i dess sammanhang.Syftet är bara att generera byggstenar för ytterligare studier, inte för att avgöra om dessa bitar är giltiga eller ogiltiga.När det gäller tolkning av datorspråk görs validering genom syntaxanalys och validering av text kan göras i termer av sammanhang eller innehåll.Om en ingångssträng är helt uppdelad i lämpliga lexemer och var och en av dessa lexemes har ett lämpligt värde, anses analysen vara framgångsrik.

Utan sammanhang eller förmågan att utföra validering kan lexikal analys inte användas för att hitta fel i input.En lexikalisk grammatik kan ha felvärden tilldelade specifika lexemer, och sådan analys kan också upptäcka olagliga eller missbildade tokens.Även om att hitta ett olagligt eller missbildat token signalerar ogiltig inmatning, har den ingen inverkan på om de andra tokenserna är giltiga, och det är därför inte strikt en typ av validering.

Även om lexikal analys är en integrerad del av många algoritmer, måste den detanvänds ofta i samband med andra metoder för att skapa meningsfulla resultat.Till exempel, att dela en textsträng i ord för att bestämma frekvenser använder sig av lexeme skapande, men skapandet av lexeme ensam kan inte övervaka antalet gånger en viss lexeme visas i ingången.Lexikal analys kan vara användbar på egen hand om lexemorna själva är av noterade, men stora mängder ingång kan göra analys av råa lexemes svåra på grund av volymen av data.