ISO IEC 13211-1 Prolog bagian inti

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 }
TermTfoo(X, Y, Z)
New termTafoo(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

SymbolMathematical Type
Rreal numbers
Zintegers
BBoolean (= {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 :

Sumber referensi :

Leave a Comment