Kichanganuzi cha kileksika hufanyaje kazi?
Kichanganuzi cha kileksika hufanyaje kazi?

Video: Kichanganuzi cha kileksika hufanyaje kazi?

Video: Kichanganuzi cha kileksika hufanyaje kazi?
Video: KUFIKA SALAMA AU KUFANIKISHA MAMBO MAKUBWA KUNATEGEMEA NJIA Hakutegemei uzuri wa wahali/mazingira 2024, Aprili
Anonim

Uchambuzi wa kileksia ni awamu ya kwanza ya mkusanyaji. The kichanganuzi cha kileksika hugawanya sintaksia hizi kuwa mfululizo wa tokeni, kwa kuondoa nafasi nyeupe au maoni katika msimbo wa chanzo. Ikiwa kichanganuzi cha kileksika hupata ishara batili, hutoa hitilafu. The mchanganuzi wa leksimu hufanya kazi kwa karibu na sintaksia analyzer.

Sambamba na hilo, kichanganuzi cha kileksika hufanya nini?

Leksa, pia huitwa kichanganuzi cha lexical au tokenizer, ni programu inayovunja pembejeo msimbo wa chanzo katika mfuatano wa leksemu. Inasoma pembejeo msimbo wa chanzo kwa herufi, inatambua leksemu na kutoa mlolongo wa tokeni zinazoelezea leksemu.

Vile vile, kuna tofauti gani kati ya uchanganuzi wa kileksia na kisintaksia? Kuu tofauti kati ya uchanganuzi wa kileksika na uchambuzi wa sintaksia ni kwamba uchambuzi wa kileksika husoma msimbo wa chanzo herufi moja kwa wakati mmoja na kuibadilisha kuwa leksemu zenye maana (ishara) ilhali uchambuzi wa sintaksia huchukua ishara hizo na kutoa mti wa kuchanganua kama pato.

Baadaye, swali ni, ni nini matokeo ya kichanganuzi cha leksimu?

(I) The pato ya a kichanganuzi cha kileksika ni ishara. (II) Jumla ya idadi ya tokeni katika printf("i=%d, &i=%x", i, &i); ni 10. (III) Jedwali la alama linaweza kutekelezwa kwa kutumia safu, jedwali la hashi, mti na orodha zilizounganishwa.

Je, Lexer inafanya kazi gani?

The lexer hugeuza tu kamba isiyo na maana kuwa orodha bapa ya vitu kama "nambari halisi", "kamba halisi", "kitambulisho", au "kiendeshaji", na inaweza fanya mambo kama vile kutambua vitambulishi vilivyohifadhiwa ("maneno muhimu") na kutupa nafasi nyeupe. Rasmi, a lexer inatambua seti fulani ya lugha za Kawaida.

Ilipendekeza: