«Aniq fanlar» kafedrasi fanidan ma’ruzalar matni


BNF dasturlash tilining darajalariva kengaytirilgan BNF


Download 1.15 Mb.
bet11/161
Sana02.01.2022
Hajmi1.15 Mb.
#200874
1   ...   7   8   9   10   11   12   13   14   ...   161
Bog'liq
dasturlash fanidan maruzalar matni 2

2. BNF dasturlash tilining darajalariva kengaytirilgan BNF .

Algoritmik tilning sintaksis qoidalarini yozish va tushuntirish uchun ham qandaydir til lozim bo`ladi. Bu til bilan dasturlashning algoritmik tillarini almashtirib yubormaslik kerak. Kiritilishi kerak bo`lgan bu til dasturlash tilini aniqlash uchun kerak bo`ladi. Bu til «meta tili» deb ataladi. Tilni ifodalashda Bekus-Naurning metalingvistik formulalaridan (BNF) foydalaniladi.



BNF tilida dasturlash tillarining sintaksisi ixcham va formulalar ko`rinishida aniqlanadi. Bu formulalar oddiy arifmetik formulalarga o`xshab ketadi, shuning uchun ham ularni metalingvistik formulalar (qisqacha metaformula) deb ataladi.

Metaformulaning o`ng va chap qismlari «::=» belgisi bilan ajratiladi. Belgining ma'nosi «aniqlanishi bo`yicha shunday» jumlasiga yaqinroq. Bu belgining o`ng tomoni-da meta o`zgaruvchi, chap tomonida esa meta o`zgaruvchining qiymatlar to`plami yotadi. Tushunishga oson bo`lishi uchun meta o`zgaruvchilar, yoki ularning qiymatlari burchak qavslar («<» va «>») ichiga olib yoziladi. Masalan , , va hokazo.

Meta o`zgaruvchilarning meta qiymatlari bir necha mumkin bo`lgan konstruksiyalardan tashkil topishi mumkin. Bu holda konstruksiyalar o`zaro tik chiziq ( | ) bilan ajratiladi. Bu belgining ma'nosi «yoki» so`ziga yaqinroq tushunchadir.

Metaformulalarga misollar:

1. ::= A | B

::= | + |

bu formuladan deganda A yoki B harflari tushuniladi, tushunchasi ostida quyidagi 10 ta holning biri bo`lishi mumkin:

A, B, A + A, A + B, B + A, B + B, A — A, A — B, B — A, B — B.

Ии тт 2. ::= 0|l

3. ::= |

3-misolda o`ng tomonda aniqlanayotgan tushuncha yotibdi, bu meta formulalarning rekursiv xossasiga ega ekanligini ko`rsatadi.

Meta formulalarni yozishda «{», «}» qavslar uchrab turadi. Bu qavs ichiga olib yozilgan konstruksiya takrorlanuvchi konstruksiya hisoblanadi.

Misol:


::= {}

Tilning sintaksisini yana bir mеtod orhali tavsiflash mumkin.

Bekus-Naur Form kеngaytmasi (BNFK), bunda sintaksik konstruktsiyalar ingliz (o`zbеk) so`zlari va harflar kеtma-kеtligidan iborat bo`lishi mumkin.

So`zlar instruktsiyaning tabiati va ma'nosini bildiradi. Harflar kеtma-kеtligi esa biz ishlatadigan tildagi bеlgilar hisoblanadi. Harflar kеtma-kеtligi qo`shtirnoqqa olinadi. Agar bir nеcha harfiy kеtma-kеtliklar yoki konstruktsiyalar

{ va } mеtabеlgilar orasida bo`lsa, u holda konstruktsiyalar uchramasligi yoki ko`p marotaba uchrashi mumkin.

Altеrnativlar || yordamida ajratiladi. Oddiy guruhlashtirishda ( va ) bеlgilaridan foydalanamiz. [ va ] mеtabеlgilar orasidagi konstruktsiyalar uchrashi yoki uchramasligi mumkin.

Masalan:

Dastur=Dastur sarlavxasi “;” Blok “.”.

Dastur sarlavxasi = “Program” Nom [“(”nomlar ro`yxati”)”].

Nomlar ro`yxati = Nom {“,” Nom}.


Hisoblash jarayonlarining algoritmlarini ifodalash uchun “Algol-60” va “Fortran” tillari, iqtisodiy masalalar algoritmlari uchun, “Kobol” va “Algek” tillari, matnli axborotlarni tahrir qilish uchun esa “Snobol” tillari ishlatilgan.
Sanab o’tilgan bu algoritmik tillar asosan katta hajmni egallaydigan ko’pchilikning foydalanishiga mo’ljallangan EHM lar uchun yaratilgan edi.
Mustahkamlash savollari:



  1. Algoritm so’zi kimni nomidan kelib chiqqan?

  2. Qanday dasturlash tillari mavjud?

  3. Mashina kodi nima?

  4. Dasturlash tillari qanday tillar?

  5. Quyi va yuqori darajadagi dasturlar o’rtasida qanday farq bor?


Mavzuga oid foydalaniladigan adabiyotlar hamda elektron saytlar:

1.P.Karimov,S.Irisqulov,A.Isaboyev “Dasturlash”Toshkenet Ozbekiston nashriyoti_2003 yil.

2.Sh.A.Nazirov, R.V.Qobulov “Obektga mo`ljallangan dasturlash” Toshkent-2009 yil.

3.H.Rahimov,T.Dehqonov C++ Zamonaviy dasturlash tillari.

4.Гради Бuч. Объектно –ориентированной анализ и проектирование с примерами приложений на С++. Невский диалект, 2001 г

5. Грехем И. Объектно ориентированные методы. Принсипы и практика. Вильямс., 2004

Internet elektron saytlar: www.ziyonet uz , www.nkmk.uz www.ndpu.uz, www.tdtu.library.uz


Mavzu : C++ dasturlash tilida funksiya tushunchasi

Reja:


  1. C++ dasturlash tili haqida

  2. C++ tili alfaviti va leksemalar

  3. Identifikatorlar va kalit so‘zlar




Download 1.15 Mb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   ...   161




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