Modullar tuzilishi. Modullar quyidagi tuzilishga ega:
UNIT < nom >;
INTERFACE < interfeys bo‘limi >
IMPLEMENTATION < bajariluvchi qism >
[BEGIN < initsializatsiya qiluvchi qism >]
END.
Bu yerda UNIT–kalit so‘z ( inglizcha modul ) bo‘lib, modulning boshlanish qismini bildiradi;
< nom > - modul nomi (identifikator). Bu nom modul faylining diskdagi nomi bilan ustma-ust tushishi kerak.
INTERFACE - kalit so‘zi, modul interfeys qismining boshlanishini bildiradi.
IMPLEMENTATION–kalit so‘z ( bajarish ) ; bajariluvchi qism boshi.
BEGIN - initsializatsiya qismining boshlanishi (bu bo‘lim bo‘lishi shart emas).
END - modul oxiri belgisi.
Demak, modul - modul boshlanishi va ixtiyoriy bittasi bo‘sh bo‘lishi mumkin bo‘lgan tarkibiy qismlardan iborat ekan.
Yuqorida aytganimizdek modul nomi, shu modul matnini o‘z ichiga olgan disk fayl nomi bilan ustma-ust tushishi kerak. Misol uchun UNIT GLOBAL, bunga mos disk fayli GLOBAL. PAS.
Modul nomi shu modulni boshqa modullar va asosiy programma bilan bog‘lash uchun xizmat qiladi. Bu bog‘lanish maxsus ifoda bilan o‘rnatiladi:
USES ;
bu yerda USES-kalit so‘z(foydalanish), - bog‘lanuvchi modullar ro‘yxati.
Misol uchun,
USES CRT, GRAPH, GLOBAL;
Bu yerda modullarning ketma-ketligini ahamiyati bor, har xil modullarda bir turdagi va bir xil nomdagi obyektlar (o‘zgaruvchilar, protsedura va funksiyalar) aniqlangan bo‘lsa oxirgi moduldagi obyektlar amal qiladi.
Interfeys bo‘limi. Bu bo‘limda modulning global obyektlarining (turlar, konstantalar, o‘zgarmaslar, o‘zgaruvchilar, protseduralar va funksiyalar) e’lonlari bo‘ladi. Bu orqali shu moduldagi obyektlarni asosiy programma va boshqa modullar ishlatishi mumkin. Protsedura va funksiyalar e’lonida ularning sarlavhasigina yoziladi.
Masalan,
UNIT Cmplx;
INTERFACE
Type
Complex = Record
re, im : real end;
Procedure AddC (x,y : Complex; Var z : Complex);
Procedure MulC (x,y : Complex; Var z : Complex);
Agar asosiy programma (yoki boshqa modulda) USES Cmplx; ifodasini yozsak, programma uchun Complex turi va AddC va MulC protseduralarini ishlatish imkoniyati paydo bo‘ladi.
Modullarning INTERFACE bo‘limida e’lon qilingan har bir konstanta va o‘zgaruvchilar Turbo-Paskal kompilatori tomonidan asosiy programmaning ma’lumotlar segmentiga joylashtiriladi. Bunda ma’lumotlar segmentini chegaralangan ekanligini hisobga olish kerak.
Do'stlaringiz bilan baham: |