Tayanch iboralar: Sxema, analiz va sintez , leksika, sintaksis, semantika, gen- eratsiya, optimallashtirish, xatolar turi.
Ma’ruza bayoni.
Boshlang’ich (kirish) tilida yozilgan programmani mashina tiliga tarjima qi- lish masalasi oddiy masala emas. Bu masala ketma-ket, bosqichlar bilan bajariladi. Tarjima qilish jarayoni quyudagi umumiy sxema yordamida tasvirlanadi.
-
Kontekst tahlil
Generatsiya
Rasm . Translyasiya sxemasi.
Birinchi va ikkinchi bosqichlarni bajarishdan keyin boshlang’ich program- madan abstrakt programmani hosil qilamiz. Sxemadan ma’lumki tarjima jarayoni asosan ichki (analiz va sintez) bosqichlardan iborat. Birinchi bosqichda abstrakt
programma va ikkinchi bosqichda unga ekvivalent bo’lgan natijaviy programma hosil bo’ladi.
Leksik analiz jarayonida translyatr kirish satrini litera bo’yicha o’qib leksemalarni hosil qiladi. Leksemalar jadvalda saqlanadi. Har bir leksema deskriptorga ega bo’lib, deskriptor leksema turi va saqlash joyini belgilaydi. Sintaksis tahlil natijasida leksemani til sintaksisiga jabob berish yoki ber- masligi aniqlanadi. Masalan ,a+b*c ifodasi tahlildan keyin (a+(b*c)) ko’rinishda keltiriladi. Buning natijasida programmaning ma’nosi yaqqol ko’rsatiladi. Tahliln- ing bu bosqichi natijasi programmani tahlil daraxtidir. Daraxt konstruksiya va leksemalarni o’z ichiga oladi. Keying bosqichda esa bu daraxt maxsus algoritmlar
bilan aylanib o’tiladi va natijaviy programma satri hosil bo’ladi.
Generatsiya bosqichida natijaviy programma satrlar to’plami ko’rinishida hosil qilinadi.
Masalan x:=b+(c-d)*(e+f) operatori berilgan bo’lsin. Bu operatorni generatsiya qilingandan keyin quyidagi matn hosil bo’ladi.
t1:=c-d ; t2:=e+f ; t3:=t1*t2 ; t4:=b+t3 ; x:=t4; yoki shartli operator
agar x>y u holda a:=1 aks holda b:=2; generatsiyadan keyin quyudagi ko’rinishni oladi
p:=x>y;
agar p uholda o’ting M1;
Do'stlaringiz bilan baham: |