Dasturlash tillari va axborot-kommunikatsiya texnologiyalari 1-semestr
56
qo‘shni unparenthesized qismlari dan ustunlik bor. Misol uchun, ko‘paytirish qoshish
dan ustun tursada , bu ifodada
(A + B) * C
Qo‘shish birinchi baholanadi. Matematik jihatdan, bu mukammal tabiiy. Bu
ifoda, ko‘paytirish operatorining birinchi operandi mavjud emas toki Qavsga olingan
kichik ifodadagi qo‘shish baholanmaguncha. Bundan tashqari, Qismi 2.1.2 dan ifoda
quyidagicha belgilangan bo‘lishi mumkin
(A + B) + (S + D)
toshib ketishni oldini olish uchun.
Arifmetik ifodalarda Qavslar mumkin bo‘lgan tillar Barcha ustunlik qoidalariga
bo‘lib olishi va shunchaki operatorlarni chapdan o‘ng yoki o‘ng dan chapga sherik
qiladi. Dasturchi istalgan tartibini Qavslar bilan belgilash mumkin . Bu yondashuv
oddiy bo‘ladi, chunki, na muallif na dastur o‘quvchilari har qanday ustunlik yoki
associativelik qoidalarini yodda saqlashi kerak. Bu sxema yomon tomoni :yozuv
ifodalar ko‘proq zerikarli qiladi va u kodi oqilishiga(chiroyli syntax) ham jiddiy xavf.
Biroq, bu Ken Iverson tomonidan amalgaoshirilgan tanlov edi,APL dizayneri.
Ruby iboralar
Ruby sof ob’ekt yo‘naltirilgan til ekanligini eslab , orasida, boshqa narsalar
orasida, har bir ma’lumotlar qiymati, ob’ekt hisoblanadi. Ruby Sga asoslangan
tillarda kiritilgan arifmetik va mantiqiy operatsiyalar to‘plamni qo‘llab-quvvatlaydi.
Ifodalar sohasida S asoslangan tillarida farqli tomoni Ruby ning arifmetik, bogliqlik
va tenglashtirish operatorlari, shuningdek masssiv indeks ,siljishlar va bit bilan
ishlovchi mantiq operatorlari funksiya sifatida amalga oshirildi. Misol uchun, ifoda a
+ b a Ob’ektinining + funksiyasiga chaqiruv b obektni parameter qilibberilgan.
Operatorlarni funksiya qilib amalga oshirishning biri qiziqarli jihati shuki ular
amaliy dasturlar tomonidan qayta yozilishi mumkin. Shuning uchun, bu operatorlari
qayta aniqlanishi mumkin. oldindan belgilangan operatorlarni tez-tez qayta aniqlash
foydali bo‘lmasa-da biz hali 3 da ko‘ramiz, ba’zi tillarda foydalanuvchi belgilangan
turlari ortiqcha yuklash operatorlari bilan amalga oshirilishi mumkin.