2-ma’ruza. Dasturiy ta`minot ishlab chiqish bosqichlari. Algoritm va uning xossalari


Download 177.92 Kb.
Pdf ko'rish
bet17/17
Sana06.11.2023
Hajmi177.92 Kb.
#1751257
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
2-ma\'ruza

 
Misol: 
 
::= | + | - 
 
::=  |   
 
::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 


 
Bekus-Naur formasi konteks sharoitlarini o'rnatishga imkon bermaydi. 
Backus-Naur shaklidan foydalanganda, kontekst sharoitlari og'zaki shaklda 
ko'rsatiladi. 
Terminal yoki terminal belgisi - bu tilning grammatikasiga mos keladigan 
so'zlarda bevosita mavjud bo'lgan va o'ziga xos, o'zgarmas ma'noga ega bo'lgan 
obyekt. 
Noterminal yoki noterminal belgi - bu tilning mavjudligini bildiruvchi 
obyekt (masalan: formula, arifmetik ifoda, buyruq) va o'ziga xos ramziy ma'noga 
ega emas. 
 
BNF konstruktsiyasi cheklangan sonli noterminal (belgi) ni belgilaydi va 
belgini ba'zi bir ketma-ket terminallar (harflar) va belgilar bilan almashtirish 
qoidalarini belgilaydi. 

Harflar zanjirini yaratish jarayonini bosqichma-bosqich kuzatish mumkin: 

Dastlab, bitta belgi bor. Odatda, belgilar burchakli qavs ichiga olingan ism 
sifatida ifodalanadi. 

Keyin ushbu belgi tavsiflangan qoidalardan biriga muvofiq ma'lum bir 
harflar va belgilar ketma-ketligi bilan almashtiriladi. 
Keyin jarayon takrorlanadi (har bir qadamda qoidalar bo'yicha belgilarning 
biri ketma-ketlik bilan almashtiriladi). 
 
Kengaytirilgan Bekus-Naur shakli 
Paskal va Modula-2 tillari sintaksisini aniqlashda Nikaul Virt kengaytirilgan 
Bekus-Naur formasidan (KBNF) foydalangan: 
- Noterminal alohida so'zlar sifatida yoziladi 
- Terminallar tirnoq belgilarida yozilgan, masalan, "BEGIN" 
- Vertikal chiziq ( | ) muqobil variantlarni aniqlash uchun alternativ ishlatiladi 
- Qavslar guruhlash uchun ishlatiladi 
- Kvadrat qavslar belgi yoki belgilar guruhining yuzaga kelishini aniqlash 
uchun ishlatiladi 
- Figurali qavslar belgi yoki belgilar guruhining mumkin bo'lgan 
takrorlanishini aniqlash uchun ishlatiladi 
- :: = belgisi o'rniga teng belgi ishlatiladi 
- Nuqta belgisi qoidaning oxirini belgilash uchun ishlatiladi 
- Izohlar (* ... *) belgilari orasida joylashgan 
- [] ga ekvivalent 
Misol 
Integer = Sign UnsignedInteger 


UnsignedInteger = digit {digit} 
Sign = [“+” | “-”]. 
digit = “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9”. 
1981-yilda Britaniya standartlari instituti KBNF standartini nashr etdi. BSI 
standarti Virt tomonidan taklif qilingan kengaytirilgan Bekus-Naur shaklidan ko'ra 
ko'proq tavsiflovchi bo'lib chiqdi. 
- Qoidalar elementlari vergul bilan ajratilgan 
- Qoidalar vergul bilan tugaydi 
- Bo'sh joylar mazmunli emas 

Download 177.92 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




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