Vad är lexikal analys?
lexikal analys är processen att ta en rad tecken - eller, enklare, text - och konvertera den 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 parsingprocessen, 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å grammatik 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 dess motsvarande värde; avDefinition, tokens hänvisar till denna parning, inte bara lexemet.
lexikal analys, något motintuitivt, tar bort 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 lexemes 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 pålitligt för att hitta fel i ingången. En lexikalisk grammatik kan ha felvärden tilldelade specifika lexemes, och sådan analys kan också upptäcka olagliga eller missbildade tokens. Även om det är skylt att hitta ett olagligt eller missbildat tokenAl ogiltig inmatning, det har ingen betydelse för om de andra tokenserna är giltiga, och därför är det inte strikt en typ av validering.
Även om lexikal analys är en integrerad del av många algoritmer, måste den ofta användas 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 not, men stora mängder ingång kan göra analys av råa lexemes svåra på grund av volymen av data.