ISO IEC 13211-1 adalah Standar Internasional mengenai Teknologi Informasi, khususnya tentang Prolog (Programming in Logic) pada bahasa pemrograman, bagian inti umum.
Standar versi terbaru yang masih berlaku adalah terbitan tahun 1995 dengan judul berikut :
- ISO/IEC 13211-1:1995 Information technology — Programming languages — Prolog — Part 1: General core
Peninjauan dan konfirmasi dari standar ini terakhir dilakukan pada tahun 2008, oleh karena itu versi ini masih dinyatakan tetap berlaku hingga saat ini.
Standar ISO/IEC 13211-1:1995
Dirancang untuk mempromosikan penerapan dan portabilitas teks dan data Prolog di antara berbagai sistem pemrosesan data.
Menentukan:
- representasi teks Prolog;
- sintaks dan batasan bahasa Prolog;
- aturan semantik untuk menafsirkan teks Prolog;
- representasi data masukan yang akan diproses oleh Prolog;
- representasi output yang dihasilkan oleh Prolog dan batasan dan batasan yang dikenakan pada prosesor Prolog yang sesuai.
Penerbitan Standar ISO/IEC 13211-1:1995
Standar ini diterbitkan dan dipublikasikan pada Juni 1995, berupa dokumen edisi 1 dengan jumlah halaman sebanyak 199 lembar.
Disusun oleh :
- Technical Committee ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces, atau : Komite Teknis ISO/IEC JTC 1/SC 22 Bahasa pemrograman, lingkungannya, dan antarmuka perangkat lunak sistem.
ICS :
- 35.060 Languages used in information technology, atau : 35.060 Bahasa yang digunakan dalam teknologi informasi
Sebagaimana standar ISO lainnya, ISO/IEC 13211-1:1995 ini juga ditinjau setiap 5 tahun dan peninjauan sudah mencapai tahap 90,93 (dikonfirmasi).
Badan ISO juga menerbitkan perubahan atau corrigenda dari standar ini, yakni :
- ISO/IEC 13211-1: 1995/COR 1:2007
- ISO/IEC 13211-1:1995/COR 2:2012
- ISO/IEC 13211-1: 1995/COR 3:2017
Isi Standar ISO/IEC 13211-1:1995
Berikut adalah kutipan isi Standar ISO/IEC 13211-1:1995 yang diambil dari Online Browsing Platform (OBP) dari situs resmi iso.org.
Yang ditambah dengan berbagai keterangan dan informasi untuk mempermudah pemahaman pembaca.
Hanya bagian standar yang informatif yang tersedia untuk umum, OBP hanya menampilkan hingga klausa 3 saja.
Oleh karena itu, untuk melihat konten lengkap dari standar ini, maka pembaca harus membeli standar dari ISO ini secara resmi.
Daftar Isi Standar ISO/IEC 13211-1:1995
- Foreword
- Introduction
- 1 Scope
- Notes
- 2 Normative references
- 3 Definitions
- 4 Symbols and abbreviations
- 4.1 Notation
- 4.2 Abstract data type stack
- 4.3 Abstract data type mapping
- 5 Compliance
- 5.1 Prolog processor
- 5.2 Prolog text
- 5.3 Prolog goal
- 5.4 Documentation
- 5.5 Extensions
- 6 Syntax
- 6.1 Notation
- 6.2 Prolog text and data
- 6.3 Terms
- 6.4 Tokens
- 6.5 Processor character set
- 6.6 Collating sequence
- 7 Language concepts and semantics
- 7.1 Types
- 7.2 Term order
- 7.3 Unification
- 7.4 Prolog text
- 7.5 Database
- 7.6 Converting a term to a clause, and a clause to a term
- 7.7 Executing a Prolog goal
- 7.8 Control constructs
- 7.9 Evaluating an expression
- 7.10 Input/output
- 7.11 Flags
- 7.12 Errors
- 8 Built-in predicates
- 8.1 The format of built-in predicate definitions
- 8.2 Term unification
- 8.3 Type testing
- 8.4 Term comparison
- 8.5 Term creation and decomposition
- 8.6 Arithmetic evaluation
- 8.7 Arithmetic comparison
- 8.8 Clause retrieval and information
- 8.9 Clause creation and destruction
- 8.10 All solutions
- 8.11 Stream selection and control
- 8.12 Character input/output
- 8.13 Byte input/output
- 8.14 Term input/output
- 8.15 Logic and control
- 8.16 Atomic term processing
- 8.17 Implementation defined hooks
- 9 Evaluable functors
- 9.1 The simple arithmetic functors
- 9.2 The format of other evaluable functor definitions
- 9.3 Other arithmetic functors
- 9.4 Bitwise functors
- Annex A Formal semantics
- A.1 Introduction
- A.2 An informal description
- A.3 Data structures
- A.4 The Formal Semantics
- A.5 Control constructs and built-in predicates
Kata pengantar
Sebagaimana tercantum dalam “Klausa 0 Foreword”, bahwa :
ISO (Organisasi Internasional untuk Standardisasi) dan IEC (Komisi Elektroteknik Internasional) membentuk sistem khusus untuk standardisasi di seluruh dunia.
Badan-badan nasional yang menjadi anggota ISO atau IEC berpartisipasi dalam pengembangan Standar Internasional melalui komite teknis yang dibentuk oleh organisasi masing-masing untuk menangani bidang kegiatan teknis tertentu.
Komite teknis ISO dan IEC berkolaborasi dalam bidang yang menjadi kepentingan bersama.
Organisasi internasional lainnya, pemerintah dan non-pemerintah, bekerja sama dengan ISO dan IEC, juga ambil bagian dalam pekerjaan tersebut.
Di bidang teknologi informasi, ISO dan IEC telah membentuk komite teknis bersama ISO/IEC JTC 1.
Rancangan Standar Internasional yang diadopsi oleh komite teknis bersama diedarkan ke badan-badan nasional untuk pemungutan suara.
Publikasi sebagai Standar Internasional memerlukan persetujuan setidaknya 75% dari badan-badan nasional yang memberikan suara.
Standar Internasional ISO/IEC 13211 disiapkan oleh :
- Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming languages, their environments and system software interfaces,
- atau : Komite Teknis Bersama ISO/IEC JTC 1, Teknologi informasi, Subkomite SC 22, Bahasa pemrograman, lingkungan mereka, dan antarmuka perangkat lunak sistem.
Lampiran A dari bagian ISO/IEC 13211 ini hanya untuk informasi.
Mengenal ISO dan IEC
ISO (International Organization for Standardization) adalah suatu organisasi atau lembaga nirlaba internasional.
Tujuan dari ISO adalah untuk membuat dan memperkenalkan standar dan standardisasi internasional untuk berbagai tujuan.
Sebagaimana dengan ISO, IEC juga merupakan organisasi standardisasi internasional yang menyusun dan menerbitkan standar-standar internasional.
Namun ruang lingkupnya adalah untuk seluruh bidang elektrik, elektronik dan teknologi yang terkait atau bidang teknologi elektro (electrotechnology).
Lebih jelas mengenai ISO dan IEC dapat dibaca pada artikel lain dari standarku.com berikut :
Pengantar Standar
Sebagaimana tercantum dalam “Klausa 0 Introduction”, bahwa :
Ini adalah Standar Internasional pertama untuk Prolog, Bagian 1 (Inti Umum). Itu diproduksi pada 20 April 1995. Tidak ada Standar Internasional lain untuk Prolog.
Prolog (Programming in Logic atau Pemrograman dalam Logika) menggabungkan konsep pemrograman logis dan algoritmik, dan diakui tidak hanya sebagai alat penting dalam AI (Kecerdasan Buatan) dan sistem pakar, tetapi sebagai bahasa pemrograman tingkat tinggi tujuan umum dengan beberapa properti unik.
Bahasa ini berasal dari karya pada awal 1970-an oleh Robert A. Kowalski saat di Universitas Edinburgh (dan sejak saat itu di Imperial College, London) dan Alain Colmerauer di Universitas Aix-Marseilles di Prancis.
Upaya mereka mengarah pada tahun 1972 untuk penggunaan logika formal sebagai dasar untuk bahasa pemrograman.
Penelitian Kowalski memberikan kerangka teoretis, sedangkan penelitian Colmerauer memunculkan bahasa pemrograman Prolog.
Colmerauer dan timnya kemudian membangun penerjemah pertama, dan David Warren di Departemen AI, Universitas Edinburgh, menghasilkan kompiler pertama.
Fitur penting dari Prolog adalah unifikasi dan backtracking. Penyatuan menunjukkan bagaimana dua struktur arbitrer dapat dibuat sama, dan prosesor Prolog menggunakan strategi pencarian yang mencoba menemukan solusi untuk masalah dengan mundur ke jalur lain jika salah satu pencarian tertentu menemui jalan buntu.
Prolog baik untuk windowing dan multimedia karena kemudahan membangun struktur data yang kompleks secara dinamis, dan juga karena konsep mundur dari operasi dibangun ke dalam bahasa.
Prolog diajarkan di lebih banyak gelar komputasi universitas Inggris daripada bahasa pemrograman lainnya.
Bagian ISO/IEC 13211 ini mendefinisikan fitur inti umum Prolog, dan bagian 2 akan mendefinisikan modul
ISO/IEC 13211-1:1995 Klausa 1-3
1 Scope : Lingkup
ISO/IEC 13211 dirancang untuk mempromosikan penerapan dan portabilitas teks dan data Prolog di antara berbagai sistem pemrosesan data.
Bagian ISO/IEC 13211 ini menetapkan:
- a) Representasi teks Prolog,
- b) Sintaks dan batasan bahasa Prolog,
- c) Aturan semantik untuk menafsirkan teks Prolog,
- d) Representasi data input yang akan diproses oleh Prolog,
- e) Representasi output yang dihasilkan oleh Prolog, dan
- f) Pembatasan dan batasan yang dikenakan pada prosesor Prolog yang sesuai.
Catatan
Bagian ISO/IEC 13211 ini tidak menentukan:
- a) ukuran atau kompleksitas teks Prolog yang akan melebihi kapasitas sistem pemrosesan data atau pemroses bahasa tertentu, atau tindakan yang harus diambil ketika batas yang sesuai terlampaui;
- b) persyaratan minimal sistem pemrosesan data yang mampu mendukung implementasi prosesor Prolog;
- c) metode pengaktifan prosesor Prolog atau kumpulan perintah yang digunakan untuk mengontrol lingkungan di mana teks Prolog disiapkan untuk dieksekusi dan dieksekusi;
- d) mekanisme di mana teks Prolog disiapkan untuk digunakan oleh sistem pemrosesan data;
- e) representasi tipografi dari teks Prolog yang diterbitkan untuk dibaca manusia;
- f) lingkungan pengguna (loop tingkat atas, debugger, sistem perpustakaan, editor, kompiler, dll.) dari prosesor Prolog.
Bagian ISO/IEC 13211 ini dimaksudkan untuk digunakan oleh pelaksana dan pemrogram yang berpengetahuan luas, dan bukan merupakan tutorial.
1.1 Notes : Catatan
Catatan di bagian ISO/IEC 13211 ini tidak berpengaruh pada bahasa, teks Prolog, atau prosesor Prolog yang didefinisikan sebagai sesuai dengan bagian ISO/IEC 13211 ini.
Alasan untuk menyertakan catatan meliputi:
- a) Referensi silang ke klausa dan subklausa lain dari bagian ISO/IEC 13211 ini untuk membantu pembaca menemukan jalan keluarnya,
- b) Peringatan ketika predikat bawaan seperti yang didefinisikan di bagian ISO/IEC 13211 ini memiliki arti yang berbeda dalam beberapa implementasi yang ada.
2 Normative references : Referensi normatif
Standar berikut berisi ketentuan yang, melalui referensi dalam teks ini, merupakan ketentuan dari bagian ISO/IEC 13211 ini.
Pada saat publikasi, edisi yang ditunjukkan adalah valid.
Semua standar dapat direvisi, dan pihak-pihak dalam perjanjian berdasarkan bagian ISO/IEC 13211 ini didorong untuk menyelidiki kemungkinan penerapan edisi terbaru dari standar yang tercantum di bawah ini.
Anggota IEC dan ISO memelihara daftar Standar Internasional yang berlaku saat ini.
- ISO/IEC 646 : 1991, Information technology — ISO 7-bit coded character set for information interchange.
- ISO 2382-15 : 1985, Data processing — Vocabulary — Part 15: Programming languages.
- ISO 8859-1 : 1987, Information technology — 8-bit single-byte coded graphic character sets — Part I: Latin alphabet No. 1.
- ISO/IEC 9899 : 1990, Programming languages — C.
- ISO/IEC TR 10034 : 1990, Guidelines for the preparation of conformity clauses in programming language standards.
- ISO/IEC 10967-1 : 1994, Information technology — Language independent arithmetic — Part 1: Integer and floating point arithmetic.
- BS 6154 : 1981, Method of defining — Syntactic metalanguage.
3 Definition : Definisi
Terminologi untuk Prolog ini memiliki format yang dimodelkan pada ISO 2382.
Entri terdiri dari frasa (dalam huruf tebal) yang didefinisikan, diikuti dengan definisinya.
Kata-kata dan frasa yang didefinisikan dalam glosarium dicetak miring ketika digunakan dalam entri lain.
Jika definisi berisi dua kata atau frasa yang didefinisikan dalam entri terpisah yang secara langsung saling mengikuti (atau hanya dipisahkan oleh tanda baca), * (tanda bintang) memisahkannya.
Kata dan frasa yang tidak didefinisikan dalam glosarium ini dianggap memiliki arti yang diberikan dalam ISO 2382-15; jika mereka tidak muncul dalam ISO 2382-15, maka mereka dianggap memiliki arti yang biasa.
Untuk tujuan ISO/IEC 13211, definisi berikut berlaku:
ISO IEC 13211-1 Klausa 3.1 – 3.18
3.1 A
Kelompok dari atoms (lihat 6.1.2 b, 7.1.4).
3.2 activation : pengaktifan
Proses mengeksekusi aktivator.
3.3 activator : penggerak
Hasil mempersiapkan tujuan untuk dieksekusi.
3.4 algorithm : algoritma
Herbrand
lihat Algoritma Herbrand
3.5 alias
Sebuah atom yang terkait dengan aliran terbuka.
Aliran input standar memiliki alias input-pengguna, dan aliran output standar memiliki alias user_output.
- Catatan 1 : Aliran dapat memiliki banyak alias, tetapi atom dapat menjadi alias paling banyak satu aliran.
3.6 anonymous variable : variabel anonim
Variabel (diwakili dalam istilah atau teks Prolog oleh _) yang berbeda dari setiap variabel lainnya (dan variabel anonim).
3.7 argument : argumen
Istilah yang dikaitkan dengan predikat atau istilah majemuk.
3.8 arithmetic data type : tipe data aritmatika
Tipe data yang nilainya adalah anggota Z atau R.
3.9 arity : aritas
Jumlah argumen dari istilah majemuk. Secara sintaksis, bilangan bulat non-negatif terkait dengan fungsi atau predikat.
3.10 assert : Menegaskan
to
Untuk menegaskan klausa adalah menambahkannya ke prosedur yang ditentukan pengguna dalam database yang ditentukan oleh predikat klausa itu.
- Catatan 1 : Prosedur yang ditentukan pengguna tidak perlu sudah ada.
3.11 associativity (of an operator) : asosiatif (dari operator)
Sifat menjadi non-asosiatif, asosiatif kanan, atau asosiatif kiri.
3.12 atom
Objek dasar, dilambangkan dengan pengenal (lihat 6.1.2 b, 7.1.4).
3.13 atom
null
lihat null atom
3.14 atom
one-char : satu karakter
lihat atom satu-char
3.15 atomic term : istilah atom
Sebuah atom atau nomor.
3.16 axiom : aksioma
Aturan yang dipenuhi oleh suatu operasi dan semua nilai dari tipe data yang dimiliki oleh operasi tersebut.
3.17 backtrack : mundur
to
Untuk kembali ke titik pilihan tujuan saat ini untuk mencoba menjalankannya kembali.
3.18 bias : bias
exponent : eksponen
lihat bias eksponen
ISO IEC 13211-1 Klausa 3.19 – 3.35
3.19 body
Sebuah tujuan, dibedakan oleh konteksnya sebagai bagian dari aturan.
Lihat: 3.154
3.20 bootstrapped (built-in predicate) : bootstrap (predikat bawaan)
Didefinisikan sebagai kasus khusus dari predikat bawaan yang lebih umum.
3.21 built-in predicate : predikat bawaan
Prosedur yang eksekusinya diimplementasikan oleh prosesor.
3.22 byte
Sebuah bilangan bulat dalam kisaran [0..255].
3.23 C
Kumpulan characters (karakter).
3.24 callable term : istilah yang dapat dipanggil
Sebuah atom atau istilah senyawa.
3.25 CC
Kumpulan character codes (kode karakter)
3.26 character : karakter
Anggota C — set karakter yang ditentukan implementasi.
3.27 character : karakter
quoted : dikutip
lihat karakter yang dikutip
3.28 character : karakter
unquoted : tidak dikutip
lihat karakter tanpa tanda kutip
3.29 character-conversion mapping : pemetaan konversi karakter
Pemetaan pada set karakter, C, yang menetapkan bahwa, dalam beberapa unit dan sumber teks Prolog, beberapa karakter dimaksudkan untuk setara dengan karakter lain, dan dikonversi ke karakter tersebut.
lihat convc
3.30 choicepoint : titik pilihan
Sebuah keadaan selama eksekusi dari mana tujuan dapat dieksekusi di lebih dari satu cara.
3.31 class (of an operator) : kelas (dari operator)
Kelas dari sebuah operator menentukan apakah itu sebuah prefix, infix, atau postfix operator.
3.32 clause : ayat
Sebuah fakta atau aturan. Ini memiliki dua bagian: kepala, dan tubuh.
- Catatan 1 : Dalam Standar Internasional ISO/IEC “klausa” memiliki arti: salah satu paragraf bernomor dari suatu standar. Di bagian ISO/IEC 13211 ini, konteksnya membedakan dua arti.
3.33 clause-term : klausa-term
Suatu read-term T. dalam teks Prolog di mana T tidak memiliki fungsi utama (:-)/!.
3.34 collating sequence : menyusun urutan
Implementasi yang didefinisikan pengurutan yang ditentukan pada set karakter C.
3.35 complete database : database lengkap
Serangkaian prosedur sehubungan dengan eksekusi yang dilakukan.
ISO IEC 13211-1 Klausa 3.36 – 3.45
3.36 composition (of two substitutions) : komposisi (dari dua substitusi)
Pemetaan yang dihasilkan dari penerapan substitusi pertama diikuti dengan penerapan yang kedua. Komposisi substitusi 1 dan 2 dinotasikan 1 o σ2 Ketika komposisi bekerja pada suku t, dilambangkan dengan ta\(T2, dengan arti ((tσ1)σ2).
3.37 compound term : istilah majemuk
Sebuah fungsi dari aritas N, N positif, bersama dengan urutan argumen N (lihat 6.1.2 e, 7.1.5).
3.38 configuration : konfigurasi
Komputer host dan target, sistem operasi apa pun, dan perangkat lunak yang digunakan untuk mengoperasikan prosesor.
3.39 conforming processor : conforming processor
Conforming processor dengan semua klausul kepatuhan (lihat 5.1) untuk prosesor di bagian ISO/IEC 13211 ini.
3.40 conforming Prolog data : data Prolog yang sesuai
Urutan karakter dan byte yang sesuai dengan semua klausul kepatuhan untuk data Prolog di bagian ISO/IEC 13211 ini.
3.41 conforming Prolog text : sesuai teks Prolog
Urutan karakter yang sesuai dengan semua klausa kepatuhan untuk teks Prolog di bagian ISO/IEC 13211 ini.
3.42 construct : membangun
control : kontrol
lihat konstruksi kontrol
3.43 constructor : konstruktor
list : daftar
lihat pembuat daftar
3.44 contain : berisi
to
Suatu suku T1 mengandung suku lain T2 jika Tl dan T2 adalah suku-suku yang identik, atau Tl adalah suku majemuk, yang salah satu argumennya mengandung T2.
3.45 control construct : konstruksi kontrol
Prosedur yang definisinya merupakan bagian dari prosesor Prolog.
ISO IEC 13211-1 Klausa 3.46 – 3.51
3.46 Convc
Pemetaan konversi karakter pada C (kumpulan karakter) yang menetapkan bahwa, di beberapa unit dan sumber teks Prolog, beberapa karakter dikonversi ke karakter lain.
lihat pemetaan konversi karakter
Nilai awal Convc adalah identity_mappingc.
Catatan 1:
- 1 Directive atau goal char.convers i on ( In, Out) (7.4.2.5, 8.14.5) menggantikan Convc dengan memperbarui -mapping c (in, Out, Convc).
- 2 Karakter C yang tidak dikutip yang merupakan bagian dari read-term yang dimasukkan oleh read.term/3 (8.14.1) atau sebagai teks Prolog diganti dengan apply .mapping c(C, Convc)
- 3 Convc dapat diperiksa dengan memanggil current-Char_conversion/2 (8.14.6).
- 4 Alasan untuk menyediakan fasilitas ini adalah karena beberapa set karakter tambahan (misalnya, set karakter JIS Jepang) digunakan dengan set karakter dasar dan berisi karakter yang setara dengan yang ada di set karakter dasar dengan pengkodean yang berbeda. Dalam kasus seperti itu, pengguna akan sering menginginkan arti karakter dalam data Prolog dan teks Prolog sama terlepas dari penyandiannya.
3.47 convert (from type A to type B) : mengkonversi (dari tipe A ke tipe B)
Sebuah operasi yang tanda tangannya adalah
convertA→B : A →B U {error}
yang mengubah nilai tipe A menjadi tipe B. Ini akan menjadi kesalahan jika konversi tidak dapat dilakukan.
Misalnya, lihat mengonversi istilah ke klausa dan sebaliknya (7.6), konversi karakter (3.29, 7.4.2.5, 8.14.5), dan mengonversi nilai floating point ke nilai integer dan sebaliknya (9.1.6) .
3.48 copy : salinan
renamed (of a term) : berganti nama (dari istilah)
lihat salinan berganti nama
3.49 CT
Himpunan suku majemuk (lihat 6.1.2 e, 7.1.5).
3.50 cut : memotong
Konstruksi kontrol yang efeknya adalah menghapus semua titik pilihan kembali ke status eksekusi yang lebih dalam yang ditentukan oleh cutparent-nya.
3.51 data
conforming Prolog : sesuai Prolog
lihat data Prolog yang sesuai
Klausa 3.52 – 3.67
3.52 database : basis data
Kumpulan prosedur yang ditentukan pengguna yang saat ini ada selama eksekusi.
3.53 database : basis data
complete : menyelesaikan
lihat database lengkap
3.54 data type : tipe data
Satu set nilai dan satu set operasi yang memanipulasi nilai-nilai tersebut.
3.55 data type : tipe data
arithmetic
lihat tipe data aritmatika
3.56 denormalized value : nilai terdenormalisasi
Nilai floating point tipe F memberikan kurang dari presisi penuh yang diizinkan oleh F (lihat Fd, 7.1.3).
3.57 directive : pengarahan
Sebuah istilah D yang mempengaruhi makna teks Prolog (lihat 7.4.2), dan dilambangkan dalam teks Prolog itu dengan istilah direktif (D) .
3.58 directive-term : istilah direktif
Sebuah suku baca T. dalam teks Prolog di mana T memiliki fungsi utama ( : — ) /1.
3.59 dynamic (of a procedure) : dinamis (dari suatu prosedur)
Prosedur dinamis adalah prosedur yang klausanya dapat diperiksa atau diubah selama eksekusi, misalnya dengan menegaskan atau mencabut klausa *.
3.60 effect : memengaruhi
side : samping
lihat efek samping
3.61 element (of a list) : elemen (dari daftar)
Elemen non-emptylist adalah kepala daftar atau elemen ekor daftar. Daftar kosong tidak memiliki elemen.
3.62 emptylist : daftar kosong
atom [ ] (nol).
3.63 error : kesalahan
Keadaan khusus yang menyebabkan proses eksekusi normal terganggu.
3.64 évaluable functor : fungsi yang berharga
Fungsi utama ekspresi.
3.65 evaluate : evaluasi
Untuk mengurangi ekspresi ke nilainya.
3.66 exceptional value : nilai luar biasa
Nilai non-numerik dari ekspresi: float_overflow, int_overflow, underflow, zero.divisor, atau undefined.
- Catatan 1 : Ini adalah kesalahan evaluasi (E) ketika nilai ekspresi adalah nilai luar biasa.
3.67 execution (verb : eksekusi (kata kerja
untuk mengeksekusi): Proses dimana prosesor Prolog mencoba untuk memenuhi tujuan.
Klausa 3.68 – 3.83
3.68 exponent bias : bias eksponen
Angka yang ditambahkan ke eksponen angka floating point, biasanya untuk mengubah eksponen menjadi bilangan bulat yang tidak ditandatangani.
3.69 expression : ekspresi
Sebuah istilah atom atau istilah senyawa yang dapat dievaluasi untuk menghasilkan nilai.
3.70 extension : perpanjangan
Fasilitas yang disediakan oleh prosesor yang tidak ditentukan dalam bagian ISO/IEC 13211 ini tetapi tidak akan menimbulkan ambiguitas atau kontradiksi jika ditambahkan ke bagian ISO/IEC 13211 ini.
3.71 F
Himpunan nilai floating point (lihat 6.1.2 d, 7.1.3).
3.72 fact : fakta
Sebuah klausa yang tubuhnya adalah tujuan yang benar.
- Catatan 1 : Sebuah fakta dapat direpresentasikan dalam teks Prolog dengan suku yang fungsi utamanya bukan ( : – ) /1 atau ( : – ) / 2.
3.73 fail : gagal
to
eksekusi tujuan gagal jika tidak puas.
3.74 file name : nama file
Sebuah implementasi yang ditentukan * istilah dasar yang mengidentifikasi ke prosesor sebuah file yang akan digunakan untuk input/output selama eksekusi teks Prolog.
3.75 flag : bendera
Sebuah atom yang dikaitkan dengan implementasi yang ditentukan atau nilai yang ditentukan pengguna.
3.76 floating point value : nilai titik mengambang
Anggota himpunan F (lihat 6.1.2 d, 7.1.3).
3.77 functor : fungsi
Pengidentifikasi bersama dengan arity.
3.78 functor name : nama fungsi
Pengidentifikasi functor.
3.79 function : fungsi
rounding : pembulatan
lihat fungsi pembulatan
3.80 functor : fungsi
principal : Kepala Sekolah
lihat fungsi utama
3.81 goal :sasaran
Predikasi yang akan dieksekusi (lihat isi, kueri, dan 7.7.3).
3.82 ground term : istilah dasar
Sebuah istilah atom atau istilah majemuk yang argumen semua dasar. Sebuah istilah adalah dasar sehubungan dengan substitusi jika penerapan substitusi menghasilkan istilah dasar.
3.83 head (of a list) : kepala (dari daftar)
Argumen pertama dari non-emptylist.
Klausa 3.84 – 3.96
3.84 head (of a rule) : kepala (dari aturan)
Predikasi, dibedakan berdasarkan konteksnya.
3.85 Herbrand algorithm : Algoritma Herbrand
Sebuah algoritma yang menghitung MGU pemersatu paling umum dari satu set persamaan (lihat 7.3.2).
3.86 I
Himpunan bilangan bulat (lihat 6.1.2 c, 7.1.2).
3.87 identical terms : istilah identik
Dua istilah identik jika mereka memiliki sintaksis abstrak yang sama (lihat 6.1.2).
3.88 identifier : pengenal
Sebuah objek tidak terstruktur dasar yang digunakan untuk menunjukkan sebuah atom, nama functor atau nama predikat.
3.89 iff
Jika dan hanya jika.
3.90 implementation defined : implementasi ditentukan
Didefinisikan sebagian oleh bagian ISO/IEC 13211, dan sebagian lagi oleh dokumentasi yang menyertai prosesor.
3.91 implementation dependent : tergantung implementasi
Fitur yang bergantung pada implementasi bergantung pada prosesor.
- Catatan 1 : Bagian ISO/IEC 13211 ini tidak memerlukan fitur yang bergantung pada implementasi untuk didefinisikan dalam dokumentasi prosesor yang menyertainya.
3.92 implementation specific : spesifik implementasi
Tidak ditentukan oleh bagian ISO/IEC 13211 ini tetapi didukung oleh conforming processor.
- Catatan 1 : Bagian ISO/IEC 13211 ini tidak memerlukan fitur implementasi khusus untuk didukung oleh conforming processor, tetapi mempertahankan sintaks dan semantik dari teks Prolog yang benar-benar sesuai yang tidak menggunakannya, misalnya, mendefinisikan urutan istilah pada variabel, atau mendefinisikan penyatuan untuk istilah yang STO (3.165).
3.93 indicator : indikator
predicate : predikat
lihat indikator predikat
3.94 input/output mode : mode masukan/keluaran
Sebuah atom yang mewakili atribut aliran. Prosesor harus mendukung mode input/output: baca, tulis, tambahkan.
3.95 instance (of a term) : contoh (dari istilah)
Hasil penerapan substitusi pada istilah.
Jika t adalah suku dan substitusi, turunan dari t oleh a dinotasikan ta.
3.96 instantiated : dipakai
Sebuah variabel dipakai sehubungan dengan substitusi jika penerapan substitusi menghasilkan istilah atom atau istilah senyawa.
Sebuah istilah dipakai jika salah satu variabelnya dipakai.
Klausa 3.97 – 3.114
3.97 integer value : nilai bilangan bulat
Anggota himpunan I (lihat 6.1.2 c, 7.1.2).
3.98 level : tingkat
top : atas
lihat top level
3.99 list : daftar
Baik daftar kosong atau non-daftar kosong.
- Catatan 1 : Contoh: [], [a, X], [1, 2, _] , [a | [b] ]
3.100 listconstructor : pembuat daftar
Fungsi utama .’/2 digunakan untuk membuat daftar.
3.101 list : daftar
empty : kosong
lihat daftar kosong
3.102 list : daftar
non-empt y : tidak kosong
lihat daftar tidak kosong
3.103 list : daftar
partial : sebagian
lihat daftar sebagian
3.104 list : daftar
read-options : opsi baca
lihat daftar opsi baca
3.105 list : daftar
write-options : opsi tulis
lihat daftar opsi tulis
3.106 mapping : pemetaan
Tipe dataMj di mana T adalah tipe data.
3.107 mode : mode
input/output : input output
lihat mode masukan/keluaran
3.108 most general unifier (MGU) : pemersatu paling umum (MGU)
Pemersatu paling umum (MGU) dari istilah adalah substitusi minimal yang bekerja pada istilah untuk membuat mereka identik. Setiap pemersatu adalah turunan dari beberapa MGU.
- Catatan 1 : Ini didefinisikan hingga penggantian nama variabel. Jika idempoten tidak ada variabel dari domainnya yang muncul dalam istilah yang dihasilkan. MGU idempoten dapat dihitung dengan algoritma Herbrand (lihat 7.3.2).
3.109 name (of atom) : nama (atom)
Urutan karakter yang membedakan atom dari atom yang berbeda (lihat 6.1.2 b).
3.110 name : nama
file : mengajukan
lihat nama file
3.111 name : nama
functor : fungsi
lihat nama fungsi
3.112 name : nama
predicate : predikat
lihat nama predikat
3.113 named variable : variabel bernama
Variabel yang bukan merupakan variabel anonim (lihat 6.1.2 a, 6.4.3).
3.114 non-empty list : daftar tidak kosong
Suku majemuk yang fungsi utamanya adalah konstruktor daftar dan argumen keduanya adalah daftar.
Klausa 3.115 – 3.132
3.115 normalized value : nilai yang dinormalisasi
Nilai floating point typeF yang memberikan presisi penuh yang diizinkan oleh F.
3.116 NSTO
Not subject to occurs-check.
3.117 null atom : atom nol
atom.
3.118 number : nomor
Nilai integer atau nilai floating point.
3.119 one-char atom : atom satu-char
Sebuah atom yang namanya adalah karakter tunggal.
3.120 operand (of a compound term or predication) : operan (dari istilah majemuk atau predikat)
Argumen dari istilah majemuk {predikasi) yang nama fungsi (nama predikat) adalah operator.
3.121 operand (of an operation) : operan (dari suatu operasi)
Nilai yang diberikan ke operasi yang ditentukan oleh tanda tangan dan satu atau lebih aksioma.
3.122 operator : operator
Nama fungsi atau nama predikat yang memungkinkan istilah majemuk atau predikat masing-masing, untuk dinyatakan dalam bentuk awalan, sisipan, atau pascafiksasi.
3.123 operator : operator
predefined : sudah ditentukan sebelumnya
lihat operator yang telah ditentukan sebelumnya
3.124 options : pilihan
stream : sungai kecil
lihat opsi aliran
3.125 partial list : daftar sebagian
Variabel, atau suku majemuk yang fungsi utamanya adalah konstruktor daftar dan argumen keduanya adalah daftar parsial.
- Catatan 1 : Konsep daftar parsial digunakan dalam 8.5.3. Contoh: A, [a | X], [1, 2 | B]
3.126 position : posisi
stream : sungai kecil
lihat posisi aliran
3.127 precision : presisi
Jumlah digit dalam pecahan nilai floating point.
3.128 predefined operator : operator yang telah ditentukan sebelumnya
Operator yang awalnya disediakan oleh prosesor..
3.129 predicate : predikat
Pengidentifikasi bersama dengan arity.
3.130 predicate : predikat
built-in : bawaan
lihat predikat bawaan
3.131 predicate indicator : indikator predikat
Suku majemuk a/n, di mana a adalah atom dan n adalah bilangan bulat non-negatif, yang menunjukkan satu prosedur tertentu.
3.132 predicate name : nama predikat
Pengidentifikasi predikat.
Klausa 3.133 – 3.145
3.133 predication : benaran
Predikat dengan arity N dan urutan argumen N.
3.134 principal functor : fungsi utama
Fungsi utama dari suku majemuk adalah F/N jika fungsi dari suku majemuk adalah F dan aritasnya adalah N.
Fungsi utama suatu suku atom adalah c/0 jika suku atom adalah c.
3.135 private (of a procedure) : pribadi (dari suatu prosedur)
Prosedur privat adalah prosedur yang klausanya tidak dapat diperiksa selama eksekusi.
3.136 procedure : prosedur
Konstruksi kontrol, predikat bawaan, atau prosedur yang ditentukan pengguna. Sebuah prosedur adalah baik statis atau dinamis. Suatu prosedur bersifat privat atau publik.
3.137 procedure : prosedur
user-defined : ditetapkan pengguna
lihat prosedur yang ditentukan pengguna
3.138 processor : prosesor
Kompiler atau juru bahasa yang bekerja dalam kombinasi dengan konfigurasi.
3.139 processor : prosesor
conforming : sesuai
lihat conforming processor
3.140 Prolog data : Data awal
Suatu urutan dari read-terms.
3.141 Prolog text : teks prolog
Urutan read-terms yang menunjukkan arahan dan klausa.
3.142 public (of a procedure) : publik (dari suatu prosedur)
Prosedur publik adalah prosedur yang klausanya dapat diperiksa selama eksekusi, misalnya dengan memanggil klausa predikat bawaan/2.
3.143 query : pertanyaan
Sebuah tujuan yang diberikan sebagai masukan interaktif ke tingkat atas.
- Catatan 1 : Bagian ISO/IEC 13211 ini tidak mendefinisikan atau memerlukan prosesor untuk mendukung konsep tingkat atas.
3.144 quoted character : karakter yang dikutip
Karakter dalam teks Prolog atau data Prolog yang merupakan karakter kutip tunggal atau karakter kutip ganda atau karakter kutip belakang.
- Catatan 1 : Misalnya, ‘ a ‘ ‘ b\ ‘ c ‘ berisi 5 karakter yang dikutip (1) a, (2) (3) b, (4) ‘ (meta escape sequence), (5) c.
3.145 R
Himpunan bilangan real.
Klausa 3.146 – 3.156
3.146 read-option : opsi baca
Istilah majemuk dengan argumen * yang tidak digunakan yang memperkuat hasil yang dihasilkan oleh predikat bawaan read.term/3 (8.14.1) dan predikat bawaan * bootstrap yang didasarkan padanya.
3.147 read-options list : daftar opsi baca
Daftar opsi baca.
3.148 read-term : istilah baca
Istilah yang diikuti oleh token akhir.
3.149 re-execute : eksekusi ulang
to
Mengeksekusi kembali suatu tujuan berarti mencoba memenuhinya lagi.
3.150 renamed copy : salinan berganti nama
(dari istilah) Sebuah varian khusus dari istilah.
3.151 retract : menarik
to
Untuk menarik kembali klausa berarti menghapusnya dari prosedur yang ditentukan pengguna dalam database yang ditentukan oleh predikat klausa itu.
3.152 rounding : pembulatan
Menghitung nilai akhir yang dapat direpresentasikan (untuk suatu operasi) yang mendekati nilai yang tepat (tetapi tidak dapat direpresentasikan) untuk operasi tersebut.
3.153 rounding function : fungsi pembulatan
Sebuah fungsi dengan tanda tangan: rnd : R→X(dimana X adalah subset diskrit dari R)
yang memetakan setiap anggota X ke dirinya sendiri, dan monoton tidak menurun. Secara formal, jika x dan y berada di R,
x X => rnd(x) = x
x < y => rnd(x) < rd{y)
Catatan 1 : Jika u R berada di antara dua nilai yang berdekatan dalam X, rnd(u) memilih salah satu dari nilai-nilai yang berdekatan tersebut.
3.154 rule : aturan
Sebuah klausa yang tubuhnya bukan tujuan yang benar. Selama eksekusi, jika body benar untuk beberapa substitusi, maka head juga benar untuk substitusi itu. Aturan direpresentasikan dalam teks Prolog dengan istilah yang fungsi utamanya adalah ( : — ) / 2 di mana argumen pertama diubah menjadi kepala, dan argumen kedua diubah menjadi badan.
3.155 satisfy : memuaskan
to : ke
Untuk memenuhi tujuan adalah untuk melaksanakannya dengan sukses.
3.156 sequence : urutan
collating :
lihat collating sequence
Klausa 3.157 – 3.170
3.157 side effect : efek samping
Efek non-logis dari aktivator selama eksekusi.
3.158 signature effect : tanda tangan
Spesifikasi operasi yang mendefinisikan namanya, dan jenis operan dan nilainya.
- Catatan 1 : Operasi selanjutnya didefinisikan oleh satu atau lebih aksioma.
Misalnya tanda tangan:
addi : I x I —→ I U {int_overflow}
mendefinisikan operasi penjumlahan yang mengambil dua operan bilangan bulat (I x I) dan menghasilkan nilai bilangan bulat tunggal (I) atau nilai luar biasa int_overflow.
3.159 sink effect : tenggelam
Objek fisik tempat prosesor mengeluarkan hasil, misalnya file, terminal, atau saluran komunikasi antarproses.
3.160 source effect : sumber
Objek fisik dari mana prosesor memasukkan data, misalnya file, terminal, atau saluran komunikasi antarproses.
3.161 source/sink effect : sumber/wastafel
Sebuah sumber atau wastafel.
3.162 specifier (of an operator) effect : specifier (dari operator)
Salah satu atom fx, fy, xfx, xfy, yfx, xf atau yf. Sebuah specifier menunjukkan kelas dan asosiatifitas dari sebuah operator.
3.163 stack effect : tumpukan
Tipe data SD di mana D adalah tipe data.
3.164 static (of a procedure) effect : statis (dari suatu prosedur)
Prosedur statis adalah prosedur yang klausanya tidak dapat diubah.
3.165 STO
Subject to occurs-check
3.166 stream effect : sungai kecil
Koneksi ke sumber atau wastafel.
3.167 stream-options effect : efek opsi aliran
Daftar nol atau lebih istilah yang menentukan karakteristik tambahan di atas dan di atas yang diberikan oleh mode aliran.
3.168 stream position effect : efek posisi aliran
Posisi absolut dalam sumber/sink yang terhubung dengan aliran.
3.169 stream effect
target effect
Lihat 7.10.2.5 — aliran target.
3.170 stream-term : istilah aliran
Istilah dasar * yang bergantung pada implementasi yang mengidentifikasi aliran di dalam teks Prolog.
Klausa 3.171 – 3.187
3.171 substitution : pengganti
Pemetaan dari variabel ke istilah. Dengan ekstensi substitusi bertindak pada istilah dengan bertindak pada setiap variabel dalam istilah.
- Catatan 1 : Substitusi diwakili oleh huruf Yunani (misalnya , , .) yang bertindak sebagai operator postfix, misalnya:
Substitution | σ | { X → a, Y —> 3 + Z, Z —→ b } |
Term | T | foo(X, Y, Z) |
New term | Ta | foo(a, 3 + Z, b) |
3.172 succeed : berhasil
to
Eksekusi tujuan berhasil jika puas.
3.173 tail
Argumen kedua dari daftar yang tidak kosong .
3.174 target stream : aliran sasaran
Lihat 7.10.2.5 — Aliran target.
3.175 term : istilah
Sebuah istilah atom, istilah senyawa atau variabel.
3.176 term : istilah
atomic : atom
lihat istilah atom
3.177 term : istilah
callable : bisa dipanggil
lihat istilah yang dapat dipanggil
3.178 term : istilah
compound : menggabungkan
lihat istilah majemuk
3.179 term : istilah
ground : dasar
lihat istilah dasar
3.180 terms : istilah
identical : identik
lihat istilah identik
3.181 term-precedes : istilah-mendahului
Relasi biner pada himpunan istilah yang mendefinisikan urutan total istilah.
3.182 term : istilah
stream : aliran
lihat istilah aliran
3.183 text : teks
conforming Prolog : sesuai Prolog
lihat sesuai teks Prolog
3.184 text : teks
Prolog : Prolog
lihat teks prolog
3.185 top level : level tertinggi
Sebuah proses dimana prosesor Prolog berulang kali memasukkan dan mengeksekusi kueri *.
- Catatan 1 : Bagian ISO/IEC 13211 ini tidak mendefinisikan atau memerlukan prosesor untuk mendukung konsep tingkat atas.
3.186 type : Tipe
Jenis istilah adalah properti dari istilah tergantung pada sintaks dan merupakan salah satu dari: atom, bilangan bulat, floating point, variabel atau istilah senyawa.
3.187 type : Tipe
data : data
lihat tipe data
Klausa 3.188 – 3.203
3.188 undefined : tidak terdefinisi
Sebuah fitur tidak terdefinisi jika bagian dari ISO/IEC 13211 (1) menyatakan itu tidak terdefinisi, atau (2) tidak membuat persyaratan mengenai pelaksanaannya.
3.189 unifiable : tidak dapat dipisahkan
Dua atau lebih istilah tidak dapat disatukan jika ada pemersatu untuk mereka.
3.190 unifier (of two or more terms) : pemersatu (dari dua atau lebih istilah)
Substitusi sedemikian rupa sehingga menerapkan substitusi ini ke setiap istilah menghasilkan istilah yang identik.
3.191 unifier : pemersatu
most general : paling umum
lihat pemersatu paling umum (MGU)
3.192 unify : menyatukan
to
Untuk menemukan dan menerapkan pemersatu paling umum dari dua istilah dengan berhasil mengeksekusi (secara eksplisit atau implisit) predikat bawaan ( = ) / 2 (menyatukan).
3.193 uninstantiated : tidak berdasar
Sebuah variabel uninstantiated ketika tidak instantiated.
3.194 unquoted character : karakter tanpa tanda kutip
Karakter dalam teks Prolog atau data Prolog yang bukan karakter kutipan.
3.195 user-defined procedure : prosedur yang ditentukan pengguna
Prosedur yang didefinisikan oleh urutan klausa di mana kepala setiap klausa memiliki indikator predikat yang sama, dan setiap klausa dinyatakan oleh teks Prolog atau telah ditegaskan selama eksekusi.
3.196 V
Himpunan variabel, (lihat 6.1.2 a, 7.1.1).
3.197 value : nilai
denormalized : dinormalisasi
lihat nilai terdenormalisasi
3.198 value : nilai
exceptional : luar biasa
lihat nilai luar biasa
3.199 value : nilai
normalized : dinormalisasi
lihat nilai yang dinormalisasi
3.200 variable : variabel
Sebuah objek yang mungkin menjadi instantiated ke istilah selama eksekusi, (lihat 6.1.2 a, 7.1.1).
3.201 variable : variabel
anonymous : anonim
lihat variabel anonim
3.202 variable : variabel
named : bernama
lihat variabel bernama
3.203 variable set (of a term) : himpunan variabel (dari suatu istilah)
Lihat 7.1.1.1 — Himpunan variabel dari suatu istilah.
Klausa 3.204 – 3.208
3.204 variant (of a term) : varian (dari istilah)
Lihat 7.1.6.1 — Varian dari sebuah istilah.
Tabel 1 — Set dasar
Symbol | Mathematical Type |
R | real numbers |
Z | integers |
B | Boolean (= {true, false}) |
3.205 witness (of a set of variables) : saksi (dari satu set variabel)
Lihat 7.1.1.2 — Saksi dari himpunan variabel.
3.206 write-option : opsi tulis
Istilah dasar yang mengontrol output yang dihasilkan oleh predikat bawaan write_term/3 (8.14.2) dan predikat bawaan * bootstrapnya.
3.207 write-options list : daftar opsi tulis
Daftar opsi tulis.
3.208 Z
Himpunan bilangan bulat matematika.
Penutup
Demikian artikel dari standarku.com mengenai Standar ISO/IEC 13211-1:1995.
Mohon saran dari pembaca untuk kelengkapan isi artikel ini, silahkan saran tersebut dapat disampaikan melalui kolom komentar.
Baca artikel lain :
- International Organization for Standardization
- Memahami apa itu Standar ISO
- Memahami Standard atau Standar
Sumber referensi :