Ir pieejams iegultais mruby 3.2 tulks

Ieviests mruby 3.2, iegultā tulka dinamiskajai objektorientētai programmēšanas valodai Ruby izlaišanai. Mruby nodrošina pamata sintakses saderību Ruby 3.x līmenī, izņemot atbalstu modeļu saskaņošanai (“case .. in”). Tulkam ir mazs atmiņas patēriņš, un tas ir vērsts uz Ruby valodas atbalsta iegulšanu citās lietojumprogrammās. Lietojumprogrammā iebūvētais tulks var izpildīt gan pirmkodu Ruby valodā, gan baitkodu, kas iegūts, izmantojot projekta izstrādāto kompilatoru “mrbc”. Mruby pirmkods tiek izplatīts saskaņā ar MIT licenci.

Jaunajā laidienā ir novērstas 19 ievainojamības, kas var izraisīt bufera pārpildes, nulles rādītāju atsauču vai piekļuvi atmiņai pēc atbrīvošanas, kad tulks apstrādā īpaši formatētu Ruby kodu.

Ar drošību nesaistītas izmaiņas ietver:

  • Atbalsts anonīmu argumentu nodošanai (*, **, &),
  • Atbalsts lieliem veseliem skaitļiem (mruby-bigint).
  • Atbalsts kompilētu bināro failu lejupielādei ar paplašinājumu ".mrb".
  • Pievienojot opciju "--no-optimize", lai atspējotu optimizāciju mrbc kompilatorā.
  • Metožu Class#subclasses un Module#undefined_instance_methods ieviešana mruby-class-ext.
  • Jaunas iebūvētās bibliotēkas mruby-errno, mruby-set, mruby-dir un mruby-data.

Avots: opennet.ru

Pievieno komentāru