Lisaac

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. január 14-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
Lisaac
Nyelvóra objektum-orientált prototípus
Megjelent 2003
Szerző Benoit Sonntag
Fejlesztő Benoît Sonntag és Jérôme Boutet
Kiadás 0,42 (2020. november 9. ) ( 2020-11-09 )
Típusrendszer statikus gépelés
Főbb megvalósítások Lisaac
Befolyásolva Smalltalk , Self , Eifel
Engedély GNU GPL 3
Weboldal lisaac.org

A Lisaac  az első lefordított objektum-orientált programozási nyelv , amely a prototípusok koncepcióján alapul , és támogatja a rendszerprogramozást és a szerződéses programozást .

A Lisaac-ot az Isaac operációs rendszer megírására tervezték .

A Lisaac fordító optimalizált ANSI C kódot állít elő, amely bármilyen platformon lefordítható, amelyhez van C fordító , így a Lisaac programok hordozhatóak. Lehetőség van olyan gyors programok beszerzésére, mint a C [1] [2] nyelven írt programok .

Annak ellenére, hogy a nyelv erősen tipizált, nincs különbség a kód és az adatok között. Még a lefordított kód is megőrzi dinamikus tulajdonságait.

A legegyszerűbb kódpélda

Section Header + name := HELLO_WORLD; Section Public - main <- ( "Hello world\n".print; );

Dinamikus öröklődés

A szülőobjektum csak egy hely, amelynek értéke felülírható:

Szakaszfejléc - NÉV := DECOD_MPEG2_TO_SCREEN; Szakasz Öröklés - videó szülő : OBJECT <- ( + eredmény : TÁRGY; típus .when 1 then { result := WINDOW;} .when 2 then { result := VIDEO_VGA;} .when 3 then { result := VIDEO_TVOUT;}; eredmény ) Nyilvános szakasz - típus : INTEGER; -decode_stream <- ( putimage decode_to_bitmap; )

Operátorok újradefiniálása

A Lisaacban az operátor egy olyan slot, amelynek értéke újradefiniálható. Például határozzuk meg újra a „+” operátort a NUMERIC objektumhoz:

- '+' Balra 80 egyéb:SELF :SELF <- Self - -egyéb;

Vagy mátrixhoz:

- '+' bal 80 másik:SELF :SELF <- ( + eredmény : SELF; eredmény := SELF.create count; 1.to tab.count do { i : INTEGER; result.put (item i+other.item) i-re; }; eredmény )

Általános programozás

Általános objektumok biztosítottak :

TÖMB[E], SZÓTÁR[KEY,ÉRTÉK]

Szerződéses programozás

Szerződés programozás Z jelöléssel .

Külső linkek

Lábjegyzetek

  1. Isaac projekt benchmarkok (downlink) . Letöltve: 2007. július 24. Az eredetiből archiválva : 2007. november 12.. 
  2. Számítógépes nyelvi teljesítménymérő játék (lefelé mutató link) . Hozzáférés dátuma: 2008. július 8. Az eredetiből archiválva : 2012. március 19.