Старший преподаватель



Download 3,43 Mb.
bet4/8
Sana26.06.2022
Hajmi3,43 Mb.
#706242
TuriЛекции
1   2   3   4   5   6   7   8
Bog'liq
R0GtQ8oI6GqIdteM4fsLYP5anAf3lVKxkWzOofoH

(Бэкуса-Наура)
    • < terminal bo'lmagan >::=< tushuncha 1 >…< tushuncha n>

Tushuncha
terminal
aniqlanishi kerak bo'lmagan quyi darajadagi tushunchalar
noterminal
Masalan :
<формула>::=<выражение> #
<выражение>::=<слагаемое>
<выражение>::=<слагаемое> + <выражение>
<выражение>::=<слагаемое> - <выражение>
    • Noterminallar odatda burchakli qavslar ichida yoziladi

Ifodalar grammatikasini yasash tamoyillari
Qavslarsiz qo'shish va ayirish amallari daraxtning yuqori darajasida bajariladi, shuning uchun yig'indi tushunchasini birinchi bo'lib aniqlaydi.
Ko'paytirish va ayirish amallari daraxtning pastki sathlarida bajariladi, shuning uchun ko'paytiruvchi tushunchasi keyingi bosqichda aniqlanadi.
Hatto pastki amallar ham qavs ichida bajariladi - ular o'z navbatida atamalar va ko'paytmalar, ya'ni butun ifodalar bo'lishi mumkin.
cheksiz qoidalar o’rniga rekursiv munosabatlardan foydalaniladi
(x+2)*7-1
#
formula (x+2)*7-1 #
ifoda
(x+2)*7
-
(x+2)
*
1
7
(
x+2
)
1
7
1
x
+
2
Ko’paytmalar
Ko’shiluvchilar
Ifoda
Ko’shiluvchilar
Grammatika daraxti
Ifodalar grammatikasi
<formula> ::= #

<ifoda >

::=

<ko’shiluvchi>

<ifoda>

::=

<ko’shiluvchi>

+

<ifoda>

<ifoda>

::=

<ko’shiluvchi>

-

<ifoda>

<ko’shiluvchi>

::=

<ko’paytuvchi>

<ko’shiluvchi>

::=

<ko’paytuvchi>

*

<ko’shiluvchi>

<ko’shiluvchi>

::=

<ko’paytuvchi>

/

<ko’shiluvchi>

<ko’paytuvchi>

::=

<o’zgaruvchi>

<ko’paytuvchi>

::=

<son>

<ko’paytuvchi>

::=

( <ifoda >

)

O'ng va chap rekursiya
Qoidaning ko’rinishi:
:: = o'ng-rekursiya deyiladi
Qoidaning ko’rinishi:
:: = chap rekursiya deyiladi
Bizning iboralar grammatikamiz o'ng-rekursivdir.
Sintaktik tahlil qilish algoritmlari
  • LL parser - biz jumladan boshlaymiz, uni so'zlarga to'g'ri ajratishga harakat qilamiz, bizga o'ng-rekursiv grammatika kerak
  • LL-парсер

Rekursiv tahlil qiluvchi
  • Noterminallarning har biriga biz uni tahlil qiluvchi funktsiyani tayinlaymiz
  • Terminal bo'lmagan tahlil qilish funktsiyasi qoidalarning qaysi biri qo'llanilishi kerakligini aniqlashi kerak (agar bir nechta bo'lsa)
  • Keyin jumladan terminallarni o'qing va / yoki terminal bo'lmaganlarni tahlil qilish uchun funktsiyalarni chaqiring
  • Bunday funktsiyalar o'zlarini - rekursiya deb atashlari yoki o'z navbatida ularni keltirib chiqaradigan boshqa funktsiyalarni keltirib chiqarishi mumkin - o'zaro rekursiya


Download 3,43 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




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