Sintaktik xato.
Traslyator yordamida sintaktik xatolarni aniqlash dasturni sozlashda eng kerakli va muhim o’rinlarni egallaydi. chunki qancha ko’p xato bo’lsa shu bosqichda aniqlanib to’g’rilansa, keyinchalik sozlashda va testdan o’tkazishda ish oson bo’ladi. Yana bu xatolarni aniqlashning muximligi shundaki, agar ular aniqlanmasa. keyinchalik dasturni bajarishda katta qiyinchiliklarga olib keladi.
Kompilyator uchun bu xatolar dasturni sinash uchun ko’rib o’tishdan oldin bartaraf etilishi lozim. Berilgan operatorlardagi sintaksis xatolar sifatida quyidagilarni misol qilib ko’rsatishimiz mumkin:
-Tinish belgilarini qo’yishda kerakli belgilarni tashlab ketish.
-Kelishilmagan holda qavslarni qo’yish.
-Kerakli qavslarni tashlab ketish.
-Operatorni noto’g’ri shakllantirish.
-O’zgaruvchilar nomini noto’g’ri shakllash.
-Arifmetik operatorlardan noto’g’ri foydalanish.
-Olib qo’yilgan yoki ajratib qo’yilgan so’zlarni noto’g’ri yozish.
Ikkita yoki undan ortiq operatorlarni egallab oluvchi sintaktik xatolarga quyidagilar kiradi:
-Karamaqarshi buyruq.
-Tcikl oxirini ko’rsatuvchi shartlar yo’qligi
-Belgilar yo’qligi.
-Massvlarni tavsifini yo’qligi.
-Taqiqlangan o’tishlar.
Agar komplyator ikkita yoki undan ortiq buyruqlarni birma-bir tekshirib chiqmasa unda yuqorida ko’rsatilgan xatolar aniqlanmay qolib ketadi. Bir xilgi vaqtda yaxshi sozlovchi komplyator tekshirishga ketadigan vaqtni teng yarmini meyorlab qoladi. Maxsus sozlovchi ko’ramalar oddiysiga nisbatan sintaktik xatolarni yaxshi aniqlaydi.
Chunki u o’zaro ta`sir etuvchi buyruqlarni va sintaktik tizimni birma-bir tekshirib chiqadi. Sozlovchi ko’ramalar EVM bilan birgalikda keltirilmaydi. Ularni alohida sotib olish kerak.
Agar sozlash dasturchining ishchi vaqtini 70% ni va mashina vaqtini ko’p qismni egallasa, demak, sozlovchi zarur va u tez orada o’z-o’zini qoplaydi.
Barcha asosiy dasturlash tillarini sozlovchi komplyator bilan ta`minlangan bo’ladi. Agar dasturda mos keluvchi operatorlar to’g’ri shakllantirilgan bo’lsa, u xolda komplyator ayrim xatolarni aniqlay olmaydi.
Bir qator komplyator dastur ob`ektini yordamchi bloklarini keltirib chiqaradi. (Masalan, diapazonlarni va indekslarni o’zlashtirish tekshiruvchi bloklar). Bu bloklar dasturni bajarishda ayrim tafsifga ega bo’lgan xatolarni nazorat qiladi. Bunday bloklar qanchalik ko’p bo’lsa xatolarni ushlash jarayoni shuncha oson kechadi.
Do'stlaringiz bilan baham: |