Компиляция босқичлари. Компилятор тузилиши


Расм 1. Лексик таҳлилчининг ишлаш тартиби


Download 215 Kb.
bet2/3
Sana16.06.2023
Hajmi215 Kb.
#1496411
1   2   3
Bog'liq
kompilyatorlar

Расм 1. Лексик таҳлилчининг ишлаш тартиби.
Синтаксис таҳлили. Синтаксис таҳлили учун бошланғич маълумот лексеммалар рўйхати бўлиб ҳисобланади. Синтаксис таҳлили давомида компилятор қиладиган иш – лексеммалар рўйхати асосида тилнинг тўғри синтаксис конструкцияси, масалан бирор оператор, ифода, таърифлаш конструкцияси ва ҳакозолар тўғри қурилганлигини текширишдан иборат. Масалан қуйидаги лексеммалар кетма-кетлигини кўриб чиқайлик:
for i:=1 do 5 to end begin;
Лексик таҳлилчи ушбу занжирда ҳеч қандай хатоликни пайқамайди, чунки барча лексемалар Pascal тили қоидалари мос, ёки Pascal тилидаги калит сўзлар ҳисобланади. Операторнинг нотўғри ёзилганлиги синтаксис таҳлили пайтида аниқ бўлади. Эслатиб ўтамиз юқоридаги занжирнинг тўғри кўриниши
for i:=1 to 5 do begin end;
шаклида бўлиши керак. Албатта синтаксис таҳлил пайтида ҳам учраган хатоликлар юқорида айтилган тарзда қайта ишланади.
Семантик таҳлил. Семантик таҳлил давомида бошланғич тилнинг семантик қоидалари кўра дастурнинг тўғрилиги текширилади. Одатда бундай қоидалар синтаксис қоидалари аниқловчи формал грамматика орқали ифодаланмайди2. Масалан семантик қоидалар қаторига идентификаторларни ишлатишдан олдин эълон қилинганлиги, арифметик ифодада, қиймат беришда, функция ёки процедура чақирувида аргументларнинг формал параметрларга тип ва сон жиҳатдан мослиги, шартсиз ўтиш операторларнинг тўғри қўлланилганлиги3 текширилади. Семантик таҳлил қисман синтаксис таҳлил фазасида, қисман код генерациясига тайёргарлик фазасида амалга оширилади. Биз семантик таҳлилни код генерацияси билан боғлиқ ҳолда ўрганамиз.
Дастурнинг ички (оралиқ) кўриниши. Дастурнинг ички кўриниши – бу таҳлилнинг турли босқичлари натижасида ҳосил қилинган бир қанча маълумотлар тузилмаси бўлиб, унинг асосини у ёки бу кўринишда қурилган синтаксис таҳлили дарахти ташкил этади. Ушбу дарахт ва идентификаторлар жадвали асосида сўнгра семантик таҳлил, код генерациясига тайёргарлик ва бевосита код генерацияси бажаралади.

Download 215 Kb.

Do'stlaringiz bilan baham:
1   2   3




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