first capital javascript c compiler-construction

capital - Convierte código JavaScript a código c



title case javascript (5)

¿Hay alguna forma de convertir el código C a JavaScript y de JavaScript a C? Encontré el V8 juice que puede generar clases de JavaScript-side desde C ++, pero es solo una forma (C ++ a JavaScript).

No estoy buscando un software.


¿Por qué convertir cuando simplemente puede incrustar?

https://code.google.com/p/v8/ "V8 puede ejecutarse de manera independiente o puede integrarse en cualquier aplicación C ++".

Al estar integrado en una aplicación C ++, permite que JavaScript acceda a cualquier sistema al que tenga acceso la aplicación C ++, eliminando la necesidad de convertir en primer lugar. Sin embargo, limitaría lo que tiene acceso un tanto por razones de seguridad. Los navegadores web son obviamente la forma más destacada de JavaScript incrustado en una aplicación C ++. Tal como lo implica el nombre, JavaScript es un lenguaje de scripting, no destinado a compilarse en código ensamblador / máquina como el código C.


El lenguaje C puede hacer muchísimo más cosas que el motor javascript o v8 no puede hacer, específicamente el programa del sistema, como administración de memoria, acceso directo a memoria, interrupciones, código de ensamblaje, administración de subprocesos. Por lo tanto, no es posible convertir c en javascript a menos que sea un código muy simple sin parte del código del sistema. Con nodeJS (no v8 javascript) junto con el código del contenedor del sistema, realice algunas de las funciones de nivel del sistema. De nuevo, es una parte compleja de la conversión. Incluso si podemos convertir este código simple, la ejecución de javascript c y convertido difiere ya que está basado en el motor v8.

Es posible convertir javascript en C. Porque C puede manejar virtualmente cualquier cosa de ejecución incluyendo la de intérpretes.


Es posible traducir un subconjunto de JavaScript a Lua usando Castl , y luego traducir el código Lua a C usando lua2c .

Alternativamente, podría ser posible compilar JavaScript en Python , y luego convertir el código fuente de Python en C usando el compilador RPython. Como RPython es un subconjunto de Python, esto debería permitir que un subconjunto de JavaScript se traduzca a C.

También hay un compilador llamado ts2c , que aparentemente es capaz de traducir JavaScript y el código fuente de TypeScript en C.



Muy, muy complicado --- Javascript es un lenguaje muy dinámico donde prácticamente todo se puede cambiar en tiempo de ejecución: nombres de variables, funciones, tipos, etc. Como tal, se correlaciona muy mal con C. Y eso ni siquiera está considerando la eval() , que le permitirá construir fragmentos arbitrarios de Javascript en cadenas y ejecutarlos.

Cualquier traductor de Javascript tendría que ser capaz de hacer frente a esas cosas, lo que significa que tendría que traducir el Javascript en C en tiempo de ejecución, lo que lo convierte en un JIT, que ya está utilizando.

En su lugar, puede buscar escribir enlaces C para Javascript. Esto permitirá que su código de Javascript llame al código C y viceversa. Esto permitiría a las personas escribir complementos en C, compilarlos en .so bibliotecas compartidas, que ahora puede cargar y ejecutar desde su código JavaScript. Esto significa que no necesita traducir nada.

Javascript no es mi área, así que no puedo recomendar ningún mecanismo en particular, me temo, pero me sorprendería mucho si V8Juice, que ya has encontrado, no te dejara hacer esto.