yozilishiga qarab kompilyator aniqlaydi. Masalan, o’nlik sonda qo’llaniladigan
nuqta, haqiqiy son belgisi sifatida qabul qilinadi. Boshqa dasturlash tillarida esa,
dasturchi tomonidan kirtilayotgan har bir o’zgaruvchining turi aniq ko’rsatilishi
talab etiladi, va bu muhim vazifalardan biri hisoblanadi.
Dastur bajarilishi
davomida o’zgaruvchining qiymati bir necha marta almashishi mumkin,
lekin
uning turi o’zgarmasligi kerak. Bu kompilyator o’zgaruvchi ustida bajariladigan
amallarni uning tavsiflanishiga mos ravishda tekshirib chiqadi. Bu tekshirish to’liq
dastur matni bo’yicha amalga oshiriladi va natijada
dastur bajaradigan barcha
amallar aniqlab olinadi.
Dasturlash
tilining
maqsadiga
qarab,
kompilyatsiya
jarayonida
ma’lumotlarning turi himoyalanganlik darajasi mavjud. Masalan, Pascal dasturlash
tilida ma’lumotlarning turi qat’iy himoyalangan bo’lib, dasturning sarlavha
qismidayoq dasturda qo’llaniladigan barcha o’zgaruvchilar va konstantalarning
turlari aniqlab berilishi talab qilinadi. C dasturlash
tilida esa buning teskarisi
bo’lib, ma’lumotlarning turini aniqlash dastur bajarilishi vaqtida dasturchi
tomonidan aniqlanishi ham mumkin. Bu esa C dasturlash tilida ma’lumotlarning
turi kuchsiz himoyalanganligini bildiradi. Shu bilan birgalikda ma’lumotlarning
turi qat’iy himoyalanmagan dasturlash tillarida dasturning to’g’ri
ishlashiga
javobgarlik dasturchining o’ziga yuklatilgan.