Paano gumagana ang isang lexical analyzer?
Paano gumagana ang isang lexical analyzer?

Video: Paano gumagana ang isang lexical analyzer?

Video: Paano gumagana ang isang lexical analyzer?
Video: Compiler Design Bangla Tutorial 4 : Introduction to Lexical Analyzer (part-1) 2024, Mayo
Anonim

Ang pagsusuri sa leksikal ay ang unang yugto ng isang compiler. Ang lexical analyzer hinahati ang mga syntax na ito sa isang serye ng mga token, sa pamamagitan ng pag-alis ng anumang whitespace o komento sa source code. Kung ang lexical analyzer nakakakita ng isang token na hindi wasto, ito ay bumubuo ng isang error. Ang gumagana ang lexical analyzer malapit sa syntax analisador.

Kaugnay nito, ano ang ginagawa ng isang lexical analyzer?

Ang lexer, na tinatawag ding lexical analyzer o tokenizer, ay isang programa na sumisira sa input source code sa isang sequence ng lexemes. Binabasa nito ang input source code character sa pamamagitan ng character, kinikilala ang mga lexemes at naglalabas ng sequence ng mga token na naglalarawan sa mga lexemes.

Katulad nito, ano ang pagkakaiba sa pagitan ng lexical at syntax analyzer? Pangunahing pagkakaiba sa pagitan ng lexical analysis at pagsusuri ng syntax iyan ba leksikal na pagsusuri binabasa ang source code ng isang character sa isang pagkakataon at kino-convert ito sa mga makabuluhang lexemes (token) samantalang pagsusuri ng syntax kinukuha ang mga token na iyon at gumawa ng parse tree bilang isang output.

Kasunod nito, ang tanong ay, ano ang output ng lexical analyzer?

(I) Ang output ng a lexical analyzer ay mga token. (II) Kabuuang bilang ng mga token sa printf("i=%d, &i=%x", i, &i); ay 10. (III) Ang talahanayan ng simbolo ay maaaring isagawa sa pamamagitan ng paggamit ng array, hash table, puno at mga naka-link na listahan.

Paano gumagana ang isang Lexer?

Ang lexer ginagawa lang ang walang kahulugan na string sa isang patag na listahan ng mga bagay tulad ng "number literal", "string literal", "identifier", o "operator", at maaari gawin mga bagay tulad ng pagkilala sa mga nakareserbang identifier ("mga keyword") at pagtatapon ng whitespace. Pormal, a lexer kinikilala ang ilang hanay ng mga Regular na wika.

Inirerekumendang: