Beágyazott mruby 3.2 tolmács elérhető

Bevezette az mruby 3.2 kiadását, amely a Ruby dinamikus objektum-orientált programozási nyelv beágyazott értelmezője. A Mruby alapvető szintaktikai kompatibilitást biztosít Ruby 3.x szinten, kivéve a mintaillesztés támogatását ("case .. in"). A tolmács alacsony memóriafelhasználással rendelkezik, és a Ruby nyelvi támogatás más alkalmazásokba való beágyazására összpontosít. Az alkalmazásba épített interpreter a Ruby nyelvű forráskódot és a projekt által kifejlesztett „mrbc” fordító segítségével kapott bájtkódot egyaránt képes végrehajtani. A mruby forráskódot az MIT licence alatt terjesztik.

Az új kiadás 19 biztonsági rést javít, amelyek puffer túlcsorduláshoz, nullmutató hivatkozásokhoz vagy memória-hozzáféréshez vezethetnek a felszabadulás után, amikor az értelmező speciálisan formázott Ruby-kódot dolgoz fel.

A nem biztonsági változtatások a következők:

  • Névtelen argumentumok átadásának támogatása (*, **, &),
  • Nagy egész számok támogatása (mruby-bigint).
  • Lefordított bináris fájlok letöltésének támogatása ".mrb" kiterjesztéssel.
  • A „--no-optimize” opció hozzáadása az optimalizálás letiltásához az mrbc fordítóban.
  • Class#subclasses és Module#undefined_instance_methods metódusok megvalósítása az mruby-class-ext fájlban.
  • Új beépített könyvtárak mruby-errno, mruby-set, mruby-dir és mruby-data.

Forrás: opennet.ru

Hozzászólás