Тз на разработку интернет-магазина рк



Download 44,33 Kb.
bet1/2
Sana12.07.2022
Hajmi44,33 Kb.
#781150
  1   2
Bog'liq
3-Amaliy ish


O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
3-Amaliy ish

Guruh: DIF 311-18


Bajardi: Masharipov Shohruh

TOSHKENT – 2022

3- амалий иш.

Мавзу: Дастурни объект кодини генерациялаш ва оптималлаш.

Ишдан максад: Ушбу амалий ишда синтаксис разбор дарахти асосида дастурнинг объект кодини ташкил этувчи ва сунгра уни оптималлаштирувчи дастурни ёзиш талаб этилади. Кирувчи синтаксис разбор дарахти сифатида аввалги тажриба ишларида ташкил этилган дарахтдан фойдаланиш тавсия этилади.
Амалий ишнинг натижаси объект тилидаги берилган грамматика гаплари асосида курилган дастур булиши керак. Объект тили сифатида аник режимдаги Intel 80x86 туридаги процессорлар учун ассемблер тилидан фойдаланиш максадга мувофикдир.
Берилган дастурда иштирок этувчи барча, турларни узгартиришни талаб этмайдиган, идентификаторларни оддий скаляр узгарувчилар деб хисобланади.
Ушбу амалий ишни икки боскичда ишлаб чикиш мумкин – триадалар руйхатини куриш ва ассемблер кодини генерациялаш.
Назарий кисм :
Триадалар руйхатини куриш.

Триадалар руйхатини куришда, аввалги тажриба ишларида синтаксис тахлилчи томонидан курилган, чикиш дарахтини рекурсив утиши амалга оширилади. Бу холда куйидаги кушимча триадаларнинг турлари киритилади:


– Триада if (a,b), бу ерда a ва b операндлар албатта триадаларга курсаткич хисобланадилар. Ушбу триаданинг мазмуни куйидагичадир: агар a триаданинг мантикий ифода булган хисоблаш натижаси, нолга тенг булса, у холда b курсаткич буйичаутиш амалга оширилади. Акс холда руйхат буйича кейинги триадага кетма-кет утиш амалга оширилади.
– Триада jmp (1, a), бу ерда биринчи операнд маъновий юкламага эга эмас, иккинчи операнд эса триадага, кейинги боскичда шартсиз утишни амалга ошириши керак булган, курсаткични курсатади.
Кирувчи тилнинг семантик юкламага эга булмаган ифодалари янги триадаларни ташкил этмайдилар, лекин чикиш дарахтининг бундай тугунлари учун триадаларни куришни рекурсив чакириш функциялари амалга оширилади.
Колган ифодалар битта ёки бир нечта кетма-кет триадаларга бир кийматли айлантирилади.
Триадалар руйхатини куришни тугаши билан уни оптималлаш, яъни ортикча амалларни олиб ташлаш билан амалга оширилади. Бу холда яна бир кушимча триада туридан фойдаланилади – SAME (a, 0), бу ерда иккинчи операнд маънога эга эмас, биринчи операнд эса берилган ифодага узгартирилган триадага мос триадага курсатади.

class _ParserState {


_ParserState(this._text, {_Rule whitespace}) {
_end = this._text.length;
whitespaceRule = whitespace;
max_rule = [];
}

String _text;


int _end;


//
bool inWhitespaceMode = false;
_Rule whitespaceRule = null;


// Used for constructing an error message.
int inhibitExpectedTrackingDepth = 0;
int max_pos = 0;
var max_rule;
}


/**
* An interface tag for rules. If this tag is on a rule, then the description()
* of the rule is something sensible to put in a message.
*/
abstract class _Expectable {
String description();
}

class _Rule {


const _Rule();
// Returns null for a match failure or [pos, ast] for success.
match(_ParserState state, int pos) {
if (!state.inWhitespaceMode) {
pos = _skip_whitespace(state, pos);
}
return matchAfterWS(state, pos);
}


// Faster entry point for matching a sub-rule that is matched to the start
// position of the super-rule. Whitespace has already been skipped so no need
// to try to skip it again.
matchAfterWS(_ParserState state, int pos) {

Download 44,33 Kb.

Do'stlaringiz bilan baham:
  1   2




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish