Нашри забони барномасозии Nim 1.2.0

муаррифӣ карда шуд нашри забони барномасозии система Ним 1.2. Забони Ним чопкунии статикиро истифода мебарад ва бо таваҷҷӯҳ ба Pascal, C++, Python ва Lisp сохта шудааст. Рамзи сарчашмаи Nim ба намояндагии C, C++ ё JavaScript тартиб дода мешавад. Баъдан, рамзи C/C++ дар натиҷа бо истифода аз ҳама гуна компилятори дастрас (clang, gcc, icc, Visual C++) ба файли иҷрошаванда тартиб дода мешавад, ки ба шумо имкон медиҳад, ки ба нишондиҳандаҳои наздик ба C ноил шавед, агар шумо хароҷоти иҷрошударо ба назар нагиред. чамъкунандаи ахлот. Ба монанди Python, Nim абзорро ҳамчун ҷудокунандаи блок истифода мебарад. Воситаҳои метабарномасозӣ ва қобилиятҳо барои эҷоди забонҳои мушаххаси домен (DSLs) дастгирӣ карда мешаванд. Рамзи лоиҳа таъмин карда мешавад таҳти иҷозатномаи MIT.

Тағироти назаррас дар версияи нав иборатанд аз:

  • Коркарди нави хошоктайёркуниро ба амал овард ARC (“-gc:arc”).
  • Дар модули "шакар"Иловашуда макросҳои нав ҷамъоварӣ, нусхабардорӣ ва забт.
  • Макроси нави "бо" илова карда шуд.
  • Қисми зиёди зангҳои нав ба китобхонаи стандартӣ илова карда шуданд, аз ҷумла strformat.fmt, strtabs.clear, browsers.osOpen, typetraits.tupleLen, typetraits.genericParams, os.normalizePathEnd, times.fromUnixFloat, os.isRelativeTo, times.isLeapD , net.getPeerCertificates, jsconsole.trace, jsconsole.table, jsconsole.exception, sequtils.countIt ва ғайра.
  • Модулҳои нави std/stackframes ва std/compilesettings илова карда шуданд.
  • Опсияҳои "—asm" (барои таҳлили рамзи монтажи тавлидшуда) ва "-panics:on" барои баромадани маҷбурӣ дар хатогиҳои IndexError ва OverflowError ба компилятор илова карда шуданд, бе имкони боздоштани коркардкунандаи "саниш".
  • Муайянкунии мукаммали фаромадани эҳтимолии буфер.

Манбаъ: opennet.ru

Илова Эзоҳ