InteLib

InteLib
Típusú Könyvtár többparadigmás programozáshoz
Fejlesztő András Vikt. Sztoljarov
Beírva C++
Operációs rendszer Unix -szerű , Microsoft Windows
legújabb verzió
Engedély GNU LGPL
Weboldal intelib.org

Az InteLib  egy C++ osztálykönyvtár , amely a Lisp számítási modellt modellezi , és olyan műveletsort biztosít, amely lehetővé teszi Lisp S-kifejezések leírását szintaktikailag közeli aritmetikai kifejezésekkel a C++-on belül. A könyvtárat többparadigmás programozási eszközként hozták létre .

Alapelvek

A könyvtár a heterogén S-kifejezések objektum-orientált modelljét kínálja, amely S-kifejezés-kiértékelési művelettel van felszerelve Lisp szempontjából. A modellt alkotó osztályok újradefiniált infix műveletekkel vannak felszerelve, amelyek lehetővé teszik az S-kifejezések írását C++ aritmetikai kifejezések formájában, amelyek vizuálisan közel állnak hozzájuk. Tehát számos, az InteLib-nek szentelt cikkben egy példa található a Lisp függvényében:

( defun izomorf ( fa1 fa2 ) ( cond ( ( atom fa1 ) ( atom fa2 ) ) ( ( atom fa2 ) NIL ) ( t ( és ( izomorf ( autófa1 ) ( autófa2 ) ) ( izomorf ( cdr fa1 ) ( cdr fa2 )) )))))

Az InteLib használatával ez a kódrészlet a következő C++ kifejezésként írható fel:

( L | DEFUN , IZOMORPHIC , ( L | TREE1 , TREE2 ), ( L | COND , ( L | ( L | ATOM , TREE1 ), ( L | ATOM , TREE2 )), ( L | ( L | ATOM , TREE2 ), NIL ), ( L | T , ( L | ÉS , ( L | IZOMORPHIC , ( L | CAR , TREE1 ), ( L | CAR , TREE2 )), ( L | IZOMORPHIC , ( L | CDR , TREE1 ), ( L | CDR , TREE2 )) ))))

Itt L egy olyan típusú változót mutatunk be, amely egy elemből listát készítő LListConstructorművelethez vezet be . L|A művelet eredménye annak az osztálynak egy objektuma, LReferenceamelynél a "vessző" művelet újradefiniálva van - az InteLib könyvtárban ez a művelet új elemek hozzáadására szolgál a meglévő listához.

A teljes kifejezés eredménye egyben az osztály objektuma is LReference. Evaluate()Az ebben az osztályban leírt módszer lehetővé teszi egy kifejezés kiértékelését a Lisp nyelv szabályai szerint. Egy ilyen számítás eredménye egy új S-kifejezés lesz, amelyet, mint mindig, egy osztályú objektum képvisel LReference.

DEFUN, ISOMORPHIC, stb. a fenti példában a Lisp szimbólum fogalmát képviselő TREE1osztály változói .LSymbol

Jellemzők

Az InteLib jelenlegi verziója tartalmaz egy eszközkészletet az S-kifejezések heterogén adatstruktúrákként való kezeléséhez (kiértékelés nélkül), valamint számítási modelleket a Lisp és a Scheme (pontosabban az InteLib Lisp és InteLib Scheme olyan dialektusaihoz, amelyek nem felelnek meg a e nyelvek szabványai). A csomag tartalmaz interaktív tolmácsokat mindkét dialektushoz, valamint olyan fordítókat, amelyek egy hagyományos Lisp vagy Scheme szintaxisú modult vesznek bemenetként, és létrehoznak egy C++ modult fejlécfájllal.

Történelem

A könyvtár első működő változatát A. Stolyarov írta 1999 -ben a Moszkvai Állami Egyetem VMC karán végzett mesterképzési munkája során.

Az InteLib könyvtárat A. Stolyarov és E. Bolshakova A. Stolyarov és E. Bolshakova Funkcionális technikák építése objektum-orientált nyelvbe [1] cikkében említették először hivatalosan a JCKBSE'2000 konferencián Brünnben 2000 szeptemberében.

2002-ben A. Stolyarov megvédte Ph.D. értekezését Heterogén nyelvi mechanizmusok integrációja egyetlen programozási nyelven belül , amely az InteLib könyvtárban megvalósított közvetlen integrációs módszert mutatja be.

Ahogy az InteLib hivatalos honlapján is olvasható, a könyvtár neve az Intelligence Library szavakból származik, ami a szerző eredeti szándékát tükrözi, hogy mesterséges intelligencia nyelvek számítási modelljeit C ++ projektekbe integrálja.

Engedélyezés

Az InteLib könyvtár ingyenes szoftver . Maga a könyvtár LGPL licenc alatt , a hozzá tartozó fordítók és tolmácsok GPL licenc alatt kerülnek terjesztésre.

Linkek

Jegyzetek

  1. E. Bolshakova és A. Stolyarov. Funkcionális technikák objektum-orientált rendszerré építése. Tudásalapú szoftverfejlesztésben. Proceedings of the 4th JCKBSE, The Frontiers in Artificial Intelligence and Applications , 62. kötet, 101--106. oldal, Brno, Cseh Köztársaság, 2000. szeptember. IOS Press, Amszterdam. ISBN 1-58603-060-4  ; http://www.croco.net/croco/papers/bolshakova_stolyarov_2000.ps Archiválva : 2016. március 4. a Wayback Machine -nél