Кіріспе

Оператордың басымдығы ұғымы Бағдарламалау тілдерінде, ғылыми калькуляторларда және ұқсас ортақ операторлық жазу немесе операторлық грамматика математикалық және басқа да формальды өрнектерді анықтау мен талдаудың тәсілі болып табылады. Бұл модельде токендердің сызықтық тізбектері екі сыныпқа бөлінеді: операторлар және операндтар. Операндтар – операторлардың жұмыс істейтін объектілері. Бұларға нақты сандар мен басқа да тұрақтылар, сондай-ақ қарапайым скалярлық айнымалылардан бастап күрделі агрегаттық құрылымдар мен объектілерге дейін кез келген нәрсені білдіретін идентификаторлар (атаулар) кіреді, бұл пайдалану контекстінің күрделілігі мен мүмкіндіктеріне байланысты. Операндтың ерекше түрі – жақшалы топ. Жақшаға алынған өрнек әдетте келесі бағалау деңгейінде бір операнд ретінде қарастырылуы үшін рекурсивті түрде бағаланады. Әр операторға орын, басымдық және ассоциативтілік беріледі. Оператордың басымдығы – екі түрлі басымдылығы (немесе приоритеті) бар операторлармен қоршалған операндты қай оператор қабылдайтынын анықтайтын сан (жоғарыдан төменге немесе керісінше). Мысалы, көбейту әдетте қосудан жоғары басымдыққа ие, сондықтан 3+4×5 = 3+(4×5) ≠ (3+4)×5. Оператордың орнына қарай, ол префикс, постфикс немесе инфикс болуы мүмкін. Префикс операторы оның операндысының алдында келеді, мысалы, −x. Постфикс операторы операндысынан кейін тікелей келеді, мысалы, x!. Инфикс операторы сол және оң операндтардың арасында орналасады, мысалы, x+y. Кейбір тілдер, әсіресе C синтаксис отбасы, осы дәстүрлі терминологияны кеңейтеді және үштік инфикс операторлары (a?b:c) туралы да сөз етеді. Теориялық тұрғыдан алғанда, жақшаларды униарлы бификс операциясы ретінде анықтау да мүмкін (бірақ міндетті түрде практикалық емес).

Жалпы операторлық белгілендірудің жалпылануы

Оператордың артықшылық кластарын және ассоциативтіліктерін пайдалану – бұл тек бір жол ғана. Дегенмен, бұл ең жалпы жол емес: бұл модель операторға ‘-’ символымен бәсекелескенде, ‘+’ символымен бәсекелескенге қарағанда артық басымдық бере алмайды, әрі ‘+’ және ‘-’ символдарына тең басымдықтар мен ассоциативтіліктерді сақтайды. Бұл модельдің жалпыланған нұсқасын (әр операторға тәуелсіз сол және оң басымдықтар беріледі) мына жерде табуға болады.