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. ) |
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.
Section Header + name := HELLO_WORLD; Section Public - main <- ( "Hello world\n".print; );
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; )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 objektumok biztosítottak :
TÖMB[E], SZÓTÁR[KEY,ÉRTÉK]Szerződés programozás Z jelöléssel .