Operator (pengaturcaraan)

Dalam pengaturcaraan komputer, operator ialah binaan yang ditakrifkan dalam bahasa pengaturcaraan yang berkelakuan secara amnya seperti fungsi, tetapi berbeza dari segi sintaksis atau semantik.

Contoh mudah biasa termasuk aritmetik (cth. penambahan dengna +), perbandingan (cth. " lebih besar daripada" dengan >), dan operasi logik (cth. AND serta && dalam beberapa bahasa). Contoh yang lebih terlibat termasuk tugasan (biasanya = atau :=), akses lapangan dalam rekod atau objek (biasanya .), dan pengendali resolusi skop (selalunya :: atau .). Bahasa biasanya mentakrifkan satu set operator terbina dalaman, dan dalam beberapa kes, membenarkan pengguna menambah makna baharu pada operator sedia ada atau mentakrifkan operator baharu sepenuhnya.

Sintaks sunting

Secara sintaksis, pengendali biasanya berbeza dengan fungsi. Dalam kebanyakan bahasa, fungsi boleh dilihat sebagai bentuk khas pengendali awalan dengan tahap keutamaan dan sekutuan tetap, selalunya dengan tanda kurungan wajib, contohnya Func(a) (atau (Func a) dalam Lisp). Kebanyakan bahasa menyokong fungsi yang ditakrifkan pengatur cara, tetapi tidak boleh benar-benar menuntut untuk menyokong pengendali yang ditakrifkan oleh pengatur cara, melainkan mereka mempunyai lebih daripada tatatanda awalan dan lebih daripada satu tahap keutamaan. Secara semantik, pengendali boleh dilihat sebagai bentuk fungsi khas dengan notasi panggilan yang berbeza dan bilangan parameter yang terhad (biasanya satu dua).

Semantik sunting

Semantik pengendali terutamanya bergantung pada nilai, strategi penilaian dan mod lulus hujah (seperti litar pintas Boolean). Ringkasnya, ungkapan yang melibatkan pengendali dinilai dalam beberapa cara, dan nilai yang terhasil mungkin hanya nilai semata-mata (nilai-r), atau mungkin objek yang membenarkan tugasan (nilai-l).

Pengendali yang ditentukan pengguna sunting

Bahasa mungkin mengandungi bilangan tetap operator terbina dalaman (cth. +, -, *, <, <=, !, =, dsb. dalam C atau C++, PHP), atau ia mungkin membenarkan penciptaan pengendali yang ditentukan oleh pengaturcara (cth. Prolog,[1] Seed7,[2] F#, OCaml, Haskell). Sesetengah bahasa pengaturcaraan mengehadkan simbol operator kepada aksara khas seperti + atau:= manakala yang lain membenarkan juga nama seperti div (cth. Pascal).

Contoh sunting

Contoh biasa yang berbeza secara sintaksis ialah operasi aritmetik matematik, cth " > " untuk "lebih besar daripada", dengan nama selalunya di luar set pengecam bahasa bagi fungsi, dan dipanggil dengan sintaks yang berbeza daripada sintaks bahasa untuk memanggil fungsi. Sebagai fungsi, "lebih besar daripada" biasanya dinamakan oleh pengecam, seperti gt atau greater_than dan dipanggil sebagai fungsi, sebagai gt(x, y). Sebaliknya, operasi menggunakan aksara khas > (yang ditandakan secara berasingan semasa analisis leksikal), dan notasi sisipan, sebagai x > y.

Rujukan sunting

  1. ^ "SWI-Prolog -- op/3". www.swi-prolog.org.
  2. ^ "Declare an operator". seed7.sourceforge.net.