WikiDer > Prolog dasturlarini taqqoslash

Comparison of Prolog implementations

Quyidagi Prolog dasturlarini taqqoslash ning turli xil qo'llanmalarining nisbiy xususiyatlar to'plamlari va ishlashi uchun ma'lumotnoma beradi Prolog kompyuter dasturlash tili.

Portativlik

Prolog mavjud amalga oshirish bir-biridan tubdan farq qiladigan, har xil sintaksisga va boshqa semantikaga ega bo'lgan (masalan, Visual Prolog)[1] va sub-jamoalar turli xil dasturlar atrofida rivojlangan.[1]

ISO-Prolog asosiy tiliga to'liq mos keladigan kod, ISO-ga mos keladigan dasturlarda ko'chma. Biroq, modullar uchun ISO standarti ko'pchilik Prolog dasturlari tomonidan hech qachon qabul qilinmagan.[1]

Portativlikka salbiy ta'sir ko'rsatishi mumkin bo'lgan omillarga quyidagilar kiradi: chegaralangan va cheksiz tamsayıli arifmetikadan foydalanish, qatorli ob'ektlar kabi qo'shimcha turlar, rivojlangan raqamli turlar (mantiqiy, murakkab), funktsiyalar kengaytmalari. Unicode, iplar va jadvallar.[2] Boshqa dasturlarda va kutubxonani tashkil qilishda mavjud bo'lmagan kutubxonalardan foydalanish:[1]

Hozirgi vaqtda predikatlarning kutubxonalarga tarqalishi va ichki o'rnatilgan tizimlar juda katta farq qiladi. [...] Yaxshiyamki, biz bir xil ismga ega, ammo semantikasi turlicha bo'lgan predikatlarni topadigan holatlar juda kam (masalan.) o'chirish / 3)

Asosiy xususiyatlar

PlatformaXususiyatlariAsboblar to'plamiProlog mexanikasi
IsmOSLitsenziyaMahalliy grafikalarTuzilgan kodUnicodeOb'ektga yo'naltirilganMahalliy operatsion tizimni boshqarishFaqat yolg'iz turingS interfeysi[3]Java interfeysi[3]Interaktiv tarjimonXatolarni tuzatuvchiKod profilerSintaksis
BPrologUnix, Windows, Mac OS XNotijorat maqsadlarda foydalanish uchun bepulHaHaHaHaHaHaHaHaHaHaISO-Prolog, shuningdek voqealarni boshqarish, CLP (FD) va jadvallar
JIPrologJVM, AndroidUmumiy ta'minot/ Tijorat va AGPLHaHaHa, Java orqaliHaHa, Java orqaliHaHaHaISO-Prolog
CiaoUnix, Windows, Mac OS XGPL, LGPLHaHaHaHaHaHaHaHaHaISO-Prolog, shuningdek kengaytmalar
DOS-PROLOGMS-DOSUmumiy ta'minotHaHaHaHaHaHaEdinburgh Prolog
ECLiPSeLinux, Windows, Solaris, macOSMPLHaHaHaHaHaHaHaKengaytirilgan Prolog, ko'p dialektli, shu jumladan ISO
GNU PrologUnix, Windows, Mac OS XGPL, LGPLHaHaHaHaHaHaISO-Prolog
Jekejeke PrologJVM, AndroidTarqatishni baholashHaHaHaHaHaHaHaHaISO-Prolog, Java API
JLogJVMGPLHaHaHaHaISO-Prolog
JScriptLogVeb-brauzerGPLHaISO-Prolog
jTrologJVMLGPLHaHaHaHaISO-Prolog testlar[doimiy o'lik havola]
LPA-PROLOGWindowsTijoratHaHaHaHaHaHaHaHaHaHaHaKengaytmalar bilan Edinburgh Prolog
Prolog-ni ochingMac OSBepul dasturHa
Poplog PrologLinux (32 va 64 bit), Unix, WindowsBepul ochiq manbaFaqat orqali POP-11, LinuxdaHaHaHaHaHaHaPoplog Common Lisp va Pop-11 interfeyslari bilan Edinburgh Prolog
SICStus PrologUnix, Linux, Windows, macOSTijoratHaHaHaHaHaHaHaHaHaHaHaISO-Prolog
Strawberry PrologWindows, UnixBepul dastur, TijoratHaHaHaHaHaISO-Prolog + kengaytmalari emas
SWI-PrologUnix, Linux, Windows, macOSBSD litsenziyasiHaHaHaHaHaHaHaHaHaHaISO-Prolog, Edinburg Prolog
tuPrologJVM, AndroidLGPLHaHaHaHaHaHaISO-Prolog
Visual PrologWindowsBepul dastur, TijoratHaHaHaHaHaHaHaHaHa
XSB PrologLinux, Windows, Solaris, macOSLGPLHaHaHaHaHaHaHaHaHaISO-Prolog, jadvalga kiritilgan WFS
YAP-PrologLinux, Windows, Solaris, Mac OS X, HP-UXGPL yoki badiiy (foydalanuvchi tanlovi)HaHaHaHaHaHaHaHaEdinburg, ISO-Prolog, Quintus va SICStus Prolog mos keladi

Operatsion tizim va Internet bilan bog'liq xususiyatlar

Internet bilan bog'liq
IsmShartli kompilyatsiyaSoketlarKo'p tishliTabletkaHTTP mijoziHTTP-serverHTML tahlilchisiRDF Triple do'koni
BPrologHa
CiaoHaHaHaHaHaHaHa
ECLiPSeHaHaHaHaHa
GNU PrologHa
Jekejeke PrologHaHaHaHaHa
LPA-PrologHaHaHaHa
SICStus PrologHaHaHa
SWI-PrologHaHaHaHaHaHaHaHa
Visual PrologHaHaHaHaHaHa
XSBHaHaHaHaHa
YAP-PrologHaHaHaHa

Statik tahlil

IsmTip tekshiruvchisiQat'iylikni tekshiruvchiQo'ng'iroq naqshini tekshiruvchi
CiaoHaHaHa
GNU Prolog
Jekejeke Prolog
SICStus PrologHa
SWI-PrologHa
Visual PrologHaHaHa
XSB
YAP-Prolog

Optimallashtirish

IsmQo'ng'iroqni optimallashtirishTanlov nuqtasini yo'q qilishAtrof-muhitni kesishVaqtni indekslash
CiaoHaHaHa?
ECLiPSeHaHaHako'p argumentli (kompilyatsiya vaqti)
GNU PrologHaHaHa?
Jekejeke PrologHa (ish vaqti)Ha (ish vaqti)Ha (ish vaqti)Ha
SICStus PrologHaHaHa
SWI-PrologHaHaHaHa
Visual PrologHa (kompilyatsiya vaqti)Ha (kompilyatsiya vaqti)Yo'qYo'q (kompilyatsiya vaqti)
XSBHaHaHa?
YAP-PrologHaHaHaHa

Chiqarish

IsmVersiyaSana
BProlog8.12014-02-23
JIProlog4.1.6.12018-03-17
Ciao1.19.02020-03-21
DOS-PROLOG6.0
ECLiPSe7.0_542020-02-26
GNU Prolog1.4.52018-07-14
Jekejeke Prolog1.3.12018-11-02
JLog1.3.62007-09-13
JScriptLog0.7.5 beta-versiyasi2007-09-10
jTrolog
LPA-PROLOG7.02019-12-19
Prolog-ni oching
Poplog PrologV15.652015-10-14
SICStus Prolog4.6.02020-05-04
Strawberry Prolog3.0 Beta 42013-12-10
SWI-Prolog8.2.32020-11-23
tuProlog3.2.12017-02-14
Visual Prolog9.0, qurish 9022019-04-26
XSB Prolog3.82017-10-29
YAProlog6.3.32013-01-21

Mezonlari

Adabiyotlar

  1. ^ a b v d Vilemaker, J .; Kosta, V. T. S. (2011). "Prolog dasturlarining ko'chirilishi to'g'risida". Deklarativ tillarning amaliy jihatlari. Kompyuter fanidan ma'ruza matnlari. 6539. p. 69. CiteSeerX 10.1.1.1030.9396. doi:10.1007/978-3-642-18378-2_8. ISBN 978-3-642-18377-5.
  2. ^ Jan Vielemaker va Vitor Santos Kosta: Prolog dasturlarining ko'chirilishi: nazariya va amaliy tadqiqotlar. CICLOPS-WLPE Workshop 2010 yil.
  3. ^ a b C / Java interfeysi grafik va operatsion tizimni boshqarish uchun ham ishlatilishi mumkin.
  4. ^ B. Demoen va P. Nguyen, Prolog dasturlari o'rtasidagi ishlashning keraksiz farqlari to'g'risida, Cheklov va mantiqiy dasturlash tizimlarini amalga oshirish bo'yicha kollokvium materiallari (CICLOPS 2001)
  5. ^ Bothe, K. (1990). "Prolog space benchmark to'plami". ACM SIGPLAN xabarnomalari. 25 (12): 54–60. doi:10.1145/122193.122197.
  6. ^ XSB ishlashining qisqacha mazmuni (1993)
  7. ^ Demoen, B .; Nguyen, P. L.; Vandeginste, R. (2002). "WAM uchun axlat yig'ish nusxasi: Belgilash uchunmi yoki yo'qmi?". Mantiqiy dasturlash. Kompyuter fanidan ma'ruza matnlari. 2401. 194–208 betlar. CiteSeerX 10.1.1.13.2586. doi:10.1007/3-540-45619-8_14. ISBN 978-3-540-43930-1.

Tashqi havolalar