Pandan devlopman vèsyon 3.0 langaj pwogram Nim, travay ap fèt sou yon konpilatè ajou ki sèvi ak fòma entèmedyè NIF (Nim Intermediate Format). Nouvo konpilatè a pral rezoud plizyè pwoblèm teknik, tankou amelyore konpilasyon incrÊmentielle ak senplifye jesyon depandans ant modil yo. Dat lage pou Nim 3.0 poko detèmine.
Dapre spesifikasyon NIF ki te pibliye nan depo pwojè a, nouvo fòma a pèmèt kòd yo dwe estoke kòm yon pyebwa sentaks abstrè (AST), separe espas non pou konstriksyon entegre ak non koutim. Sa a bay fleksibilite lè ajoute nouvo mo kle epi senplifye entegrasyon ak zouti devlopman.
Nim 3.0 du pral divize an plizyè etap:
- Nifler - konvèti kòd sous Nim nan NIF, pran an kont dosye konfigirasyon.
- Nimony - analiz semantik, ki gen ladan tcheke kalite ak rezolisyon macro.
- Hexer - optimize kòd, ki gen ladan iteratè inlining ak sipò jesyon memwa (ARC/ORC).
- NIFC - jenerasyon kòd pou C/C++, pran an kont karakteristik platfòm sib la.
Gwo amelyorasyon yo enkli:
- Asanble enkreman, ki akselere konpilasyon lè yo fè chanjman pasyèl nan kòd.
- Elimine nesesite pou pre-deklarasyon pwosedi ak kalite yo.
- Sipò pou depandans siklik ant modil yo.
- Tape tcheke pou jenerik nan etap konpilasyon an.
- Koreksyon erè faz konpilasyon, tankou apèl kòrèk destriktè yo.
Spesifikasyon la tou note ke NIF magazen enfòmasyon sou pozisyon eleman kòd yo (liy ak nimewo kolòn), ki senplifye debogaj ak entegrasyon ak IDE la.
Lang Nim konsantre sou rezoud pwoblèm pwogramasyon sistèm yo, li sèvi ak sezisman estatik e li te kreye ak yon je sou lang tankou Python, Ada ak Modula. Kòd sous Nim konpile nan yon reprezantasyon C, C++, Objective-C, oswa JavaScript. Imedyatman, kòd C/C++ ki kapab lakòz yo konpile nan yon dosye ègzèkutabl lè l sèvi avèk nenpòt du ki disponib (clang, gcc, icc, Visual C++), ki pèmèt ou reyalize pèfòmans tou pre C, si ou pa pran an kont depans pou kouri pèseptè fatra a. Menm jan ak Python, Nim itilize endentasyon kòm delimiter blòk. Zouti metaprogramasyon ak kapasite pou kreye lang espesifik domèn (DSL) yo sipòte. Kòd pwojè a bay anba lisans MIT.
Sous: opennet.ru
