Hvad er leksikalsk analyse?
Lexical Analysis er processen med at tage en række karakterer - eller mere enkelt tekst - og konvertere den til meningsfulde grupper kaldet tokens. Denne metode har anvendelser i en lang række applikationer, fra at fortolke computersprog til analyse af bøger. Leksikalsk analyse er ikke synonym med parsing; Det er snarere det første trin i den samlede parsing -proces, og det skaber råmateriale til senere brug.
byggestenene i tokens, også kaldet lexemes, kan genereres på mange måder, afhængigt af den grammatik, der kræves til leksikale analyse. Et almindeligt eksempel på dette er splittende sætninger ved ord; Dette gøres ofte ved at opdele sætninger omkring rum. Hver kontinuerlig streng af tegn genereret uden rum er et lexeme. Tekststrenge kan opdeles på en eller mange typer karakterer, hvilket skaber flere versioner af lexemes med varierende kompleksitet. Tokens genereres, efter at hvert lexeme er blevet evalueret og parret med dens tilsvarende værdi; vedDefinition, tokens henviser til denne parring, ikke kun lexeme.
leksikal analyse, noget modintuitivt, striber en tekststreng i dens kontekst. Dets formål er kun at generere byggesten til videre undersøgelse, ikke at afgøre, om disse stykker er gyldige eller ugyldige. I tilfælde af computersprogstolkning udføres validering ved syntaksanalyse, og validering af tekst kan udføres med hensyn til kontekst eller indhold. Hvis en inputstreng er fuldstændigt opdelt i passende lexemes, og hver af disse lexemes har en passende værdi, anses analysen som succes.
Uden kontekst eller evnen til at udføre validering kan leksikalsk analyse ikke bruges pålideligt til at finde fejl i input. En leksikalsk grammatik kan have fejlværdier, der er tildelt specifikke lexemer, og en sådan analyse kan også registrere ulovlige eller misdannede tokens. Selvom det at finde et ulovligt eller misdannet token underskriverAl ugyldig input, det har ingen betydning for, om de andre tokens er gyldige, og det er derfor ikke strengt en type validering.
Selvom leksikalsk analyse er en integreret del af mange algoritmer, skal den ofte bruges i forbindelse med andre metoder til at skabe meningsfulde resultater. For eksempel gør det at opdele en tekststreng i ord for at bestemme frekvenser, der bruger lexeme -skabelse, men skabelse af Lexeme alene kan ikke overvåge antallet af gange, et bestemt lexeme vises i input. Lexical analyse kan være nyttig på egen hånd, hvis selve lexemerne er til at bemærke, men store mængder input kan muligvis gøre analyse af rå lexemer vanskelige på grund af datavolumen.