Ўзбекистон республикаси алоқА, ахборотлаштириш ва телекоммуникация технологиялари давлат қЎмитаси тошкент ахборот технологиялари университети


Download 1.45 Mb.
bet48/60
Sana18.03.2023
Hajmi1.45 Mb.
#1282705
1   ...   44   45   46   47   48   49   50   51   ...   60
Bog'liq
ТДТ(Маъруза 2011) охирги

2. Белгилар жадвали билан ишлаш.
Синтаксис тахлилчи купинча контекст-озод грамматикадан фойдаланганлиги сабабли, тилнинг контекст-озод булакларини аниклаш усулини топишимиз керак. Масалан, купгина тилларда идентификаторлардан уларни ифодаламагунча фойдаланиб булмайди, худди шундай яна дастурда турли тоифадаги кийматлардан фойдаланишга хам чегаралар мавжуд. Ифодаланган идентификаторларни ва уларнинг турларини саклаб туриш учун купгина компиляторларда белгилар жадвалидан фойдаланилади.
Идентификатор ифодаланаётганда, масалан int a; а ни аникловчи амалга оширилиши деб аталади. Лекин, а бошка контекстда хам учраши мумкин: а=4 ёки а+в ёки read(a) бу ерда а нинг амалий амалга оширилиши назарга тутилаяпти.
Идентификаторни аникловчи амалга оширилишида компилятор объектни белгилар жадвалига жойлайди. Амалга оширилувчи холда эса белгилар жадвалида мос аникловчи объектни элементини, компиляция вактида талаб килинган уни турини ва бошка белгиларини билиш учун, кидирилади.
Купгина дастурлаш тилларида бита идентификатордан дастурнинг турли булакларида турли объектларни ифодалаш учун фойдаланилади. Бундай холларда дастурнинг структураси ушбу объектларни фарклашга ёрдам беради, масалан
{
int a;
…..
}
…..
{
char a;
…..
}
Ушбу холда а иккита турли блокда иккита турли объектни ифодалайди. Белгилар жадвали битта идентификатордан икки марта фойдаланишда идентификаторларни фарклаш учун худди дастурдаги блокли структурага эга булиши керак.
Купгина замонавий юкори даража тиллари куйидаги хусусиятларга эга булиши керак:
Идентификаторни аникловчи амалга оширилиши амалга оширилишидан кура матнда вактлирок пайдо булиши керак.
Идентификаторни амалий ишлатилишида мос келувчи аникловчи амалга оширилиш ушбу идентификаторни ифодалаш сакланган блокда жойлашади.
Битта блокда идентификатор бир мартадан ортик ифодаланиши мумкин эмас.
Компиляторнинг белгилар жадвалида идентификатор хакидаги, компиляция жараёнида керак буладиган, бошка маълумотлар хам сакланиши мумкин. Масалан, идентификаторнинг манзили, ёки костантанинг киймати.
Дастур ичида белгилар жадвалининг амалга оширилиши туплам ёки структура занжири куринишида булиши мумкин. Бу ерда хар бир элемент узидан кейинги, балки узидан олдинги элементга хам курсатади.

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   60




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling