Lub lexical analyzer ua haujlwm li cas?
Lub lexical analyzer ua haujlwm li cas?

Video: Lub lexical analyzer ua haujlwm li cas?

Video: Lub lexical analyzer ua haujlwm li cas?
Video: Teknik Kompilasi (A) Lexical Analyzer 2024, Hlis ntuj nqeg
Anonim

Lexical tsom xam yog thawj theem ntawm lub compiler. Cov lexical analyzer rhuav tshem cov syntaxes mus rau hauv ib qho ntawm cov tokens, tshem tawm tej qhov chaw dawb lossis cov lus hauv qhov chaws. Yog tias lexical analyzer pom ib tug token invalid, nws generates ib qho yuam kev. Cov lexical analyzer ua haujlwm ze nrog cov syntax tus ntsuas.

Raws li txoj cai, tus lexical analyzer ua li cas?

Lub lexer, tseem hu ua lexical analyzer lossis tokenizer, yog ib qho kev pab cuam uas rhuav tshem cov nkag qhov chaws nyob rau hauv ib theem ntawm lexemes. Nws nyeem cov nkag lub cim code cim los ntawm tus cwj pwm, paub txog cov lexemes thiab tso tawm ib ntu ntawm cov tokens piav txog lexemes.

Ib yam li ntawd, qhov txawv ntawm lexical thiab syntax analyzer yog dab tsi? Lub ntsiab qhov sib txawv ntawm lexical tsom xam thiab kev tsom xam syntax yog tias lexical tsom xam nyeem qhov chaws code ib tug cim ntawm ib lub sij hawm thiab hloov nws mus rau hauv lub ntsiab lus lexemes (tokens) whereas kev tsom xam syntax siv cov tokens thiab tsim ib tsob ntoo parse raws li cov zis.

Tom qab, lo lus nug yog, dab tsi yog qhov tso zis ntawm lexical analyzer?

(I) Cov tso zis ntawm a lexical analyzer yog tokens. (II) Tag nrho cov tokens hauv printf("i=%d, &i=%x", i, &i); yog 10. (III) Cov lus cim tuaj yeem siv tau los ntawm kev siv array, hash table, tsob ntoo thiab cov npe txuas.

Lexer ua haujlwm li cas?

Cov lexer tsuas yog hloov txoj hlua tsis muaj ntsiab lus rau hauv daim ntawv teev cov khoom xws li "tus naj npawb literal", "string literal", "identifier", lossis "operator", thiab tuaj yeem ua tej yam xws li lees paub cov cim tshwj xeeb ("cov ntsiab lus") thiab pov tseg qhov chaw dawb. Raws li txoj cai, a lexer lees paub qee yam lus tsis tu ncua.

Pom zoo: