Itusilẹ ti ẹrọ JavaScript ti a fi sinu Duktape 2.4.0

atejade Itusilẹ ẹrọ JavaScript Duktape 2.4.0, Eleto ni ifibọ sinu koodu mimọ ti ise agbese ni C/C ++ ede. Enjini jẹ iwapọ ni iwọn, gbigbe ga julọ ati agbara awọn orisun kekere. Awọn koodu orisun ti awọn engine ti kọ sinu C ati tànkálẹ labẹ iwe-aṣẹ MIT.

Koodu Duktape gba to 160 kB ati pe o jẹ 70 kB ti Ramu nikan, ati ni ipo agbara iranti kekere 27 kB ti Ramu. Lati ṣepọ Duktape sinu C/C++ koodu jẹ to fi awọn faili duktape.c ati duktape.h si ise agbese na, ati lilo Duktape API lati pe JavaScript awọn iṣẹ lati C/C ++ koodu tabi idakeji. Lati gba awọn nkan ti a ko lo laaye lati iranti, a ti lo ikojọpọ idọti pẹlu olupilẹṣẹ, ti a ṣe lori ipilẹ ti apapo alugoridimu kika ọna asopọ pẹlu isamisi algorithm (Mark ati Sweep). A lo ẹrọ naa lati ṣe ilana JavaScript ni ẹrọ aṣawakiri NetSurf.

Pese ni kikun ibamu pẹlu Ecmascript 5.1 ni pato ati apa kan atilẹyin Ecmascript 2015 ati 2016 (E6 ati E7), pẹlu atilẹyin ohun elo Aṣoju fun agbara ohun-ini, Awọn ọna Titẹ, ArrayBuffer, Node.js Buffer, API fifi koodu, Ohun aami, ati bẹbẹ lọ. O pẹlu yokokoro ti a ṣe sinu, ẹrọ ikosile deede, ati eto abẹlẹ kan fun atilẹyin Unicode. A tun pese awọn amugbooro kan pato, gẹgẹbi atilẹyin coroutine, ilana iwọle ti a ṣe sinu, ẹrọ ikojọpọ module ti o da lori CommonJS, ati eto caching bytecode ti o fun ọ laaye lati fipamọ ati fifuye awọn iṣẹ ṣiṣe akojọpọ.

Ninu itusilẹ tuntun imuse awọn ipe tuntun si duk_to_stacktrace () ati duk_safe_to_stacktrace () lati gba awọn itọpa akopọ, duk_push_bare_array () lati ṣafikun awọn apẹẹrẹ akojọpọ ominira. Awọn iṣẹ duk_require_constructable () ati duk_require_constructor_call () ti ṣe gbangba. Imudara ibamu pẹlu ES2017 sipesifikesonu. Ṣiṣẹ pẹlu awọn akojọpọ ati awọn nkan ti jẹ iṣapeye. Ṣafikun aṣayan “-no-auto-complete” si wiwo CLI duk lati mu pipari titẹ sii.

orisun: opennet.ru

Fi ọrọìwòye kun