Διατίθεται ενσωματωμένος διερμηνέας mruby 3.2

Παρουσίασε την κυκλοφορία του mruby 3.2, ενός ενσωματωμένου διερμηνέα για τη δυναμική αντικειμενοστραφή γλώσσα προγραμματισμού Ruby. Το Mruby παρέχει βασική συντακτική συμβατότητα σε επίπεδο Ruby 3.x, με εξαίρεση την υποστήριξη για αντιστοίχιση μοτίβων ("περίπτωση .. in"). Ο διερμηνέας έχει χαμηλή κατανάλωση μνήμης και επικεντρώνεται στην ενσωμάτωση της υποστήριξης της γλώσσας Ruby σε άλλες εφαρμογές. Ο διερμηνέας που είναι ενσωματωμένος στην εφαρμογή μπορεί να εκτελέσει τόσο τον πηγαίο κώδικα στη γλώσσα Ruby όσο και τον bytecode που λαμβάνεται χρησιμοποιώντας τον μεταγλωττιστή «mrbc» που αναπτύχθηκε από το έργο. Ο πηγαίος κώδικας mruby διανέμεται υπό την άδεια του MIT.

Η νέα έκδοση διορθώνει 19 ευπάθειες που μπορεί να οδηγήσουν σε υπερχείλιση buffer, μηδενικές παραπομπές δείκτη ή πρόσβαση στη μνήμη μετά την ελεύθερη πρόσβαση όταν ο διερμηνέας επεξεργάζεται ειδικά διαμορφωμένο κώδικα Ruby.

Οι αλλαγές που δεν αφορούν την ασφάλεια περιλαμβάνουν:

  • Υποστήριξη για τη μετάδοση ανώνυμων ορισμάτων (*, **, &),
  • Υποστήριξη για μεγάλους ακέραιους αριθμούς (mruby-bigint).
  • Υποστήριξη για λήψη μεταγλωττισμένων δυαδικών αρχείων με την επέκταση ".mrb".
  • Προσθήκη επιλογής "--no-optimize" για απενεργοποίηση βελτιστοποιήσεων στον μεταγλωττιστή mrbc.
  • Υλοποίηση μεθόδων Class#subclasses και Module#undefined_instance_methods στο mruby-class-ext.
  • Νέες ενσωματωμένες βιβλιοθήκες mruby-errno, mruby-set, mruby-dir και mruby-data.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο