Kako deluje leksikalni analizator?
Kako deluje leksikalni analizator?

Video: Kako deluje leksikalni analizator?

Video: Kako deluje leksikalni analizator?
Video: Architecture Kata #1 - Разбор с экспертом [Как работает настоящий Solution Architect] #ityoutubersru 2024, November
Anonim

Leksikalna analiza je prva faza prevajalnika. The leksikalni analizator razbije te sintakse v niz žetonov, tako da odstrani presledke ali komentarje v izvorni kodi. Če leksikalni analizator ugotovi, da je žeton neveljaven, ustvari napako. The leksikalni analizator deluje tesno s sintakso analizator.

Kaj torej dela leksikalni analizator?

Lekser, imenovan tudi leksikalni analizator ali tokenizer, je program, ki razčleni vnos izvorno kodo v zaporedje leksemov. Bere se vnos izvorna koda znak za znakom, prepozna lekseme in izpiše zaporedje žetonov, ki opisujejo lekseme.

Podobno, kakšna je razlika med leksikalnim in sintaksnim analizatorjem? Glavni razlika med leksikalno analizo in analiza sintakse je to leksikalna analiza bere izvorno kodo en znak naenkrat in jo pretvarja v smiselne lekseme (žetone), medtem ko analiza sintakse vzame te žetone in ustvari drevo razčlenitve kot izhod.

Kasneje se postavlja vprašanje, kakšen je rezultat leksikalnega analizatorja?

(I) izhod od a leksikalni analizator je žetoni. (II) Skupno število žetonov v printf("i=%d, &i=%x", i, &i); je 10. (III) Tabela simbolov je lahko implementirana z uporabo matrike, razpršene tabele, drevesa in povezanih seznamov.

Kako deluje Lexer?

The lexer samo spremeni nesmiselni niz v pavšalni seznam stvari, kot so "številski literal", "dobesednik niza", "identifikator" ali "operater" in lahko narediti stvari, kot je prepoznavanje rezerviranih identifikatorjev ("ključnih besed") in zavračanje presledkov. Formalno, a lexer prepozna nekaj navadnih jezikov.

Priporočena: