Mirzo Ulug’bek nomidagi O’zbekiston Milliy universiteti Jizzax filiali “Amaliy matematika” fakulteti



Download 215,08 Kb.
Sana01.07.2022
Hajmi215,08 Kb.
#723511
Bog'liq
Mustaqil ish


Mirzo Ulug’bek nomidagi
O’zbekiston Milliy universiteti Jizzax filiali
Amaliy matematika” fakulteti
Kompyuter ilimlari va dasturlash” kafedrasi

Tizimli dasturlash” fanidan


Mustaqil ishi
Mavzu: Formal til grammatikasi. Leksik va sintaksis tahlil.


Bajardi: 103-guruh talabasi: Xolbayev. X
Qabul qildi: Jomurodov D
Jizzax-2021

Mavzu: Formal til grammatikasi. Leksik va sintaksis tahlil.
Reja:
1. Leksik va sintaksis tahlil
2. Formal til grammatikasi.

1.Sintaksis- dasturlash tilining dastur tuzilishini belgilar to'plami sifatida tavsiflovchi tomoni (odatda ular aytadilar - mazmunidan qat'i nazar). Tilning sintaksisi uning semantikasiga qarama-qarshidir. Tilning sintaksisi "sof" tilni tavsiflaydi, semantika esa turli sintaktik tuzilmalarga ma'no (harakat) beradi.


Ko'pincha sintaksis kompilyatsiya boshida tekshiriladi. Interpretatsiya qilingan dasturlash tillarida sintaksisni tekshirish yoki sharhlash (bajarish) paytida yoki oraliq kodga oldindan kompilyatsiya qilish paytida amalga oshiriladi. Bundan tashqari, IDE yordamida dasturlarning manba kodini tahrirlashda sintaksis bevosita tekshirilishi mumkin.
Funktsiyani yozish sintaksisi- funktsiya kodining yozuvi qondirishi kerak bo'lgan qat'iy qoida; funktsiyani belgilash shakli. Agar funktsiya sintaksisi noto'g'ri bo'lsa, kompilyator xato qaytaradi va xato tuzatilmaguncha dastur tuzilmaydi.
Funktsiyani yozishda sintaksis xatolari (noto'g'ri imzo):
chaqirilganda funksiya nomining noto‘g‘ri yozilishi (rejim kattaligi sezgir tillar uchun belgilarning noto‘g‘ri yozilishi, nom maydoni noto‘g‘ri);
noto'g'ri argumentlar soni;
o'tkazilgan argumentlarning noto'g'ri turi (masalan, satr qiymatini o'tkazishingiz kerak, lekin raqamli qiymat o'tkazildi);
yaroqsiz qaytarish turi (xususan, aniqlanmagan tur).
Wikimedia fondi. 2010 yil.
Boshqa lug'atlarda "Sintaksis (dasturlash)" nima ekanligini ko'ring:
Sintaksis: Vikilug'atda "sintaksis" maqolasi mavjud Sintaksis
Ushbu maqola butunlay qayta yozilishi kerak. Muhokama sahifasida tushuntirishlar bo'lishi mumkin. Bu atama boshqa maʼnolarga ham ega, Dasturlar Vikipediyaga qarang OOP paradigmasidan foydalangan holda Python-da Python-da ob'ektga yo'naltirilgan dasturlash: Python boshidanoq ob'ektga yo'naltirilgan dasturlash tili sifatida yaratilgan. Shablonlar ba'zi parametrlarga bog'lanmasdan (masalan, ma'lumotlar turlari, bufer o'lchamlari, standart qiymatlar) umumiy algoritmlarni kodlash uchun mo'ljallangan C ++ tili vositasidir. C++ da funksiya shablonlarini yaratish mumkin .
Bu atamaning boshqa maʼnolari ham bor, Konstruktor ga qarang. Ob'ektga yo'naltirilgan dasturlashda sinf konstruktori (inglizcha konstruktor, ba'zan qisqartirilgan ctor dan) ob'ekt yaratilganda chaqiriladigan ko'rsatmalarning maxsus blokidir.
Sintaktik diagramma -bu bitta kirish chetida va bitta ishlab chiqarish qirrasi va etiketelli uchini yo'naltiradi. Sintaksis Diagramma tilni o'rnatadi. Iqtidorning chiqish chetidan har qanday yo'lda belgilar zanjiri sintaktik diagrammada ko'rsatilgan til zanjiri. Shuning uchun, biz sintaktik diagramma avtomatik tillarni grammatika yaratilishining shakllaridan biridir.
Sintaktik diagramma -bu bitta kirish chetida va bitta ishlab chiqarish qirrasi va etiketelli uchini yo'naltiradi. Sintaksis Diagramma tilni o'rnatadi. Iqtidorning chiqish chetidan har qanday yo'lda belgilar zanjiri sintaktik diagrammada ko'rsatilgan til zanjiri. Shuning uchun, biz sintaktik diagramma avtomatik tillarni grammatika yaratilishining shakllaridan biridir.
O'zgaruvchilar C tilidagi asosiy tushunchalardan biri - bu ob'ekt - xotira maydoni. Xususiy ob'ekt ishi - o'zgaruvchan. O'zgaruvchining o'ziga xos xususiyati turli xil qiymatlarni o'z nomi bilan bog'lash imkoniyatiga ega bo'lishi kerak, ularning kombinatsiyasi o'zgaruvchan turda belgilanadi. O'zgaruvchining qiymat qiymatini tegishli xotira zonasiga ko'rsatganda, ushbu qiymat kodi joylashtirilgan. O'zgaruvchan qiymatga ega bo'lish tabiiy ravishda uning ismini ta'minlaydi va xotira saytiga kirish faqat uning manziliga kirish mumkin. Dasturda foydalanishdan oldin har bir o'zgaruvchi aniqlanishi kerak, i.e. O'zgaruvchan xotira ajratilishi kerak. O'zgaruvchi uchun ajratilgan xotira maydonining hajmi va tarkibni sharhlash o'zgaruvchan ta'rifda ko'rsatilgan turga bog'liq. Aqlli turlar aniqlanadi: char - kamida 8 bitning butun uzunligi, qisqa int - qisqa butun son, int - butun, uzoq umr esadigan. Butun butun butun son turlarini belgilash yoki imzolanmagan imzo sifatida belgilash mumkin. Til tili quyidagi haqiqiy turlarni taqdim etdi: suzuvchi - bitta aniqlik, ikki baravar aniqlik, uzun dublele - maksimal aniqlik.
Sintaksis - til tuzilmalarini shakllantirish yoki dasturlash til takliflari - bloklar, protseduralar, kompozit operatorlari, shartli operatorlar, Sintaksis xususiyati va boshqalarni qurish inshootlari uchun qoidalarni uyallash (konsursi) printsipidir. Bu shuni anglatadiki, til sintaksis elementi uning ajralmas qismida to'g'ridan-to'g'ri yoki bilvosita uning qismida joylashgan. Masalan, tsikli operatorning ta'rifida tsikl tanasi - bu maxsus holat, uning alohida holati bir xil aylantirilgan operator hisoblanadi.

2. Formal til grammatikasi.Dasturning imlo qoidalariga rioya qilish (sintaksis). Xususan, Paskalda tinish belgilarining maqsadi aniq belgilangan. Jeklar (;) dastur sarlavhasi oxirida, har bir operatordan keyin o'zgaruvchan tavsif bo'limining oxirida joylashtiriladi. So'z tugashidan oldin siz vergul bilan bir nuqta qo'ya olmaysiz. Vergul (,) elementlarni ajratuvchi - bu barcha turdagi boshqa ro'yxatlar: tavsif bo'limidagi o'zgaruvchilar ro'yxati, kiritilgan va olingan qiymatlar ro'yxati.


Dasturlash tilidagi qat'iy sintaksisi, asosan tarjimon uchun kerak. Tarjimon - bu rasmiy ravishda bajariladigan dastur. Agar aytaylik, o'zgaruvchi turlari ro'yxatidagi ajratgich vergul bo'lishi kerak, keyin har qanday boshqa belgi xato sifatida qabul qilinadi. Agar nuqta saytlar ajratuvchi bo'lsa, bu bayonotni operator sifatida operator sifatida operatorning to'liq qismini bir ochkoning to'liq qismidan bir qismdan bir qism bilan bir nuqta bilan qabul qiladi. Agar siz ushbu belgini boshqa operatorlar o'rtasida qo'yishni unutgan bo'lsangiz, tarjimon ularni muqarrar ravishda xatoga olib keladi.


Sintaktik qoidalarning asosiy maqsadi til tuzilmalarining aniqligini berishdir. Agar biron bir turdagi dizayni noaniq talqin qilinsa, bu xato kerakligini anglatadi. Sezgiga ishonmaslik, balki til qoidalarini o'rganish yaxshiroqdir.


Dasturlash tili sintaksisini tasvirlash uchun, shuningdek, bir nechta til kerak. Bunday holda, biz boshqa tillarni tasvirlash uchun mo'ljallangan metetanalar haqida ("kontrabag") haqida gapiramiz. Dasturlash adabiyotidagi eng keng tarqalgan metallar metallituistik Bekus formulalari - naur (bnf tili) va sintaktik jadval. Sintaktik diagramma tillari ko'rinadi, osonroq idrok qilinadi.
BNFda har qanday sintaktik kontseptsiya belgisi bilan bog'liq o'ng va chap qismdan iborat formula sifatida tasvirlangan: \u003d, uning ma'nosi "ta'rif bo'yicha" so'zlariga mos keladi. Belgining chap tomonida: \u003d Belgilangan kontseptsiyaning (metamik) nomi qayd etiladi, bu burchak qavslari< >Va formulalar yoki diagramma o'ng tomonda yoziladi, bu menimga mos keladigan qadriyatlarning barcha ko'p tartibini belgilaydi.
Til sintaksisi kontseptsiyalarning izchil asorati bilan tasvirlangan: birinchi navbatda eng oddiy (asosiy) aniqlanadi, keyin tobora ko'payib bormoqda, shu jumladan tarkibiy kontseptsiyalar kabi murakkab tushunchalar.
Bunday ketma-ketlikda, shubhasiz, dastur tushunchasi yakuniy tushunarli tushuncha bo'lishi kerak.
MetraOFormul yozuvlarida ma'lum bir shartnomalar qabul qilindi. Masalan, "Ikkilik raqam" tushunchasini belgilaydigan BNF formulasi quyidagicha ko'rinadi:
<двоичная цифра>::=0|1 Belgi "|" "Yoki" so'ziga teng.
Grafiklarda o'qlar sintaktik tuzilish elementlarining joylashgan joyining ketma-ketligini ko'rsatadi; Doiralar dizaynda ko'rsatilgan belgilar keltirilgan.
" ikkilik kod"BNFning bo'sh joylari bo'sh ketma-ketligi sifatida quyidagicha tasvirlangan:<двоичный код>::=<двоичная цифра>|<двоичный
kod\u003e<двоичная цифра>Ba'zi kontseptsiyaning o'zi aniqlangan ta'rifi rekursiv deb ataladi. Rezursiv ta'riflar BNFga xosdir.
Download 215,08 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish