Pequeña implementación de javascript?
Necesito una implementación extremadamente pequeña de (tal vez un subconjunto de?) Javascript. El tamaño del código y el uso de la memoria son extremadamente importantes (la velocidad no está en la pregunta, puede correr tan lento como quiera). Debe estar escrito en C (no en C++), y eso también, ANSI C (las extensiones GCC están bien). Si se ejecuta en una VM sería mejor, porque tendré que escribir un compilador para ella. Alguna sugerencia?
EDITAR: Las dos respuestas que tengo parecen buenas, excepto:
SpiderMonkey se concentra mucho en hacer es más rápido, no me importa si es rápido en absoluto.
Quad-Wheel suena bien, excepto la actividad en él, y los comentarios de código son pocos (voy a portar esto a otra arquitectura si eso ayuda).
Entonces, cualquier otra respuesta sería genial. O, podría lanzar mi propia versión simplificada de JS (pero eso no suena divertido en absoluto)
10 answers
Duktape está escrito en C, con un enfoque en la portabilidad y la huella compacta: http://duktape.org /
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-14 21:21:07
Acabo de descubrir este rubí: https://github.com/gfwilliams/tiny-js
He estado buscando bastante tiempo para esto, ya que spidermonkey/v8 por lo general es bastante grande y viene con varias dependencias. Tiny-js es un portable 'ejecutar make y su hecho' - linux c-class. Perfectamente para si solo está buscando enlaces simples y prefiere javascript/c-syntax sobre lua / otros scriptinglanguages impresionantes.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-03 16:19:51
Un motor ANSI-C para ECMA-262: http://code.google.com/p/quad-wheel /
Mozilla SpiderMonkey también está escrito en C, pero probablemente a complejo y grande para usted?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-21 23:06:46
SpiderMonkey es la implementación de JavaScript en C de Mozilla.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-21 23:04:51
MuJS del Software Artifex podría ser otra opción para la implementación de JS/ES embebida.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-12-05 22:04:18
Usted debe mirar Jsi, que acaba de ser lanzado. Es muy pequeño, es un subconjunto de javascript, y está en C (derivado de quadwheel).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-30 13:19:51
Creo que el jsi del que está hablando es este: http://pdqi.com/cgi-bin/cgiwrap/pdqi/jsi.cgi/doc/tip/jsi/www/usingjsi.wiki
(No culpes no lo es... jeje)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-21 19:14:19
Http://jsish.org le redirigirá al sitio de acogida.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-13 19:40:33
Https://github.com/cesanta/v7 está diseñado para sistemas embebidos. Tiene una huella muy pequeña.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-15 07:15:11
¿Has mirado Jerrycript?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-13 07:49:51