إصدار لغة البرمجة نيم 1.2.0

مقدم من إصدار لغة برمجة النظام نيم 1.2. تستخدم لغة Nim الكتابة الثابتة وقد تم إنشاؤها مع التركيز على Pascal وC++ وPython وLisp. يتم تجميع كود مصدر Nim في تمثيل C أو C++ أو JavaScript. بعد ذلك، يتم تجميع كود C/C++ الناتج في ملف قابل للتنفيذ باستخدام أي مترجم متاح (clang، gcc، icc، Visual C++)، مما يسمح لك بتحقيق أداء قريب من C، إذا لم تأخذ في الاعتبار تكاليف التشغيل جامع القمامة. كما هو الحال مع بايثون، يستخدم Nim المسافة البادئة كمحددات للكتل. يتم دعم أدوات وإمكانات البرمجة الفوقية لإنشاء لغات خاصة بالمجال (DSL). رمز المشروع زودت بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.

تشمل التغييرات الملحوظة في الإصدار الجديد ما يلي:

  • نفذت جامع القمامة الجديد ARC ("-GC: قوس").
  • في الوحدة "السكر"تمت إضافة وحدات ماكرو جديدة للتجميع والنسخ والتقاط.
  • تمت إضافة ماكرو جديد "مع".
  • تمت إضافة جزء كبير من الاستدعاءات الجديدة إلى المكتبة القياسية، بما في ذلك strformat.fmt، strtabs.clear، browsers.osOpen، typetraits.tupleLen، typetraits.genericParams، os.normalizePathEnd، times.fromUnixFloat، os.isRelativeTo، times.isLeapDay ، net.getPeerCertificates، jsconsole.trace، jsconsole.table، jsconsole.exception، sequtils.countIt، إلخ.
  • تمت إضافة وحدات نمطية جديدة std/stackframes وstd/compilesettings.
  • تمت إضافة الخيارات "—asm" (لتحليل كود التجميع الذي تم إنشاؤه) و"-panics:on" للخروج القسري من أخطاء IndexError وOverflowError إلى المترجم، دون إمكانية اعتراضها بواسطة معالج "try".
  • تحسين الكشف عن تجاوزات المخزن المؤقت المحتملة.

المصدر: opennet.ru

إضافة تعليق