{"id":297,"date":"2015-11-02T09:33:25","date_gmt":"2015-11-02T07:33:25","guid":{"rendered":"http:\/\/blog.teleranek.org\/?p=297"},"modified":"2025-06-29T12:29:13","modified_gmt":"2025-06-29T10:29:13","slug":"javascript-engine-in-javascript","status":"publish","type":"post","link":"https:\/\/blog.teleranek.org\/?p=297","title":{"rendered":"JavaScript engine in JavaScript"},"content":{"rendered":"<p>Very useless post.<\/p>\n<p>I&#8217;ve ported <a href=\"http:\/\/duktape.org\"><strong>duktape<\/strong><\/a> javascript engine to javascript (using emscripten). No js interface for it, so you gotta call methods like this:<br \/>\n<code><br \/>\nvar result = Module.ccall('functionName' \/*name of C function*\/,<br \/>\n'number|string' \/*return type*\/,<br \/>\n['number|string',...]\/*arg types*\/, [666] \/*args*\/);<br \/>\n<\/code><\/p>\n<p>The API documentation is available at duktype site.<\/p>\n<p><a target=\"_blank\" title=\"DEMO\" href=\"https:\/\/dl.dropboxusercontent.com\/u\/1268089\/dux\/index.html\" rel=\"noopener noreferrer\">DEMO<\/a><\/p>\n<p>source:\u00a0<a href=\"https:\/\/dl.dropboxusercontent.com\/u\/1268089\/dux\/dux.js\">dux.js<\/a><\/p>\n<p>This can be used when eval is forbidden, or when we want to analyse js execution more closely.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Very useless post. I&#8217;ve ported duktape javascript engine to javascript (using emscripten). No js interface for it, so you gotta call methods like this: var result = Module.ccall(&#8216;functionName&#8217; \/*name of C function*\/, &#8216;number|string&#8217; \/*return type*\/, [&#8216;number|string&#8217;,&#8230;]\/*arg types*\/, [666] \/*args*\/); The API documentation is available at duktype site. DEMO source:\u00a0dux.js This can be used when eval [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[97,96,88,98],"class_list":["post-297","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-duktape","tag-emscripten","tag-javascript","tag-javascript-engine"],"_links":{"self":[{"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/posts\/297","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297"}],"version-history":[{"count":7,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/posts\/297\/revisions"}],"predecessor-version":[{"id":344,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=\/wp\/v2\/posts\/297\/revisions\/344"}],"wp:attachment":[{"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=297"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.teleranek.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=297"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}