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


Кирувчи кетма-кетликни кандайдир кисмини ўтказиб юбориш керак


Download 1.45 Mb.
bet53/60
Sana18.03.2023
Hajmi1.45 Mb.
#1282705
1   ...   49   50   51   52   53   54   55   56   ...   60
Bog'liq
ТДТ(Маъруза 2011) охирги

2.Кирувчи кетма-кетликни кандайдир кисмини ўтказиб юбориш керак.
Иккинчи йуналиш буйича куйидагича курсатмалар бериш мумкин.
Оддий структурали тил холида тиклаш жараёни анчагина енгиллашади. Агар хатолик юз берган холда кирувчи кетма-кетликнинг баъзи кисмини утказиб юборилса, у холда тил албатта нотугри ишлатилиш имконияти кам булган ва грамматик разборда тиклаш учун фойдаланиш мумкин булган калит сузлар (хизматчи сузлар)дан иборат булиши керак.
Грамматик разбор дастурини куриш буйича:
Нотугри конструкция учраган вактда процедура кирувчи матнни качонки коида буйича тилнинг конструкциясидан кейин келадиган белги учрагунича утказиб юбориши керак. Бу хар бир грамматик разбор процедурасига уни активлаштириш вактида ташки белгилар туплами (каралаётган конструкциядан кейин келаувчи) аник булиши кераклигини англатади. Хар бир процедура охирида аник уйидаги текширив куйилади: кирувчи матннинг кейинги белгиси ушбу ташки белгилар орасида мавжудми? Хатоликни топганидан сунг процедура мустакил равишда хатолик хакида маълумот бериб ва ишни тухтатмасдан матнни каердан бошлаб тахлилни тиклаш керак булган жойигача караб, чикиши керак. Шундай килиб, грамматик разборнинг процедурасидан тугри тугатилишдан бошка халокатли чикиш йуллари булмаганлиги максадга мувофикдир.
3.Матнни тиклашга уриниш ва мумкин бўлмаган холларда кетма-кетликни баъзи бўлакларини ўтказиб юбориш керак.
Дастур матнидаги катта булакларни кейинги ташки белгиларгача ташлаб кетиш яхши натижаларга олиб келмаслиги мумкин. Шунинг учун белгилар тупламига конструкцияни бошланишини белгиловчи ва ташлаб кетиш мумкин булмаган хизматчи сузларни кушиб куйилади. Шу йул билан разбор процедурасига параметрлар сифатида оддий ташки белгилар эмас, балки тиклаш белгилари узатилади. Купинча тиклаш белгилари туплами бошидан бошлаб алохида хизматчи сузлардан ташкил топади ва грамматик разборнинг максадчалари иерархияси келиши давомида максадчаларнинг ташки белгилари билан аста-секин тулдириб борилади. Юкоридаги текширувни бажариш учун умумий функцияни киритамиз ва уни test деб атаймиз. Ушбу функция учта параметрдан иборат6
Мумкин булган кейинги белгилар туплами s1; агар жорий белги унга тегишли булмаса, у холда хатолик юз беради.
Кушимча тиклаш белгилари туплами s2; уларнинг пайдо булиши бу хатоликларни англатади, лекин уларнинг баъзиларини утказиб юбориб булмайди.
n раками хатоликка бериладиб, агар функция уни топса.

void test(char[ ] s1, char [ ] s2, int n)


{
If(!belongsTo(sym,s1)
{
error(n);
s1= unite (s1,s2);
while(!belongsTo(symsym = fgetc(input);
}
}
Бирон бир схема барча нотугри конструкцияларнинг барчаси учун кулланилиши бирдек фойдали булмаслиги мумкин. Ихтиёрий тиклаш схемаси хам баъзи бир хато конструкцияларни кайта ишлай олмаслиги мумкин. Лекин яхши транслятор куйидаги хусусиятларга эга булиши шарт:
- хеч кандай кирувчи кетма-кетлик халокатли холатларга олиб келмаслиги керак.
- тил коидалари буйича конуний булмаган барча конструкциялар топилиши ва белгиланиши шарт.
- дастурчининг хатолари тугри диагностика килишиши керак, ва трансляторнинг ишини хеч кандай оркага сурмаслиги шарт.
Биринчи иккита талаб сузсиз бажарилиши шарт, охирги хусусият эса бу истакдир, чунки амалиётда хар кандай холат булиши ва баъзи хатоликлардан тулик кочишнинг иложи булмай колиши хам мумкин.

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   49   50   51   52   53   54   55   56   ...   60




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