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


Download 1.45 Mb.
bet25/60
Sana18.03.2023
Hajmi1.45 Mb.
#1282705
1   ...   21   22   23   24   25   26   27   28   ...   60
Bog'liq
ТДТ(Маъруза 2011) охирги

Конструкция – маънога эга булган лексемаларниг кандайдир кетма-кетлигидир.
Бу булак констукцияларни ажратиш ва тугрилигини аниклашни бажаради (лексемларни кетма-кетлиги ва мажбурий ва мажбурий булмаган тушунчаларни борлигини). Бу булак мос ёзувлар килинадиган хатоликларни топади. Хатоликларни топилгандан сунг иш ёки давом эттирилади, ёки тухтатилади.
Синтаксик анализатор ишининг кириш маълумотлари булиб лексем кодлари жадвали хисобланади.
Кейинги булак – семантик анализатор. Конструкцияларнинг тугрилиги урнатилгандан сунг, семантик анализатор ишга туширилади. Бу ерда конструкция маъносининг интерпретациясини текширилади. Купинча синтаксис тугри булган конструкция семантика нуктаи назаридан нотугри булиши хам мумкин. Масалан:
Var
a: integer;
Const
N:=2;
Begin
N:=a;
Семантика нуктаи назаридан нотугри, чунки константага киймат узлаштириш мумкин эмас.
Семантик анализатор хар бир синтаксис конструкция учун кандайдир кийматни мос куяди, улар эса куйидаги формалардан бири булиши мумкин:

Купинча оралик формадан фойдаланилади:
1) Тетрад формаси. Бу ерда хар бир операторга тетрада мос куйилади. Тетрада куйидаги куринишга эга: Т1,Т2,Т3,Т4
Т1 – амал
Т2,3 – операндлар
Т4 – натижа
Масалан: А:=В + С*Д; *,С,Д,Т1 +,В,Т1,Т2 :=,Т2, ,А
Бу ерда Т1,Т2 – оралик узгарувчилар.
2) Польяк ёзуви:
А:=В + С*Д  СД*В + А=
Семантик анализатор иши билан тахлил фазаси тугайди.
2. Синтез фазаси дастур узгарувчилари буйича хотирани таркатишдан бошланади.
Бу ерда белгили исмлар жадвали каралади, ва хар бир исм учун хотира ажратилади, яъни бошлангич манзил ва соха улчови белгиланади. Шундай килиб шу йул билан оралик узгарувчиларга хотира ажратилади.
Хотиранинг бундай ажратилиши хотиранинг статик ажратилиши деб аталади.
Статик узгарувчилардан ташкари динамик узгарувчилар хам мавжуд. Уларга хотира куйидаги куринишда ажратилади: тескари кодга дастурнинг бажарилиш жараёнида бажариладиган коднинг франментлари куйилади. Натижада хотирани таксимлаш жадвали ташкил этилади.
Иккинчи дастур – машина командалари генерациясидир. Ушбу боскичда дастурни ички ифодалашлардан машина кодларига утказиш амалга оширилади. Киритилувчи берилганлар сифатида амалларни кодлари жадвалидан (хар бир процессор учун узиники) фойдаланилади. Оралик амалларнинг хар бир тури учун бир ёки бир неча машина командалари тузилади. Бу машина командаларига операндларнинг кийматлари ёки манзиллари куйилади ва тулдирилган майдонли машина кодлари олинади.
Кейинги боскич – кодни оптималлаш. Купинча бу жараён икки йуналишда амалга оширилади:

  • Дастур хажмининг кискариши

  • Ишнинг тезлаштирилиши

Икки хил услуб мавжуд:

Бу схема ишида синтаксис ва семантик тахлил аник булинади. Бундай иш схемаси кенг фойдаланувчилар оммасига мулжалланган ва синтаксис усуллардан фойдаланадиган компиляторларни куришни англатади.
Бу схемадан ташкари компиляциянинг тугри усуллари хам кулланилади, уларда семантика ва синтаксис тахлили аник ажратилмайди ва 1 кирувчи тилга мулжалланган.
Синтаксис усуллар умумий хисобланади ва кенг кулланилади. Синтаксис усуллар формал тиллар назариясига ва формал граматикага асосланиб курилган.

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   60




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