Lexikalanalys: Datorprocess som tolkar en sträng av tecken och ger en sträng av lexikalska enheter

Lexikalanalys är inom datalogi den process som består i att en serie tecken tolkas och omvandlas till lexikala element, eller s.k.

tokens, såsom enskilda ord eller delar av ord. Tokenisering är processen att bryta ned en textsträng till dessa enskilda tokens. Lexikalanalys innebär att indata omvandlas till exempelvis reserverade ord, konstanter, operatorer och parameterar.

Exempel

Indata till en Google-sökning (alltså det användaren skriver i sökrutan) kan se ut så här:

bison OR oxe 

Den funktion som utför själva sökningen måste på något sätt få veta att användaren vill hitta alla sidor som innehåller antingen ordet "bison" eller ordet "oxe" eller båda. Lexikalanalysen är det steg i parsningen av sökuttrycket som identifierar "bison" och "oxe" som de ord som användaren vill söka efter, och "OR" som den operator som innebär att användaren är intresserad av att söka både efter sidor som innehåller "bison" och sidor som innehåller "oxe". I exemplet ovan är "bison" och "oxe" konstanter, och "OR" är ett reserverat ord. Lexikalanalysen innebär att detta sökuttryck skiljs från till exempel bison or oxe eller "bison OR oxe".

Däremot kan syntaktiska fel inte identifieras under analysen. Ansvaret för syntaktisk analys ankommer på den komponent som tar emot de lexikala element som lexikalanalysen genererar. Ett uttryck i programspråket C som

int hej(int "text" int) {  printf void "mera text" if; }; 

kan tolkas korrekt under lexikalanalysen, men är syntaktiskt felaktigt. Den komponent som kontrollerar ett uttrycks syntaktiska eller grammatiska korrekthet kallas en "parser".

Ett vanligt sätt att skapa den komponent som hanterar lexikalanalysen är att använda program som lex eller flex. Ett exempel på ett Java-baserat lexikaliseringsprogram är JFlex. Två exempel på datorprogram som genererar programkod för en parser är yacc och bison.

Externa länkar

Tags:

DatalogiKonstantOperatorParameter

🔥 Trending searches on Wiki Svenska:

Sabrina CarpenterYlva HällenDaniel ZaarThe BayAnni-Frid LyngstadLista över italienska seriesegrare i fotbollAfrikaTempo (musik)RingduvaFinlandKarin BoyeSofia RågenklintTed GärdestadGävleNeymarSmålandAmerikanska urfolkPär LagerkvistRobert WalserBiljonVänsterpartietTchadStörre än-teckenSveriges statsministerMelanie ChisholmMartin WallströmTaroKarl IXLista över namn på bröllopsdagarPetalitAntikenEurovision Song Contest 2024Hristo StoitjkovOscar IIGustav II AdolfBenjamin IngrossoKalmarJamaicaTurning TorsoModeraternaJuventus FCVietnamÖstersjönLars TrägårdhAnna Kinberg BatraNederländernaJonas BjelfvenstamThe BeatlesDavid BowieThiago MottaSydafrikaClint EastwoodFasanMarkoolioLista över ishallar i Sverige efter publikkapacitetEuropeiska unionenPersonnummer i SverigeJosé MourinhoNKCarl von LinnéMeänkieliIF ElfsborgNiklas RådströmMichail GorbatjovZeusDen gamle sjöbjörnenPehr G. GyllenhammarLista över Sveriges regenterHallonMikael PersbrandtNoomi RapaceMGM-140 ATACMSEuropamästerskapet i fotboll 2024Lista över musiktermerBörje AhlstedtDerby di MilanoSovjetunionen🡆 More